A JobGraph is Flink’s representation of a streaming job after the Flink Client converts the application’s logical graph. It defines task dependencies and includes execution optimizations. The client submits it to the JobManager, which converts it into an ExecutionGraph for distributed execution across TaskManagers. section 8.4.2
From operations to tasks
An application with sources, transformations, and sinks first becomes a logical graph. The client turns that graph into a JobGraph; the JobManager then determines task parallelism, dependencies, and resource requirements as it builds the ExecutionGraph. 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 shows where the JobGraph sits between the Flink Client and the JobManager’s ExecutionGraph. section 8.4.2
