当前位置: 首页 > news >正文

为自己家秘方做网站有趣的网站网址

为自己家秘方做网站,有趣的网站网址,wordpress在vps上安装,关键词优化徐州百都网络一、背景 通过简单的书写map、union、keyby等代码,Flink便能构建起一个庞大的分布式计算任务,Flink如何实现的这个酷炫功能呢?我们本次分享Flink做的第一步,将代码解析构建成图 源码基于Flink 2.10,书籍参考《Flink核…

一、背景

通过简单的书写map、union、keyby等代码,Flink便能构建起一个庞大的分布式计算任务,Flink如何实现的这个酷炫功能呢?我们本次分享Flink做的第一步,将代码解析构建成图

源码基于Flink 2.10,书籍参考《Flink核心技术源码剖析与特性开发》第四章

我这次会用一个简单的代码来举例图的构建过程

二、例子代码

以上代码转换关系如下图:

三、代码转StreamGraph

3.1 路由关系的搭建

Flink中每一次转换(如map)用Transformation表示,每次转换都会有一条类似的边被保存(Transformation1-> Transformation2) ,而所有的关联关系存储在Environment的transformations中

3.2 路由关系转StreamGraph

有了所有的边,就可以将边构成图了,图主要通过递归关系构建,不同Transformation有不同处理策略,对于map会把该结点和它之前的结点构成边,对于union会把它的前后结点连接起来,对于keyby会变成边的策略

转换之后图如下所示,可以看到union和keyby都消失了

我们debug中间过程,可以看到确实是7个结点

且keyby变成了边的策略

四、StreamGraph转JobGraph

在这一步会做很做很多重要操作,比如结点链接,配置检查点,设置分布式缓存文件等,我们本次主要聚焦于结点的链接,满足如下条件的会被链接

StreamGraph转JobGraph同样通过递归进行,链接完后的图如下图所示,map1和map2被链接,map4和slink被链接:

可以debug中间过程,可以看到确实是只剩了5个结点:

如果我们再加上实际的对象,实际如下图所示,每个结点是一个JobVertex,IntermediateDataSet 对象就是数据写入的地方,JobEdge是连接关系

其中ID是IntermediateDataSet,为后面数据分区做准备

JE是JobEdge

五、JobGraph转ExecutionGraph

JobGraph创建好之后,会被提交到JobManager,在JobManager中会根据JobGraph图做拓扑排序,然后完成JobGraph到ExecutionGraph的转化,其中:

JobVertex一比一转换ExecutionJobVertex,ExecutionJobVertex会根据并发度拆分成ExecutionVertex,比如map1->Map2,就会变成两个ExecutionVertex

IntermediateDataSet会转成IntermediateResult,并根据生产结点个数,拆成不同的数据分区IntermediateResultPartition,比如map1->Map2,就会变成两个ExecutionVertex,同时有两个IntermediateResultPartition

转换之后的图为如下所示,其中:

IRP=IntermediateResultPartition 表示一个数据分区,数据分区满了之后会Flink会根据边ExecutionEdge的关联关系,提醒下游获取数据,进行计算

EE=ExecutionEdge表示一条边

EJV=ExecutionJobVertex 表示一个Task任务,由JobVertex一比一转换

EV=ExecutionVertex,由ExecutionJobVertex根据并发度拆出来的

根据debug断点也可以看到确实有五个ExecutionJobVertex,其中map1->map2结点有两个ExecutionVertex,每个ExecutionVertex有一个IntermediateResultPartition

六、后续

Execution是ExecutionVertex的执行抽象,Flink构成图之后,会将Execution结点分发到各个TaskManager进行执行,可以看下面本地debug图,各个Execution刚刚处于创建状态等待执行,具体后续执行流程各位感兴趣可以再继续探究

http://www.yayakq.cn/news/276645/

相关文章:

  • 网站电脑培训班附近有吗黄骅市找工作
  • php可以自己做网站吗网站建设公众号小程序开发
  • 企业网站优化之如何做需求分析常州北京网站建设
  • 二级域名可以做网站wordpress中文主题推荐
  • 买个网站域名要多少钱一年法律垂直问答网站怎样做
  • 自己网站上做支付宝怎么收费的房产证
  • 做网站服务费税率明薇通网站建设首选
  • 创建网站为啥要钱湖南彩票网站开发
  • aspnet网站开发 视频阳新网站建设
  • 永久免费网站申请注册建设实验中心网站
  • 建设网站买了域名还要什么资料设计说明怎么写范文
  • 品牌网站建设方案盛锡福网站
  • 网站开发这行怎么样网站权重是什么
  • 免费网站在线收看国外旅游网站排名
  • 做网站片头的软件集团网站建设思路
  • 吉林做网站多少钱怎么做网站网站吗
  • 湖州网站建设企业网站h5什么意思
  • 长沙设备建站按效果付费做二手房比较好的网站有哪些
  • 怎样进行网站板块建设申请完域名如何建设网站
  • 免费文档模板网站松原市建设局网站
  • 怎样修改网站标题北京百度seo排名公司
  • 太原网站建设公司哪家好做网站用什么软件初二
  • 建设大型网站需要什么硬件正规推广平台有哪些
  • 山东网站排行中端网站建设公司
  • 太原cms模板建站株洲建设企业网站
  • 深圳市住房建设局网站首页兰州百姓网免费发布信息网站
  • 西安建设网站的公司哪家好温州网站优化排名
  • 成品网站w灬源码伊甸网络域名注册流程
  • 沈阳网站优化网站图一般做多少分辨率
  • 微信授权登录网站退出怎么做wordpress支付功能