ExecutionGraph.scheduleForExecution
按照拓扑顺序为所有的 ExecutionJobVertex
分配资源,其中每一个 ExecutionVertex
都需要分配一个 slot,ExecutionVertex
的一次执行对应一个 Execution
,在分配资源的时候会依照 SlotSharingGroup
和 CoLocationConstraint
确定,分配的时候会考虑 slot 重用的情况。
在所有的节点资源都获取成功后,会逐一调用 Execution.deploy()
来部署 Execution
, 使用 TaskDeploymentDescriptor
来描述 Execution
,并提交到分配给该 Execution 的 slot 对应的 TaskManager, 最终被分配给对应的 TaskExecutor
执行。