写了个简单的类会在 Flink State 中使用: public class OrderState { private Integer warehouseId; private String orderNo; private String ownerCode; private Long inputDate; private int orderType; private int amount = 0; private int status = 0; ............. } 现在程序要升级,这个类还要增加一个新的字段。从state 能正常恢复吗? 也就是 flink run -s savepointdir 后能正常识别旧的代码保存的 state 吗? 谢谢, 王磊 [hidden email] |
Hi
可以使用flink类型系统判断下OrderState是什么类型,我理解如果是pojo的话,恢复savepoint应该是正常恢复,反序列化应该是不会报错的。 Best, Yichao Yang ------------------ 原始邮件 ------------------ 发件人: "[hidden email]"<[hidden email]>; 发送时间: 2020年6月9日(星期二) 晚上6:03 收件人: "user-zh"<[hidden email]>; 主题: Flink State 增加字段后 state 还能识别吗? 写了个简单的类会在 Flink State 中使用: public class OrderState { private Integer warehouseId; private String orderNo; private String ownerCode; private Long inputDate; private int orderType; private int amount = 0; private int status = 0; ............. } 现在程序要升级,这个类还要增加一个新的字段。从state 能正常恢复吗? 也就是 flink run -s savepointdir 后能正常识别旧的代码保存的 state 吗? 谢谢, 王磊 [hidden email] |
OrderState 是我自己写的一个类。 几个成员变量和对应的 get set 方法。 怎么使用 flink 类型系统判断下OrderState是什么类型呢? [hidden email] 发件人: 1048262223 发送时间: 2020-06-09 18:11 收件人: user-zh 主题: 回复:Flink State 增加字段后 state 还能识别吗? Hi 可以使用flink类型系统判断下OrderState是什么类型,我理解如果是pojo的话,恢复savepoint应该是正常恢复,反序列化应该是不会报错的。 Best, Yichao Yang ------------------ 原始邮件 ------------------ 发件人: "[hidden email]"<[hidden email]>; 发送时间: 2020年6月9日(星期二) 晚上6:03 收件人: "user-zh"<[hidden email]>; 主题: Flink State 增加字段后 state 还能识别吗? 写了个简单的类会在 Flink State 中使用: public class OrderState { private Integer warehouseId; private String orderNo; private String ownerCode; private Long inputDate; private int orderType; private int amount = 0; private int status = 0; ............. } 现在程序要升级,这个类还要增加一个新的字段。从state 能正常恢复吗? 也就是 flink run -s savepointdir 后能正常识别旧的代码保存的 state 吗? 谢谢, 王磊 [hidden email] |
Hi
使用这个TypeInformation a = TypeInformation.of(OrderState.class);查看是不是pojo,我个人理解pojo应该是可以恢复的,你也可以自己尝试下。 Best, Yichao Yang ------------------ 原始邮件 ------------------ 发件人: "[hidden email]"<[hidden email]>; 发送时间: 2020年6月9日(星期二) 晚上6:22 收件人: "user-zh"<[hidden email]>; 主题: 回复: 回复:Flink State 增加字段后 state 还能识别吗? OrderState 是我自己写的一个类。 几个成员变量和对应的 get set 方法。 怎么使用 flink 类型系统判断下OrderState是什么类型呢? [hidden email] 发件人: 1048262223 发送时间: 2020-06-09 18:11 收件人: user-zh 主题: 回复:Flink State 增加字段后 state 还能识别吗? Hi 可以使用flink类型系统判断下OrderState是什么类型,我理解如果是pojo的话,恢复savepoint应该是正常恢复,反序列化应该是不会报错的。 Best, Yichao Yang ------------------&nbsp;原始邮件&nbsp;------------------ 发件人:&nbsp;"[hidden email]"<[hidden email]&gt;; 发送时间:&nbsp;2020年6月9日(星期二) 晚上6:03 收件人:&nbsp;"user-zh"<[hidden email]&gt;; 主题:&nbsp;Flink State 增加字段后 state 还能识别吗? 写了个简单的类会在 Flink State 中使用: public class OrderState { &nbsp;&nbsp;&nbsp; private Integer warehouseId; &nbsp;&nbsp;&nbsp; private String orderNo; &nbsp;&nbsp;&nbsp; private String ownerCode; &nbsp;&nbsp;&nbsp; private Long inputDate; &nbsp;&nbsp;&nbsp; private int orderType; &nbsp;&nbsp;&nbsp; private int amount = 0; &nbsp;&nbsp;&nbsp; private int status = 0; ............. } 现在程序要升级,这个类还要增加一个新的字段。从state 能正常恢复吗? 也就是 flink run -s&nbsp;&nbsp; savepointdir&nbsp;&nbsp; 后能正常识别旧的代码保存的 state 吗? 谢谢, 王磊 [hidden email] |
In reply to this post by wanglei2@geekplus.com.cn
Hi
我在官网找到了文档或许可以解答,参考[1] [1]https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/stream/state/schema_evolution.html#pojo-%E7%B1%BB%E5%9E%8B Best, Yichao Yang ------------------ 原始邮件 ------------------ 发件人: "[hidden email]"<[hidden email]>; 发送时间: 2020年6月9日(星期二) 晚上6:03 收件人: "user-zh"<[hidden email]>; 主题: Flink State 增加字段后 state 还能识别吗? 写了个简单的类会在 Flink State 中使用: public class OrderState { private Integer warehouseId; private String orderNo; private String ownerCode; private Long inputDate; private int orderType; private int amount = 0; private int status = 0; ............. } 现在程序要升级,这个类还要增加一个新的字段。从state 能正常恢复吗? 也就是 flink run -s savepointdir 后能正常识别旧的代码保存的 state 吗? 谢谢, 王磊 [hidden email] |
Hi
Flink 支持 state 的 schema evolution 的,具体的文档可以参考 [1] [1] https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/stream/state/schema_evolution.html Best, Congxian 1048262223 <[hidden email]> 于2020年6月9日周二 下午6:30写道: > Hi > > > 我在官网找到了文档或许可以解答,参考[1] > > > [1] > https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/stream/state/schema_evolution.html#pojo-%E7%B1%BB%E5%9E%8B > > > Best, > Yichao Yang > > > > > ------------------ 原始邮件 ------------------ > 发件人: "[hidden email]"<[hidden email]>; > 发送时间: 2020年6月9日(星期二) 晚上6:03 > 收件人: "user-zh"<[hidden email]>; > > 主题: Flink State 增加字段后 state 还能识别吗? > > > > > 写了个简单的类会在 Flink State 中使用: > > public class OrderState { > private Integer warehouseId; > private String orderNo; > private String ownerCode; > private Long inputDate; > private int orderType; > private int amount = 0; > private int status = 0; > ............. > } > > > 现在程序要升级,这个类还要增加一个新的字段。从state 能正常恢复吗? > 也就是 flink run -s savepointdir 后能正常识别旧的代码保存的 state > 吗? > > 谢谢, > 王磊 > > > > [hidden email] |
Free forum by Nabble | Edit this page |