плоскую таблицу которая будет заполняться разными сообщениями?
Например:
ENGINE = xxxMergeTree orders id, name, amount, tax ORDER BY id
MATERIALIZED VIEW name_mv … TO orders id, name
MATERIALIZED VIEW amount_mv … TO orders id, amount
MATERIALIZED VIEW tax_mv … TO orders id, tax
ENGINE = Kafka name_consumer id, name
ENGINE = Kafka amount_consumer id, amount
ENGINE = Kafka tax_consumer id, tax
Надо чтобы в результате все схлопнулось в одну строку по orders.id
я делаю через AggregatingMT. Примерно вот так: create table t ( id UInt64, name SimpleAggregateFunction(max, LowCardinality(String)), status SimpleAggregateFunction(max, Enum8 ('' = 0,'X'=1, 'N'=2,'A'=3)), group SimpleAggregateFunction(max, UInt64), start SimpleAggregateFunction(max, DateTime), details SimpleAggregateFunction(groupUniqArrayArray, Array(Tuple(String, UInt8))), table LowCardinality(String) ) engine = AggregatingMergeTree order by id; А если подписать кафку-консьюмер-MV сразу на несколько топиков, то заполнять такую табличку можно из единого MV через фукции JSONExtract используя schema-less подход.
спасибо, попробуем
Обсуждают сегодня