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 ответов

11 просмотров

У вас поле называется в таблице 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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта