Blog
flink-09 作业提交模式
Standalone会话模式作业提交流程
- 逻辑流图 生成每个算子 关系
- 作业流图 合并算子链
- 作业流图转换执行流图
- 物理流图 就是 细化的执行流图
逻辑流图(StreamGraph)
这是根据用户通过DataStreamApi编写的代码生成生成的最初的DAG图,用来表示程序的拓扑结构。这一步一般在客户端完成
作业图(JobGraph)
StreamGraph经过优化后生成的就是作业图。这是提交给JobManager的数据结构,确定了当前作业中所有任务的划分。
主要的优化为合并算子链。
JobGraph一般也是在客户端生成的,在作业提交时传递给JobMaster
执行图(ExecutionGraph)
JobMaster收到JobGraph后,会根据它来生成执行图。执行图时JobGraph的并行化版本,是调度层最核心的数据结构。与作业图最大的区别就是按照并行度对并行子任务进行了拆分,并明确了任务间数据传输的方式
物理图(PhysicalGraph)
JobMaster生成执行图后会将它分发给TaskManager。
各个TM会根据执行图部署任务,最终的物理执行过程也会形成一张图,一般叫做物理图。
这只是具体执行层面的图,并不是具体的数据结构。
物理图是在执行图的基础上,进一步确定数据存放的位置和收发具体方式。有了物理图TM就可以对传递来的数据进行处理计算了。
Yarn应用模式提交作业
- AM即JobManager
- 逻辑流图、作业图、执行流图 在JobMaster处理
- AM中的Actor先启动分发器和资源管理器,再由分发器启动jobMaster