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对象,大量的这种对象之间的相互引用关系。

Flink State的两张图的更多相关文章

  1. 两张图总结 Neutron 架构 - 每天5分钟玩转 OpenStack(74)

    前面我们详细讨论了 Neutron 架构,包括 Neutron Server,Core 和 Service Agent.现在用两张图做个总结.先看第一张: 与 OpenStack 其他服务一样,Neu ...

  2. 两张图解读Java异常与断言

    两张图解读Java异常与断言                                 --转载请注明出处:coder-pig 本节引言: 前天公布的"七张图解析Java多线程&quo ...

  3. Javscript轮播 支持平滑和渐隐两种效果(可以只有两张图)

    原文:Javscript轮播 支持平滑和渐隐两种效果(可以只有两张图) 先上两种轮播效果:渐隐和移动   效果一:渐隐 1 2 3 4 效果二:移动 1 2 3 4 接下来,我们来大致说下整个轮播的思 ...

  4. 两张图证明 WolframAlpha 的强大

    引用于:https://capbone.com/wolfram-alpha/ 两张图证明 WolframAlpha 的强大 之前在" 我手机中有哪些应用 "里提到过 Wolfram ...

  5. [转帖]两张图看懂GDT、GDTR、LDT、LDTR的关系

    两张图看懂GDT.GDTR.LDT.LDTR的关系 2018-06-09 18:13:53 Six_666A 阅读数 2044更多 分类专栏: 深入理解linux内核   转自:http://ju.o ...

  6. 一句话+两张图搞定JDK1.7HashMap,剩下凑字数

    JDK1.7 HashMap一探究竟 HashMap很简单,原理一看散列表,实际数组+链表;Hash找索引.索引若为null,while下一个.Hash对对碰,链表依次查.加载因子.75,剩下无脑扩数 ...

  7. 两张图说明http协议,tcp协议,ip协议,dns服务之间的关系和区别

    一.理解一个传输流再去扩展 用http举例来说,首先作为发送端的客户端在应用层(http协议)发出一个想看某个web页面的http请求. 接着,为了传输方便,在传输层(tcp协议)把从应用层处收到的数 ...

  8. 两张图搞清楚Eclipse上的Web项目目录

    从MyEclipse转到Eclipse起初有点不习惯eclipse的目录结构,顺手一查看到的文章帮助很大,转载一下: 原文链接:https://www.jianshu.com/p/91050dfcbe ...

  9. 用两张图告诉你,为什么你的App会卡顿?

    有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? 知道Android究竟是如何在屏幕上显示我们期望的画面的? 对Android的视图架构有整体把握. 学会 ...

随机推荐

  1. mybatis自动生成@Table、@Column、@Id注解

    在pom.xml中添加如下插件以及插件相关的依赖 <build> <plugins> <plugin> <groupId>org.springframe ...

  2. 让微信内置浏览器兼容clipboard.js 复制粘贴 ios 安卓

    <!--js copy事件--><script type="text/javascript" src="/static/js/clipboard.min ...

  3. windows10安装mysql8.0.11(免安装版)

    1.MySQL8.0.11下载网址:https://dev.mysql.com/downloads/mysql/ 2.配置环境变量:我的电脑->属性->高级系统设置->环境变量-&g ...

  4. 记js里codePointAt()方法返回的结果的含义。

    经过<字符串的扩展>和<字符编码的那些事>这两篇文章的阅读,大概了解js里codePointAt方法返回结果的含义. var str='

  5. 吐血分享:QQ群霸屏技术教程2017(效益篇)

    懂得如何做群排名了,接下来就要实质性的考虑产出了. 可能,咱们经常发现,一些群里拉人的,进群看某片,5元钱终生,这类是灰色的.其实正规的付费空间也很大. 群利润空间 有工作,有产品,有项目,可以做群排 ...

  6. C语言实现斐波那契数列

    1.函数一用递归实现 2.函数二用循环实现 #include<stdio.h> #include<stdlib.h> #pragma warning(disable:4996) ...

  7. 什么是Session共享?请举出使用场景

    是指在一个浏览器对应多个Web服务时,服务端的Session数据需要共享.例如单点登录.Web服务器集群等场景都需要用到.多子服务. Session共享有多种解决方案,例如Tomcat插件,我最喜欢的 ...

  8. android去掉button默认的点击阴影

    查了资料,发现别人都是说加一个style属性. style="?android:attr/borderlessButtonStyle" 加上了确实管用,但是我绝不是不求甚解的人.追 ...

  9. nodejs环境搭建与express安装配置

    一.NPM 1.下载nodeJS 下载地址:https://nodejs.org/en/download/ 因为我的系统是Linux 的,所以下载已经编译好的Linux,nodejs tar包 3.下 ...

  10. 【Luogu P4644】Cleaning Shifts

    题目 给定 \(n\) 个区间 \([a_i, b_i]\), 花费为 \(c_i\), 求覆盖 \([L, R]\) 区间的所有整数的最小花费. \(0\le n \le 10^4, 0\le L, ...