Flink 1.8.2状态演化引发异常

时间:2019-10-18 14:22:44

标签: apache-flink flink-streaming

我正在尝试更改一个具有约240个变量的case类,其中一些是我定义的其他pojos 示例:Signal(案例类)具有变量PowerPojoFeature,UserFeature。 当我更改任何pojo添加新变量时,它将抛出以下异常 rg.apache.flink.util.StateMigrationException:用于操作员状态的新状态typeSerializer一定不能不兼容。     在org.apache.flink.runtime.state.DefaultOperatorStateBackend.getListState(DefaultOperatorStateBackend.java:323)

是否有任何示例可以为此或其他解决方案编写自定义序列化

1 个答案:

答案 0 :(得分:0)

Flink的序列化器尚不支持案例类进化。您需要使用POJO或Avro,或实现自定义序列化程序。

documentation for custom serializers中有一些示例片段。

另一种方法是使用状态处理器API来迁移状态和数据类型。