моя ошибка.
Задача в материлизации был подсчет записей с одинаковым значением event
делаю по 20 инсертов, а у меня просто дополняются записи с cnt 20
CREATE table db_danila.dest
(dt_utc DateTime64(3, 'UTC') , event String, client_uuid UUID, cnt UInt64)
ENGINE = SummingMergeTree
PARTITION BY toYYYYMM(dt_utc)
ORDER BY (dt_utc, event, client_uuid)
CREATE MATERIALIZED VIEW db_danila.mv3
to db_danila.dest
as select dt_utc,event,client_uuid, count() as cnt
from db_danila.events_default_data
group by dt_utc, event, client_uuid
как сделать что бы была 1 запись и счетчик кол-во рос ? не только в рамках одного множественного инсерта
Слияния в *MergeTree таблицах происходят в фоне, а не сразу при вставке. Нужно либо запросы с FINAL делать, либо OPTIMIZE FINAL как рядом спрашивают, либо делать доагрегацию в самих запросах.
Обсуждают сегодня