【发布时间】:2018-12-17 10:42:35
【问题描述】:
我在一个 Kafka 主题中有这样的数据:
{..., fields: { "a": "aval", "b": "bval" } }
如果我创建一个 Kafka Engine 表,在使用这样的字段定义时会出现错误:
fields String
因为它(正确地)不将其识别为字符串:
2018.07.09 17:09:54.362061 [ 27 ] <Error> void DB::StorageKafka::streamThread(): Code: 26, e.displayText() = DB::Exception: Cannot parse JSON string: expected opening quote: (while read the value of key fields): (at row 1)
由于 ClickHouse 目前没有 Map 或 JSONObject 类型,如果我事先不知道内部字段的名称(“a”或“ b" 在示例中 - 所以我看不到嵌套结构有帮助)?
【问题讨论】:
-
您是否尝试过删除原始 JSON 字符串的所有中间空格? iirc,Clickhouse JSON 解析器不允许这样做。
-
抱歉,为了清晰起见,只是添加了空格。 Kafka 消息中的数据实际上是紧凑打印的。
标签: json apache-kafka clickhouse