MV в следующем случае.
Имеется топик с 50 партициями(партиции с ключом) и 1 хост CLickhouse. Ключ сортировки в целевой таблице соответствует по префиксу ключу партициирования в Kafka.
Если создаю kafka engine с количеством consumer-ов 1, как будут формироваться блоки для вставки?
И как будет работать вставка и параметр max_insert_block_size, для каждого из Consumer-ов, если их больше 1?
ну вообще никак не учитывается, и не будет учитываться ваш ключ партиций. Чего хотелось-то? max_insert_block_size на кафку уже давно не влияет, там др. параметры.
В партициях кафки по факту отсортированные по order by данные. Думал можно ли это как-то использовать, чтобы количество слияний уменьшить и их облегчить.
слияния не сортируют данные, кол-во слияний зависит от того как часто флашатся данные из топика. Это настраивается параметрами кафки. То что данные уже отсортированы инсерт видит по самим сортированным данным (не нужны никакие подзказки), и использует это.
Спасибо. Только вот про параметры не понял, в последней доке они есть. Я понял для себя по итогу, что max_insert_block_size, stream_flush_interval_ms влияют на то каков будет размер вставляемого блока в таблицу, а на то как этот блок сформирует consumer можно повлиять через расширенную конфигурацию librdkafka.
kafka_max_block_size: Number of rows collected by poll(s) for flushing data from Kafka вот тут посмотрите https://github.com/ClickHouse/ClickHouse/pull/11388 доку не обновляли скорее всего
Обсуждают сегодня