2019-03-16 job、stage、task


job、stage、task

 Worker Node:物理节点,上面执行executor进程

 Executor:Worker Node为某应用启动的一个进程,执行多个tasks

 Jobs:action 的触发会生成一个job, Job会提交给DAGScheduler,分解成Stage,

 Stage:DAGScheduler 根据shuffle将job划分为不同的stage,同一个stage中包含多个task,这些tasks有相同的 shuffle dependencies。

     有两类shuffle map stage和result stage:

       shuffle map stage:case its tasks' results are input for other stage(s)

       result stage:case its tasks directly compute a Spark action (e.g. count(), save(), etc) by running a function on an RDD,输入与结果间划分stage.

 Task:被送到executor上的工作单元,task就是在一个数据partition上的单个数据处理流程。



小结:

action触发一个job (task对应在一个partition上的数据处理流程)

 ------stage1(多个tasks 有相同的shuffle依赖)------【map--shuffle】------- stage2---- 【result--shuffle】-----    

---------------------




基于下图知

job0有4个stage,共7个task

stage0:1个分区有1个task执行

stage1--3:各有2个分区,各有2个task执行,共6个task

job1有1个stage(复用job0的RDD),有2个task

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容