flink入门之使用JSONKeyValueDeserializationSchema反序列kafka消息

本文介绍如何使用Flink的JSONKeyValueDeserializationSchema优化Kafka数据反序列化过程,避免手动解析JSON结构,提高处理效率。通过实例演示如何轻松获取JSON字段,即使面对不完整数据也能优雅处理。

背景需求
在日常生产中,我们大多数时候都会用到flink的kafka connector,在使用过程中,大多数的程序员都会使用new SimpleStringSchema()来反序列化Kafka中的数据,然后使用alibaba提供的fastJson来解析数据
例如:

  val jsonObject = JSON.parseObject(jsonStr)
  val eventId = JSON.parseObject(jsonObject.getString("eventDetail")).getString("eventId")
  val uuid_geek = JSON.parseObject(jsonObject.getString("eventDetail")).getString("uuid")
  val poiIdArray = JSON.parseObject(jsonObject.getString("eventDetail")).getJSONArray("poiId")

虽然这样可以实现业务的需求,但一方面比较麻烦,另一方面是对于多字段的json数据,会把许多不必要的字段一起带出来,造成的效率减低。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值