Flink中执行图可以分成4层:
1) StreamGragh
2)JobGragh
3)ExecutionGragh
4)物理执行图
-
StreamGragh:根据用户通过Stream API编写的代码生成的最初的图,用来表示程序的拓扑结构。(一个算子就是一个节点)
-
JobGragh:StreamGragh经过优化后生成JobGragh,提交给JobManager的数据结构。主要优化是:将多个符合条件的节点chain合在一起作为一个节点。(减少传输等)
-
ExecutionGragh: JobManager根据JobGragh生成ExecutionGragh, ExecutionGragh是JobGragh的并行化版本,是调度层最核心的数据结构。
-
物理执行图:JobManager根据ExecutionGragh对Job进行调度后,在各个TaskManager上部署Task后形成的“图”,并不是一个具体的数据结构。
网友评论