The following figure shows Flinkās execution model. The Flink program written is parsed by the program compiler and then type extracted and then optimized (Flink Optimizer). Each submitted job is then converted to a dataflow graph and then passed onto Job Manager, which then creates an execution plan and the job graph is then passed onto Task Manager where the tasks are finally executed (execution graph).
Figure 11: Flink execution model