Flink1.10怎么样定义kafka中消息为json数组对象的情况

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Flink1.10怎么样定义kafka中消息为json数组对象的情况

云长
hi,all:    
     网上有非常多的资料显示Flink SQL怎样定义嵌套的json属性以及json中某个属性为json数组的示例,
     但是对于整个消息为一个数组(json array)的应该怎么处理?
     json示例如下:
[
    {
        "a": "1",
        "b": 2
    }
]
Reply | Threaded
Open this post in threaded view
|

Re: Flink1.10怎么样定义kafka中消息为json数组对象的情况

Benchao Li
这个好像还不太能支持。

你的需求是需要把这一条消息解析成多个record么?

Oliver <[hidden email]> 于2020年4月24日周五 下午4:27写道:

> hi,all:
>      网上有非常多的资料显示Flink SQL怎样定义嵌套的json属性以及json中某个属性为json数组的示例,
>      但是对于整个消息为一个数组(json array)的应该怎么处理?
>      json示例如下:
> [
>     {
>         "a": "1",
>         "b": 2
>     }
> ]



--

Benchao Li
School of Electronics Engineering and Computer Science, Peking University
Tel:+86-15650713730
Email: [hidden email]; [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Flink1.10怎么样定义kafka中消息为json数组对象的情况

云长
> 你的需求是需要把这一条消息解析成多个record么?
是的,之前使用Flink 1.8时是通过自定义UDTF结合LATERAL TABLE(My_EXPLODE(__message)) as T(msg),其中__message存放着kafka的整条消息,My_EXPLODE是自定义UDTF负责解析成多个record

flink-sql-connector-kafka插件是否也不支持获取整行消息?,比如以字符串的形式读取[{"a":"1","b":2,"obj":{"c":"3"}}]到__message


> 2020年4月24日 下午4:41,Benchao Li <[hidden email]> 写道:
>
> 这个好像还不太能支持。
>
> 你的需求是需要把这一条消息解析成多个record么?
>
> Oliver <[hidden email]> 于2020年4月24日周五 下午4:27写道:
>
>> hi,all:
>>     网上有非常多的资料显示Flink SQL怎样定义嵌套的json属性以及json中某个属性为json数组的示例,
>>     但是对于整个消息为一个数组(json array)的应该怎么处理?
>>     json示例如下:
>> [
>>    {
>>        "a": "1",
>>        "b": 2
>>    }
>> ]
>
>
>
> --
>
> Benchao Li
> School of Electronics Engineering and Computer Science, Peking University
> Tel:+86-15650713730
> Email: [hidden email]; [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Flink1.10怎么样定义kafka中消息为json数组对象的情况

Benchao Li
这个功能暂时还没有,FLIP-124[1] 之后应该是可以的。

[1]
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=148645988

oliver <[hidden email]> 于2020年4月24日周五 下午4:57写道:

> > 你的需求是需要把这一条消息解析成多个record么?
> 是的,之前使用Flink 1.8时是通过自定义UDTF结合LATERAL TABLE(My_EXPLODE(__message)) as
> T(msg),其中__message存放着kafka的整条消息,My_EXPLODE是自定义UDTF负责解析成多个record
>
>
> flink-sql-connector-kafka插件是否也不支持获取整行消息?,比如以字符串的形式读取[{"a":"1","b":2,"obj":{"c":"3"}}]到__message
>
>
> > 2020年4月24日 下午4:41,Benchao Li <[hidden email]> 写道:
> >
> > 这个好像还不太能支持。
> >
> > 你的需求是需要把这一条消息解析成多个record么?
> >
> > Oliver <[hidden email]> 于2020年4月24日周五 下午4:27写道:
> >
> >> hi,all:
> >>     网上有非常多的资料显示Flink SQL怎样定义嵌套的json属性以及json中某个属性为json数组的示例,
> >>     但是对于整个消息为一个数组(json array)的应该怎么处理?
> >>     json示例如下:
> >> [
> >>    {
> >>        "a": "1",
> >>        "b": 2
> >>    }
> >> ]
> >
> >
> >
> > --
> >
> > Benchao Li
> > School of Electronics Engineering and Computer Science, Peking University
> > Tel:+86-15650713730
> > Email: [hidden email]; [hidden email]
>
>

--

Benchao Li
School of Electronics Engineering and Computer Science, Peking University
Tel:+86-15650713730
Email: [hidden email]; [hidden email]