DAG有向无环图
如果一个有向图无法从某个定点出发经过若干条边回到该点,则这个图是一个有向无环图
解说:
先从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