如何用Flink SQL的UDF优雅的拉平嵌套在json中的数组

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

如何用Flink SQL的UDF优雅的拉平嵌套在json中的数组

lonely Wanderer
案例背景:
想增加一个Flink(1.8)SQL 的UDF,解析如下json中的name字段,name的value是一个数组,想取数组第一个值(其他舍弃),并将其拉平(即没有嵌套,跟其他 (e.g.:appKey) 在同一级别)
源json:
{"appKey": "qq", "eventId": "18", "name" : [{"a":"jack","b":"mark","c":"tark"},{...},...]}
想得到的json:
{"appKey": "qq", "eventId": "18", "name_a":"jack","name_b":"mark","name_c":"tark"}
有人遇到过吗 ? 怎么能优雅的拉平呢 ?感谢各位!
Reply | Threaded
Open this post in threaded view
|

Flink可以用Canal对接Oracle么?

gaolanfang@hotmail.com
求教大家:


      Flink可以用Canal对接Oracle么?
     看到大多数架构都是用Canal对接 MySQL库,直接读binlog日志。



[hidden email]
 
发件人: lonely Wanderer
发送时间: 2020-06-23 23:33
收件人: user-zh
主题: 如何用Flink SQL的UDF优雅的拉平嵌套在json中的数组
案例背景:
想增加一个Flink(1.8)SQL 的UDF,解析如下json中的name字段,name的value是一个数组,想取数组第一个值(其他舍弃),并将其拉平(即没有嵌套,跟其他 (e.g.:appKey) 在同一级别)
源json:
{"appKey": "qq", "eventId": "18", "name" : [{"a":"jack","b":"mark","c":"tark"},{...},...]}
想得到的json:
{"appKey": "qq", "eventId": "18", "name_a":"jack","name_b":"mark","name_c":"tark"}
有人遇到过吗 ? 怎么能优雅的拉平呢 ?感谢各位!
Reply | Threaded
Open this post in threaded view
|

Re: Flink可以用Canal对接Oracle么?

Leonard Xu

Hello

Flink 1.11 会支持了读取CDC的功能,支持接入canal和debezuim的format的,1.11快要发布了,这是文档[1],可以参考。

Best,
Leonard Xu
[1] https://ci.apache.org/projects/flink/flink-docs-master/dev/table/connectors/formats/canal.html <https://ci.apache.org/projects/flink/flink-docs-master/dev/table/connectors/formats/canal.html>
Reply | Threaded
Open this post in threaded view
|

回复: Re: Flink可以用Canal对接Oracle么?

gaolanfang@hotmail.com
Hello

        非常感谢!

        查了您给的资料
        Canal支持MySQL,
        Debezuim支持 MySQL, PostgreSQL, Oracle等,

       不过Debezuim没用过,用的人也相对少,自己去试试看~




[hidden email]
 
发件人: Leonard Xu
发送时间: 2020-06-25 13:27
收件人: user-zh
主题: Re: Flink可以用Canal对接Oracle么?
 
Hello
 
Flink 1.11 会支持了读取CDC的功能,支持接入canal和debezuim的format的,1.11快要发布了,这是文档[1],可以参考。
 
Best,
Leonard Xu
[1] https://ci.apache.org/projects/flink/flink-docs-master/dev/table/connectors/formats/canal.html <https://ci.apache.org/projects/flink/flink-docs-master/dev/table/connectors/formats/canal.html>
Reply | Threaded
Open this post in threaded view
|

Re: Re: Flink可以用Canal对接Oracle么?

Jark
Administrator
欢迎使用后来反馈一下~

On Thu, 25 Jun 2020 at 14:55, [hidden email] <[hidden email]>
wrote:

> Hello
>
>         非常感谢!
>
>         查了您给的资料
>         Canal支持MySQL,
>         Debezuim支持 MySQL, PostgreSQL, Oracle等,
>
>        不过Debezuim没用过,用的人也相对少,自己去试试看~
>
>
>
>
> [hidden email]
>
> 发件人: Leonard Xu
> 发送时间: 2020-06-25 13:27
> 收件人: user-zh
> 主题: Re: Flink可以用Canal对接Oracle么?
>
> Hello
>
> Flink 1.11 会支持了读取CDC的功能,支持接入canal和debezuim的format的,1.11快要发布了,这是文档[1],可以参考。
>
> Best,
> Leonard Xu
> [1]
> https://ci.apache.org/projects/flink/flink-docs-master/dev/table/connectors/formats/canal.html
> <
> https://ci.apache.org/projects/flink/flink-docs-master/dev/table/connectors/formats/canal.html
> >
>