(shard engine: ReplacingMergeTree) часть строк суммируется 2 и более раз.
Возможно ли избавится от дубликатов?
Нужно ли переходить на ReplicatedReplacingMergeTree в исходной таблице?
CREATE MATERIALIZED VIEW test_mv
ON CLUSTER default_cluster
ENGINE = ReplicatedSummingMergeTree(
'/clickhouse/tables/global/test_mv',
'{hostname}'
)
PARTITION BY toYYYYMM(date)
ORDER BY (name, date)
POPULATE
AS
SELECT
name,
toDate(dt) as date,
sum(sign*value) as score
FROM initial_table
GROUP BY (name, date);
MV это триггер на инсерт, она не знает какой движок у исходной таблицы, и получает данные команды инсерт, MV не читает таблицу исходную, можно сделать исходную таблицу Engine=Null (всегда пустая) и MV будет также работать как и раньше. Поэтому если вы сделали инсерт сто раз и проинсертили одно и тоже, MV получит от инсерта 100 раз, и умножит на 100
Обсуждают сегодня