Scala Spark - 将元组的值映射到单个

时间:2016-04-17 12:39:15

标签: scala apache-spark

我试图将一些数据映射如下:("en",(20340,302))(所以字符串的元组和元组:(String, (Int, Int)))成为如下所示的数据:(String, Int/Int) (因此示例输出为("en", 67 ))。这是什么语法?

val new = old.map(a,(b,c) => (a, b/c) )

是我试图做的,虽然不起作用。

1 个答案:

答案 0 :(得分:3)

val new = old.map { case (a,(b,c)) => (a, b/c) }

这是语法糖:

val new = old.map(t => t match {
  case (a,(b,c)) => (a, b/c)
})

或丑陋的版本:

val new = old.map(t => (t._1, t._2._1/t._2._2))