An ExecutionGraph is Flink’s distributed representation of how a job’s tasks will run across a cluster. The JobManager creates it after receiving a JobGraph from the client. section 8.4.2
The client first turns a program’s sources, transformations, and sinks into a logical graph, then converts that graph into a JobGraph with task dependencies and execution optimizations. The JobManager uses the JobGraph to determine task parallelism, dependencies, and resource requirements, then deploys tasks to available TaskManagers. section 8.4.2
Figure 8.21 The Flink architecture. The Flink Client is responsible for transforming a program into a graph, which is submitted to the JobManager. JobManager converts it into an ExecutionGraph and deploys tasks to available TaskManagers.
The architecture diagram traces the handoff from client-generated graph to JobManager-created ExecutionGraph and deployed tasks. section 8.4.2
