Spark rdd是空的,直到我执行.count()

时间:2017-08-31 13:56:44

标签: scala apache-spark

我有一个将String的ArrayBuffer转换为RDD的方法。

def makeRddFromArray() : RDD[String] = {
val rdd = Conf.sc.parallelize(listOfStrings)
//rdd.count
rdd}

使用注释的rdd.count()返回大小为0的rdd。当我取消注释时,RDD的大小合适。有人能解释我为什么吗? 感谢

1 个答案:

答案 0 :(得分:0)

rdd.count是一个Action,它将触发DAG并获取元素数。

rdd只会指定类

scala> rdd
res0: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[0] at parallelize 
at <console>:24

它在这里没有表现。