Flink如何处理托管状态的序列化?

时间:2017-12-21 21:42:48

标签: apache-flink avro flink-streaming

Flink以什么格式保持运营商的管理状态(用于检查点或逻辑运算符之间的通信(即沿着作业图的边缘)?

documentation读取

  

标准类型,如int,long,String等由。处理   我们与Flink一起提供的序列化器。对于所有其他类型,我们可以回归   KRYO。

Flink附带的那些序列化器是什么?

背景:我正在考虑从JSON切换到使用AVRO将摄取数据转换为我的源代码,以及发布数据到我的接收器。但是,由Avro创建的自动生成的POJO类相当嘈杂。因此在Job图中(对于Flink运算符之间的通信)我正在考虑使用像Avro这样的二进制序列化格式是否有任何性能优势。可能没有重大的性能影响(因为Flink也可能使用优化的格式),并且只需要在类型兼容性方面做得更多。但我只想获得更多相关信息。

1 个答案:

答案 0 :(得分:2)

Flink使用自己的内置序列化框架来处理基本类型,POJO和案例类,并且它的设计非常高效。 Avro确实在模式演化领域具有优势,这在考虑Flink的保存点时是相关的。关于该主题,请参阅this message on the user mailing list

相关问题