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

How to access individual elements in a line in an RDD of type [String, (Int, Int, Int)]?

我有一个像这样的 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)

但这不起作用。我究竟做错了什么?是否有一些内置函数可以执行此操作?

如果你不需要字符串列,你可以去掉它,然后减少RDD的元素:

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