Clickhouse:kafka broken messages错误处理

Clickhouse: kafka broken messages error handling

Clickhouse 版本 21.12.3.32。我正在关注此 PR(https://github.com/ClickHouse/ClickHouse/pull/21850) 以处理来自 kafka 主题的错误消息,但经过一些调查后我发现如果一条消息包含损坏的数据,则无法解析整批接收到的消息,它可以导致数据丢失。

卡夫卡引擎table:

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..

是否可以只跳过那条损坏的消息并正确解析从 kafka 主题收到的一批消息中的其他消息?

将 kafka_format 更改为 RawBLOB 解决了我的问题。