我将地图转换应用于以下配对的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 失败的原因,只是花括号是两个案例之间的区别。
谢谢。
答案 0 :(得分:0)
大小写需要{}。通常,在{Scala中,arg =>逻辑}就是所谓的部分函数。
您还可以执行以下操作:
val y = RDD.map(a=> (a._1, a._2 + 1)).collect