我有一个Kafka主题数据,结构如下:
{ property1:value1,
property2:value2,
property3: [
{
subprop1:subval11,
subprop2:subval12,
subprop3:subval13
},
{
subprop1:subval21,
subprop2:subval22,
subprop3:subval23
},
...
]
}
在ksql文档中,我可以用列的数组格式声明流或表,但是,当我创建流时,我需要循环这个数组。
我的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
但这只给了我第一个数组元素-我需要循环得到所有数组元素。有什么建议吗?
1条答案
按热度按时间vbopmzt11#
ksql目前不支持这个。你可以在这里投票/评论这个问题。