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