flink实战--StreamGraph,JobGraph,ExecutionGraph生成流程解析

简介

             Flink在提交并执行任务时,首先会生成执行计划,依次生成StreamGraph、JobGraph、 ExecutionGraph、物理执行图。其中StreamGraph和JobGraph是在client端生成的,ExecutionGraph是在JobMaster中执行的,JobMaster根据 JobGraph 生成ExecutionGraph。方便调度和监控和跟踪各个 tasks 的状态。ExecutionGraph是JobGraph的并行化版本,是调度层最核心的数据结构,本文将详细介绍这些Graph的功能以及生成流程,方便大家对Flink内部执行流程有一个清晰的全局认识。

StreamGraph、JobGraph、ExecutionGraph的功能

1.StreamGraph

             根据用户代码生成的最原始执行图,StreamGraph其实就是由用户代码中涉及到transformations转换来的,它包含两个重要元素,StreamNode和StreamEdge。StreamGraph的生成发生在用户调用了env.execute() 方法之后,而在这之前,用户编写的应用程序会转换成一个包含了Transformation的集合,SteamEdge用来表示transfor

你可能感兴趣的:(Flink学习必读系列,flink,flink执行计划,StreamGraph,JobGraph)