ksql嵌套的json需要将密钥保存在多行中

lmvvr0a8  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(358)

以下是列度量中的示例数据:

{
   "data": "[{'val': '[{'TS': '52343223486', 'val': '[{ 'param': 'abc'}]'}, {'TS': '9876543234', 'val': '[{ 'param1': 'xyz'}]'}]}]"
}

我需要将每条记录填充到多行中。
结果:
韵律学

"{"TS": "52343223486", "val": "{ "param": "abc"}"}"
"{"TS": "98765432434", "val": "{ "param1": "xyz"}"}"

有什么疑问可以做到这一点吗?

jvlzgdj9

jvlzgdj91#

根据本文,您可以划分如下指标:

CREATE STREAM my_stream (
  data struct<
    val array<struct<
      ts varchar,
      val varchar
    >>
  >
) WITH (KAFKA_TOPIC='my_topic', VALUE_FORMAT='JSON');

SELECT EXPLODE(DATA->VAL) FROM my_stream EMIT CHANGES;

因此,您可以创建新的流,如:

CREATE STREAM my_metrics AS SELECT EXPLODE(DATA->VAL) EMIT FROM my_stream EMIT CHANGES;

p、 输入必须是有效的json,如:

{"data": {"val": [{"TS": "52343223486", "val": {"param": "abc"}}, {"TS": "9876543234", "val": {"param1": "xyz"}}]}}

相关问题