Clickhouse: обработка ошибок неработающих сообщений kafka

Clickhouse версии 21.12.3.32. Я следую этому PR(https://github.com/ClickHouse/ClickHouse/pull/21850) для обработки неправильных сообщений из темы kafka, но после некоторого исследования я обнаружил, что если одно сообщение содержит неверные данные, весь пакет полученных сообщений не может быть проанализирован, и это может привести к потере данных. .

Таблица двигателей Кафки:

CREATE TABLE default.kafka_engine (message String) 
ENGINE = Kafka
SETTINGS
  kafka_broker_list = 'kafka:9092',
  kafka_topic_list = 'topic',
  kafka_group_name = 'group',
  kafka_format = 'JSONAsString',
  kafka_row_delimiter = '\n',
  kafka_num_consumers = 1,
  kafka_handle_error_mode ='stream';

Пример неработающего сообщения: [object Object]

Ошибка в первом сообщении: JSON object must begin with '{'.: (at row 1). Ошибка других сообщений: Cannot parse input: expected ']' at end of stream..

Можно ли пропустить только это сломанное сообщение и правильно проанализировать другие сообщения в пакете, полученном из темы кафки?

Построение конвейеров данных в реальном времени с Apache Kafka: Руководство по Python
Построение конвейеров данных в реальном времени с Apache Kafka: Руководство по Python
Apache Kafka - популярная платформа распределенной потоковой передачи данных, которую можно использовать для построения конвейеров данных в реальном...
0
0
36
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Изменение kafka_format на RawBLOB устранило мою проблему.

Другие вопросы по теме