如何从KSQL转换响应-UDF将JSON数组返回到列

时间:2018-09-18 16:47:39

标签: apache-kafka ksql

我有一个名为getCityStats(字符串城市,双倍距离)的自定义UDF,它带有2个参数并按如下所示返回JSON字符串(对象)数组

{"zipCode":"90921","mode":3.54}
{"zipCode":"91029","mode":7.23}
{"zipCode":"96928","mode":4.56} 
{"zipCode":"90921","mode":6.54}
{"zipCode":"91029","mode":4.43}
{"zipCode":"96928","mode":3.96}

我想在KSQL表创建查询中对它们进行处理

create table city_stats
as
select 
 zipCode,
 avg(mode) as mode
from 
 (select 
     getCityStats(city,distance) as (zipCode,mode)
  from 
     city_data_stream
 ) t 
group by zipCode;

换句话说,KSQL是否可以处理元组类型,在该元组类型中可以处理Json字符串数组以返回表创建查询中的上述指示?

1 个答案:

答案 0 :(得分:0)

否,KSQL当前不支持您建议的语法。尽管KSQL可以使用数组,但它不支持任何种类的爆炸功能,因此您只能在数组中引用特定的索引点。

请酌情查看和评论以下问题:#527#1830,或者实际上raise your own,如果它们没有涵盖您想要做的事情。