我是Spark的新手,对封口感到疑惑.
我有两个RDD,一个包含ID和值列表,另一个包含所选ID列表.
使用map,我想增加元素的值,如果另一个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)
}
})
Run Code Online (Sandbox Code Playgroud)
然而,工作挂起并永远不会完成.这样做的正确方法是什么,谢谢你的帮助!