在ksql中,可以使用 EXTRACTJSONFIELD
对于嵌套结构,但我不知道如何处理可变长度列表。例如:
{"id":1,"quux":[{"x":1,"y":2},{"x":3,"y":4},{"x":5,"y":6}]}
我能应付 quux
作为基本流的varchar,
create stream mystream (id bigint, quux varchar)
with (kafka_topic='mytopic', value_format='json')
但我想把它变成一张table:
quuxid x y
1 1 2
1 3 4
1 5 6
如何处理ksql中的可变长度列表?
1条答案
按热度按时间piok6c0g1#
这在ksql中目前是不可能的。
如您所见,您可以通过索引访问数组数据,具体如下:填充测试数据:
检查ksql中的消息:
创建流:
查询流:
创建流
array
:按索引访问单个项目:
但你要找的是
EXPLODE
函数,它在ksql中还不存在。相关github问题:
https://github.com/confluentinc/ksql/issues/1324
https://github.com/confluentinc/ksql/issues/527
https://github.com/confluentinc/ksql/issues/1413 (我刚刚看到你已经登录了,谢谢你:)