You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by "wanglei2@geekplus.com.cn" <wa...@geekplus.com.cn> on 2020/06/09 10:22:02 UTC

回复: 回复:Flink State 增加字段后 state 还能识别吗?

OrderState 是我自己写的一个类。
几个成员变量和对应的 get set 方法。 

怎么使用 flink 类型系统判断下OrderState是什么类型呢?



wanglei@geekplus.com.cn

发件人: 1048262223
发送时间: 2020-06-09 18:11
收件人: user-zh
主题: 回复:Flink State 增加字段后 state 还能识别吗?
Hi
 
 
可以使用flink类型系统判断下OrderState是什么类型,我理解如果是pojo的话,恢复savepoint应该是正常恢复,反序列化应该是不会报错的。
 
Best,
Yichao Yang
 
 
 
 
------------------&nbsp;原始邮件&nbsp;------------------
发件人:&nbsp;"wanglei2@geekplus.com.cn"<wanglei2@geekplus.com.cn&gt;;
发送时间:&nbsp;2020年6月9日(星期二) 晚上6:03
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&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 吗?
 
谢谢,
王磊
 
 
 
wanglei2@geekplus.com.cn

回复: 回复:Flink State 增加字段后 state 还能识别吗?

Posted by 1048262223 <10...@qq.com>.
Hi


使用这个TypeInformation a = TypeInformation.of(OrderState.class);查看是不是pojo,我个人理解pojo应该是可以恢复的,你也可以自己尝试下。


Best,
Yichao Yang





------------------&nbsp;原始邮件&nbsp;------------------
发件人:&nbsp;"wanglei2@geekplus.com.cn"<wanglei2@geekplus.com.cn&gt;;
发送时间:&nbsp;2020年6月9日(星期二) 晚上6:22
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;回复: 回复:Flink State 增加字段后 state 还能识别吗?




OrderState 是我自己写的一个类。
几个成员变量和对应的 get set 方法。 

怎么使用 flink 类型系统判断下OrderState是什么类型呢?



wanglei@geekplus.com.cn

发件人: 1048262223
发送时间: 2020-06-09 18:11
收件人: user-zh
主题: 回复:Flink State 增加字段后 state 还能识别吗?
Hi
&nbsp;
&nbsp;
可以使用flink类型系统判断下OrderState是什么类型,我理解如果是pojo的话,恢复savepoint应该是正常恢复,反序列化应该是不会报错的。
&nbsp;
Best,
Yichao Yang
&nbsp;
&nbsp;
&nbsp;
&nbsp;
------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
发件人:&amp;nbsp;"wanglei2@geekplus.com.cn"<wanglei2@geekplus.com.cn&amp;gt;;
发送时间:&amp;nbsp;2020年6月9日(星期二) 晚上6:03
收件人:&amp;nbsp;"user-zh"<user-zh@flink.apache.org&amp;gt;;
&nbsp;
主题:&amp;nbsp;Flink State 增加字段后 state 还能识别吗?
&nbsp;
&nbsp;
&nbsp;
&nbsp;
写了个简单的类会在 Flink State 中使用:
&nbsp;
public class OrderState {
&amp;nbsp;&amp;nbsp;&amp;nbsp; private Integer warehouseId;
&amp;nbsp;&amp;nbsp;&amp;nbsp; private String orderNo;
&amp;nbsp;&amp;nbsp;&amp;nbsp; private String ownerCode;
&amp;nbsp;&amp;nbsp;&amp;nbsp; private Long inputDate;
&amp;nbsp;&amp;nbsp;&amp;nbsp; private int orderType;
&amp;nbsp;&amp;nbsp;&amp;nbsp; private int amount = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; private int status = 0;
.............
}
&nbsp;
&nbsp;
现在程序要升级,这个类还要增加一个新的字段。从state 能正常恢复吗?
也就是 flink run -s&amp;nbsp;&amp;nbsp; savepointdir&amp;nbsp;&amp;nbsp; 后能正常识别旧的代码保存的 state 吗?
&nbsp;
谢谢,
王磊
&nbsp;
&nbsp;
&nbsp;
wanglei2@geekplus.com.cn