spark DAG 切分 stage

一、DAG的总体图spa

简要说明(我的理解):hash

①当全部的RDD触发action的时候,会生成一个DAGit

②stage是由DAG进行切分的,能够理解stage是一个tasksetio

③DAG是根据宽依赖进行切分stage的,stage是由Driver进行提交的map

④stage是一个一个提交的,当前一个stage计算完成的时候,下一个stage才会进行拉取计算im

经过hue页面能够看到一个stage包括几个task任务总结

二、如何切分stageimg

DAG是根据宽依赖与窄依赖进行切分,通常来讲,有shuffle的时候,就会切分前一个stage,也能够是以宽依赖进行切分的co

①窄依赖:join

②宽依赖

③整体

总结:

①通常来讲,reducebykey,groupbykey都是shuffle阶段,要切分

②若是是jion的话,有两种状况,一种是groupby以后的,这种状况是属于窄依赖

另外一种是直接join,产生shuffle属于宽依赖

③默认是以key的hashpartition进行分区,反正是shuffle阶段就是要切分

④像map,flatMap,都是窄依赖

相关文章
相关标签/搜索