apache-flink - Flink 1.8.2 状态进化抛出异常
问题描述
我正在尝试更改具有大约 240 个变量的案例类,其中一些是我定义的其他 pojo 示例:信号(案例类)具有变量 PowerPojoFeature、UserFeature。当我更改任何 pojo 添加新变量时,它会抛出异常 rg.apache.flink.util.StateMigrationException:操作员状态的新状态 typeSerializer 不能不兼容。在 org.apache.flink.runtime.state.DefaultOperatorStateBackend.getListState(DefaultOperatorStateBackend.java:323)
是否有任何示例我可以为此或任何其他解决方案编写自定义序列化
解决方案
Flink 的序列化器还不支持案例类演化。您需要使用 POJO 或 Avro,或者实现自定义序列化程序。
自定义序列化程序的文档中有一些示例片段。
另一种方法是使用状态处理器 API 来迁移状态和数据类型。
推荐阅读
- python - 对端关闭 TCP 连接后如何接收所有数据?
- mysql - 在重复对象上创建或更新导轨
- ios - 在 SwiftUI 中使列表行可选
- android - 使用 Firebase 云消息传递时消息无法转换为 RemoteMessage 错误
- awk - 使用 awk 在表格中打印空格
- c++ - 如何从 2 个排序的链表中构造一个最大和路径链表?
- python - socketserver 监听多个端口
- ios - 使用自定义模态演示时如何更新 frameOfPresentedViewInContainerView?
- c++ - 如何解决这个修改后的字梯问题?
- python - Flask 中的 abort(x) 和 Responce(status=x) 有什么区别吗?