十七、Flink进阶-- 数据类型与序列化

flink在数据存储和数据交换的过程中需要交换大量信息,本篇我们了解一些关于flink序列化相关的内容。

常见问题
  • 注册子类型 :如果函数仅描述了父类型,但执行是指定子类型的话会大大提升性能,
  • 注册自定义类型 :类似google guava 集合类 无法处理是就需要自定义序列化器
  • 添加类型提示: 当flink无法推断类型时,用户必须传递类型提示
  • 用户自定义TypeInformation: 对于某些API,由于泛型的擦除,flink无法推断类型
Flink数据类型分类
  • 基础类型: int long Integer Double等
  • 数组:Arrays
  • 复合类型: Tuple Row PoJo 等
  • 辅助类型 : Option Lists Map
  • 泛型和其他 kyro

开启avro序列化

final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
env.getConfig().enableForceAvro();

或者完全使用kyro进行处理

final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
env.getConfig().enableForceKryo();

参考文章: https://ci.apache.org/projects/flink/flink-docs-release-1.6/dev/types_serialization.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值