DAG有向无环图及Stage的划分

DAG有向无环图

如果一个有向图无法从某个定点出发经过若干条边回到该点,则这个图是一个有向无环图

ps:通俗来说就是有方向,没有回流的图

 

 

解说:

先从G开始向前,B、F是父RDD,B是窄依赖,F是宽依赖

B和A之间是宽依赖,A划分出来Stage0;

F向前,D、E、C,之间的关系是窄依赖,所以从F划分,CDEF是Stage1

整个RDD本身就是一个Stage,Stage2

 

 WordCount的Stage划分

对于窄依赖而言,Partition的转换处理在Stage中完成

对于宽依赖而言,由于有shuffle的存在,只能在父RDD处理完成之后,才能接下来的计算,因此宽依赖是划分Stage的依据

task生成的过程必然在Stage范围内,task的生成和分区数有密切关系:task数量 = 分区数量  *  stage数量

 

 

如何在WebUI界面查看Stage和Task

 启动SparkShell(使用集群版本执行如下代码)

sc.textFile("hdfs://node01:9000/wc").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect

  

 

posted @ 2019-12-12 18:04  Y歪  阅读(925)  评论(0编辑  收藏  举报