我有一个具有以下结构的kafka主题数据:
{ property1:value1,
property2:value2,
property3: [
{
subprop1:subval11,
subprop2:subval12,
subprop3:subval13
},
{
subprop1:subval21,
subprop2:subval22,
subprop3:subval23
},
...
]
}
在KSQL文档中,我可以为列声明ARRAY格式的流或表,但是,当我创建流时,需要遍历此数组。
我的KSQL输出应为:
PropertyID1 |subprop1 | subprop2 | subprop3
Value1 |subval11 | subval12 | subval13
Value1 |subval21 | subval22 | subval23
那么我的create stream函数应该是什么样的?
到目前为止,我有:
CREATE STREAM testarrayjsonstream \
(property1 VARCHAR, \
property3 ARRAY) \
WITH (KAFKA_TOPIC='topic1', \
VALUE_FORMAT='AVRO');
然后我可以做:
Create Stream testarrayjsontopic as \
select property1,property3[0]->subprop1 from testarrayjsonstream
但是那只给了我第一个数组元素-我需要遍历以获得所有数组元素。有指针吗?