首页 > 解决方案 > 在 Flink 中避免使用 trait 下的 case 类的通用序列化器

问题描述

我们有几个案例类,根据相同的特征重新组合:

sealed trait Measure { ... }

case class Counter(...) extends Measure
case class Cumulative(...) extends Measure
...

我们的 Flink 拓扑很大一部分是基于 的DataStream[Measure],而 Flink 回退到通用的 Kryo 序列化,我知道应该避免这种情况。

doc之后,我尝试在 ExecutionEnv 中注册叶子类型,但它似乎仍然使用通用的 Kryo 序列化程序(使用调试器查看)。

强制 Flink 对所有叶类使用其本机快速案例类序列化器的正确方法是什么?

PS:我们使用的是 Flink 1.12

标签: apache-flink

解决方案


推荐阅读