Flink1.7.2 Dataset 并行计算源码分析

  • 时间:
  • 浏览:0

默认的作业调度模式 LAZY_FROM_SOURCES,

默认作业调度模式为:LAZY_FROM_SOURCES,只启动Source任务,下游任务是当上游任务开始给他发送数据时才开始

ExecutionGraph会拆分成ExecutionJobVertex执行,按(DataSourceTask,BatchTask,DataSinkTask) 进行拆分

加载你这名Task的jar文件

ExecutionJobVertex (执行流程:CREATED -> DEPLOYING ),转成对应的Task(执行流程:CREATED -->DEPLOYING --> RUNNING)

把JobGraph 转换为ExecutionGrapth

更新当前Job的具体情况,即更新ExecutionGraph的具体情况,从CREATED更新到RUNNING

循环读取分片信息,读到的数据是按行的

得到文件位置信息

构建部署对象

调用DataSourceTask.invoke(),会根据具体的任务,调用具体任务的函数

构建Task,Task 默认的具体情况为CREATED

Transformation chain

构建任务运行环境

分配Slot给Execution

ExecutionGraph会拆分成ExecutionJobVertex执行,按(DataSourceTask,BatchTask,DataSinkTask) 进行拆分

更新当前任务具体情况从 DEPLOYINGRUNNING

ScheduleMode scheduleMode = ScheduleMode.LAZY_FROM_SOURCES;