如何访问类型为[String,(Int,Int,Int)]的RDD中某行中的各个元素?

时间:2017-03-30 11:42:23

标签: scala apache-spark mapreduce rdd

我有一个像这样的RDD:

Array((math,(2,3,4)),(economics,(4,5,6)))

我想访问整数元素并按列添加它们。我试过

var sum = rdd.map( (x,y) => (x._0+y._0,x._1+y._1,x._2+y._2)

但这不起作用。我究竟做错了什么?是否有一些内置功能可以做到这一点?

1 个答案:

答案 0 :(得分:2)

如果您不需要它,可以删除字符串列,然后通过元素减少RDD:

val sum = rdd.map(_._2).reduce {
  case ((a, b, c), (d, e, f)) => (a + d, b + e, c + f)
}