处理RDD时的阶段数

时间:2016-11-28 11:27:50

标签: apache-spark

我正在做一个关于以下问题的测验:

此代码中有多少个阶段?

val unhcrRDD = sc.textFile("path/to/file/file.csv").map(x=>x.split(","))
val country = unhcrRDD.map(x=>(x(0), x(3))
country.take(10)

我假设有3个阶段(一个是文本文件读取时,一个是用逗号分割行时的一个,另一个是选择字段0和3时)。

然而,答案是:

即使有更多的RDD,也只有一个阶段。在父级和RDD之间没有传输数据,因此RDD会折叠成一个阶段。

这是什么意思? 你怎么只有一个阶段?

1 个答案:

答案 0 :(得分:1)

新阶段才进行随机播放,即在执行reduceByKey或在少数RDD之间加入时。

在您的情况下,您只有map,可以在不在节点之间移动数据的情况下运行。

您可以输入Spark Web UI,在那里您将拥有图像上的所有阶段 Spark DAG visualisation