184 похожих чатов

Кто нибудь сталкивался с такой проблемой? При записи в MATERIALIZED

VIEW

CREATE MATERIALIZED VIEW tracking_hour
(
`date` Date,
`datetime` DateTime,
`appId` String,
`event` UInt32,
`priceId` UInt32,
`bannerId` UInt32,
`count` AggregateFunction(count, String),
`uniq` AggregateFunction(uniq, String),
`avgBid` AggregateFunction(avg, Nullable(Float64)),
`maxBid` AggregateFunction(max, Nullable(Float64))
)
ENGINE = AggregatingMergeTree()
ORDER BY (date, datetime, appId, event, priceId, bannerId)
AS
SELECT toDate(datetime) AS date,
toStartOfHour(datetime) AS hour,
appId,
event,
priceId,
bannerId,
countState(uuidId) AS count,
uniqState(uuidId) AS uniq,
avgState(bid) AS avgBid,
maxState(bid) AS maxBid
FROM tracking_distributed
GROUP BY date,
hour,
appId,
event,
priceId,
bannerId;

Вот такого вида, datetime который внутри агрегатной таблицы всегда 1970 год, 0 секунд с начала эпохи. При этом селект которым наполняется таблица выдает правильные значения

4 ответов

6 просмотров

У вас поле называется в таблице datetime а в селекте hour . MV заполняется по именам полей. Плюс вы можете сильно сэкономить на state. Теперь можно использовать simpleaggregatefunction

Denny [Altinity]
У вас поле называется в таблице datetime а в селек...

Правильно понимаю, что simpleAggregateFunction лучше чем простой AggregateFunction во всех случаях и на него можно мало-помалу переезжать? Или есть отличительные случаи когда лучше использовать одно, а иногда другое?

Илья Максимов
Правильно понимаю, что simpleAggregateFunction луч...

Эм, так это не полная замена. Это только для простых функций которым не нужен state, типа sum да, avg нет. Плюс countstate хранится хитро и нужно кодеки использовать чтобы sum сохранить похоже https://github.com/ClickHouse/ClickHouse/issues/17775#issuecomment-738874115

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Привет, запускаю werf в dind в k8s, получаю ошибку на этапе build/beforeSetup: /.werf/stapel/embedded/bin/bash: /.werf/scripts/5898bdfe5214357d3706b879cc8d3d78460fb379607cbd...
florius0
7
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
32
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
Карта сайта