恢复状态的方式与源中操作者状态的存储结构有着必然的关系 。让我们首先看看MetaQSource的实现是如何存储状态的 。首先,MetaQSource实现ListCheckpointed,其中t是Tuple2 。我们看列表检查点接口的内部定义如下:
public interface ListCheckpointed { &创业网nbsp;List snapsh创业网otState(long var1, long var3) throws Exception;void restoreState(List var1) throws Exception;}我们发现snapshotState方法的返回值是一个list,t是Tuple2,也就是说snapshotState方法返回一个List 。该类型表示状态的存储是包含分区和偏移量信息的列表,InputSplit表示分区,Long表示当前分区读取的偏移量 。InputSplit有一种方法如下:
public interface InputS创业网plit extends Serializable {int getSplitNumber();}也就是说,InputSplit可以理解为一个分区索引 。有了这个数据结构,我们来看看上图所示的案例是如何工作的 。当Source的并行度为1时,所有分区数据都在同一个线程中读取,所有分区的状态也保持在同一状态 。状态存储信息的格式如下:
![Flink中的State概念及其扩容算法 state是什么意思](http://img.zhejianglong.com/220416/1924101120-3.jpg)
文章插图
推荐阅读
- 字词自动更正功能在Word中的经典用法速来看看
- 让Word文档中的重复字符串自动更新2020开心玩
- Office提取图片中的文字请仔细查看哦
- 谣言粉碎机 关于医生眼中的美容陷阱
- 不再烦恼---巧除Office中的嵌入式工具栏你知道吗
- 清晰与美观要兼顾--去掉页眉中的黑线2020开心玩
- 蜀国五虎将中的马超怎么死的?因精神疾病
- 蜀国五虎将之关羽墓中的女尸之谜
- 便宜事还是少干为妙--也谈Word中的对齐问题为你解答
- Ctrl键在Word-XP中的妙用[图文攻略]