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

  • 时间:
  • 浏览:2

加载你什儿 Task的jar文件

Transformation chain

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

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

ScheduleMode scheduleMode = ScheduleMode.LAZY_FROM_SOURCES;

更新当前Job的情形,即更新ExecutionGraph的情形,从CREATED更新到RUNNING

构建Task,Task 默认的情形为CREATED

分配Slot给Execution

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

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

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

构建部署对象

把JobGraph 转换为ExecutionGrapth

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

更新当前任务情形从 DEPLOYINGRUNNING

默认的作业调度模式 LAZY_FROM_SOURCES,

构建任务运行环境

得到文件位置信息