博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flink State的两张图
阅读量:5320 次
发布时间:2019-06-14

本文共 586 字,大约阅读时间需要 1 分钟。

streamTask的invoke方法中,会循环去调用task上的每个operator的initializeState方法,在这个方法中,会真正创建除了savepointStream的其他三个对象,

而savepointStream会lazy到做savepoint的时候才创建对象,这个也可以理解,毕竟savepoint不是必须的。

那么,三个对象创建了之后,就可以发挥作用了吗?不是。KeyedStateBackend和OperatorStateBackend创建之后立刻就会发生作用,因为用户的
代码需要获取和操作state,都会和这两个对象打交道,而checkpointStream要发挥作用就必须等到系统发出做checkpoint的指示之后,也就是开始
做snapshot之后,这个checkpointStream作为管道将KeyedStateBackend和OperatorStateBackend中的state进行持久化。

 

内存模型

 

 

 

 

 调用关系:

其中task持有processor对象和operator对象,operator对象持有runtime对象,processor和runtime都持有operator对象,大量的这种对象之间的相互引用关系。

 

转载于:https://www.cnblogs.com/029zz010buct/p/9649020.html

你可能感兴趣的文章
在创业公司上班的感受
查看>>
Shell脚本
查看>>
masm32V11配置
查看>>
ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath
查看>>
Dynamic CRM 2013学习笔记(十六)用JS控制Tab可见,可用
查看>>
通过Python、BeautifulSoup爬取Gitee热门开源项目
查看>>
正则表达式的用法
查看>>
线程安全问题
查看>>
集合的内置方法
查看>>
IOS Layer的使用
查看>>
Android SurfaceView实战 带你玩转flabby bird (上)
查看>>
Android中使用Handler造成内存泄露的分析和解决
查看>>
android代码控制seekbar的样式
查看>>
新手问题程序员的思维修炼--读书感悟
查看>>
文件服务器打包jar文件后的spring部署及hibernate自动建表经验总结
查看>>
图片设置[置顶] Android之Gallery和GridView两种方式与ImageSwitcher实现带预览的和幻灯片方式的两种图片浏览器...
查看>>
小论工具类App的盈利之道
查看>>
servlet
查看>>
SSM集成activiti6.0错误集锦(一)
查看>>
在Javaweb中使用Scala
查看>>