我有一个Spark RDD,如下所示: RDD [string]的值如下:
(00,"asfad", 12)
(01,"fdfdf", 14)
(02,"fdfsfdg",232)
(00, "asfad", 34)
(01, "fdfdf", 12)
现在我想要这样的东西:
(00,"asfad",46)
(01, "fdfdf",26)
(02, "fdfsfdg",232)
请提出一种使用Scala实现此目标的方法
答案 0 :(得分:0)
如果您有类似RDD [(Int,String,Int)]的内容,则可以尝试
rdd.map { case (a, b, c) => ((a, b), c) }.reduceByKey((x, y) => x + y).map { case ((a, b), c) => (a, b, c) }