【发布时间】:2016-06-02 08:26:49
【问题描述】:
我是 Spark 的新手,想知道关于闭包的事情。
我有两个 RDD,一个包含一个 ID 列表和一个值,另一个包含一个选定 ID 的列表。
使用地图,我想增加元素的值,如果另一个RDD包含它的ID,就像这样。
val ids = sc.parallelize(List(1,2,10,5))
val vals = sc.parallelize(List((1, 0), (2, 0), (3,0), (4,0)))
vals.map( v => {
if(ids.collect().contains(v._1)){
(v._1, 1)
}
})
但是,作业挂起并且永远不会完成。 这样做的正确方法是什么, 感谢您的帮助!
【问题讨论】:
标签: scala apache-spark closures