我试图修改一个case类,它有大约240个变量,其中一些是我定义的其他pojo,例如:signal(case类)有变量powerpojofeature,userfeature。当我更改任何pojo添加新变量时,它会抛出以下异常rg.apache.flink.util.statemigrationexception:operator state的新状态typeserializer不能不兼容。位于org.apache.flink.runtime.state.defaultoperatorstatebackend.getliststate(defaultoperatorstatebackend)。java:323)
有没有任何例子我可以写自定义序列化为这个或任何其他解决方案
1条答案
按热度按时间gcmastyq1#
flink的序列化程序还不支持case类演化。您需要使用pojo或avro,或者实现自定义序列化程序。
自定义序列化程序的文档中有一些示例片段。
另一种方法是使用状态处理器api来迁移状态和数据类型。