【发布时间】:2015-10-07 03:08:28
【问题描述】:
我尝试从循环内的另一个 RDD 的迭代联合中创建一个 RDD,但如果我对循环内的结果 RDD 执行操作,则结果仅适用。
var rdd : RDD[Int] = sc.emptyRDD
for ( i <- 1 to 5 ) {
val rdd1 = sc.parallelize(Array(1))
rdd = rdd ++ rdd1
}
// rdd.foreach(println) => void
for ( i <- 1 to 5 ) {
val rdd1 = sc.parallelize(Array(1))
rdd = rdd ++ rdd1
rdd.foreach(x=>x)
}
// rdd.foreach(println) => ( 1,1,1,1,1)
如果我在循环外创建 rdd1 一切正常,但内部不行。
是否存在特定的轻量级动作来解决这个问题?
【问题讨论】:
标签: scala apache-spark