Spark配对rdd上的地图变换

时间:2018-08-19 10:02:25

标签: sparkcore

我将地图转换应用于以下配对的RDD:

sc.parallelize(List((1,10),(2,20),(3,30),(4,40))); 

具有两个不同的签名。

情况1:

res0.map({case (x,y)=>(x,y+1)}).collect;

得出以下结果:

Array[(Int, Int)] = Array((1,11), (2,21), (3,31), (4,41))

情况2:

res0.map(case (x,y)=>(x,y+1)).collect;

哪个给出以下错误:

  

错误:简单表达式的非法启动

我是否可以知道 案例2 失败的原因,只是花括号是两个案例之间的区别。

谢谢。

1 个答案:

答案 0 :(得分:0)

大小写需要{}。通常,在{Scala中,arg =>逻辑}就是所谓的部分函数。

您还可以执行以下操作:

val y = RDD.map(a=> (a._1, a._2 + 1)).collect