php解析嵌套json_FlinkSQL处理复杂JSON的思路

本文探讨了在Flink SQL 1.10版本中如何处理复杂嵌套的JSON数据。通过自定义`format.json-schema`,定义table schema,并举例说明了从Kafka读取JSON数据,解析`retryCount`和嵌套的`data`字段的过程。还提到了在上游转换JSON为String,使用UDTF处理的另一种方法。
摘要由CSDN通过智能技术生成

导读:在日常开发中常有这么一个场景,采集如日志等数据后以JSON形式存储到Kafka中,再由Flink从Kafka中获取数据并进行处理。但是有时候JSON比较复杂(多层嵌套),在FlinkSQL中解析起来比较麻烦,下面将讨论Flink SQL(1.10版本) 如何解析复杂JSON。

官网Demo

//JSON Format

https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/table/connect.html#table-formats

首先查看官网给出的一个例子,大致的解决思路为使用 format.json-schema,自定义一个format schema。

//官网例子CREATE TABLE MyUserTable (  ...) WITH (  'format.type' = 'json',                   -- required: specify the format type  'format.fail-on-missing-field' = 'true'   -- optional: flag whether to fail if a field is missing or not, false by default  'format.fields.0.name' = 'lon',           -- optional: define the schema explicitly usin
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值