Flink, 大数据

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