【发布时间】:2022-01-15 02:40:51
【问题描述】:
我有一个 Clickhouse 服务器,其中有一个带有嵌套字段和 kafka_handle_error_mode='stream',input_format_import_nested_json=1 设置的 Engine=Kafka 表和两个物化视图:
- 一个用于
_error=''的情况,它将数据存储到与Engine=Kafka表结构相同的底层表中 - 一个用于
_error!='',用于存储原始消息和错误,以防出现“错误”数据
问题是,当 clickhouse 从 kafka 获取具有不同嵌套列长度(例如 {"n":{"a":["1","2"], "b":["3"]}})的消息时,它会通过 Engine=Kafka 表而不生成 _error 并卡在表插入(并挂起整个保存循环),因为 Kafka 表不检查嵌套列的长度,但目标表会。
有一个flatten_nested=0 设置似乎改变了嵌套行为,但它需要不同的 json 结构,这对我来说是不可接受的。有解决办法吗?
【问题讨论】:
标签: clickhouse