Flink 以什么格式保存算子的托管状态(用于检查点或逻辑算子之间的通信(即沿着作业图的边缘)?
Standard types such as int, long, String etc. are handled by serializers we ship with Flink. For all other types, we fall back to Kryo.
Flink 附带的序列化器是什么?
背景:我正在考虑从 JSON 切换到使用 AVRO 将数据摄取到我的源中,并将数据发送到我的接收器。然而,Avro 创建的自动生成的 POJO 类相当嘈杂。因此,在作业图(用于 Flink 运算符之间的通信)中,我正在考虑使用像 Avro 这样的二进制序列化格式是否有任何性能优势。可能不会对性能产生重大影响(因为 Flink 也可能使用优化的格式),它只需在类型兼容性方面做更多的工作。但我只是想获得更多有关它的信息。
最佳答案
Flink 对基本类型、POJO 和案例类使用自己的内置序列化框架,并且其设计非常高效。 Avro 在模式演化方面确实具有优势,这在考虑 Flink 的保存点时是相关的。关于该主题,请参阅this message on the user mailing list .
关于apache-flink - Flink 如何处理托管状态的序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47933102/