`

spark-学习笔记--19 stage划分

 
阅读更多

stage划分

 

 

窄依赖 --  每个父RDD的partition  最多被子RDD的一个partition 使用

宽依赖 --  多个子RDD 的partition 依赖于同一个父RDD的 partition

 

 

宽依赖 是 划分stage的依据

 

stage 划分  从触发 action的操作开始向前倒推  若是窄依赖 就是当前的stage 若是宽依赖 就是一个新的 stage

 

一个stage内部 每个partition都会被分配一个计算任务--task    这些task并行执行

 

stage之间的依赖关系变成了 大粒度的 DAG

 

task-分为两种 : shuffleMapTask   resultTask

 

 

stage划分算法总结:

1、从finalStage倒推

2、通过宽依赖,来进行新的stage划分

3、使用递归,优先提交父stage

 

 

对于每种有shuffle的操作 , 比如groupBykey 、reduceByKey、countByKey

底层对应了三个RDD : MapPartitionsRDD 、ShuffleRDD、MapPartitionsRDD

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics