KSQL-遍历JSON数组

时间:2019-02-07 05:23:22

标签: apache-kafka ksql

我有一个具有以下结构的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

但是那只给了我第一个数组元素-我需要遍历以获得所有数组元素。有指针吗?

1 个答案:

答案 0 :(得分:1)

KSQL当前不支持此功能。您可以对问题here进行投票/评论。