Clickhouse版本21.12.3.32。我m following this PR([https://github.com/ClickHouse/ClickHouse/pull/21850](https://github.com/ClickHouse/ClickHouse/pull/21850)) to handle incorrect messages from kafka topic, but after some investigation I发现,如果单个消息包含损坏的数据,则无法解析整批接收到的消息,并可能导致数据丢失。
卡夫卡发动机表:
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主题收到的批次中的其他消息?
发布于 2022-03-16 20:16:49
将kafka_format改为RawBLOB解决了我的问题。
https://stackoverflow.com/questions/71500019
复制相似问题