如何按RDD值进行分组Scala、Spark

如何按RDD值进行分组Scala、Spark,scala,apache-spark,Scala,Apache Spark,我有下面的scala程序,它从视图中读取Couchbase bucket并打印显示的结果 object CouchReader { def main(args: Array[String]) = { ... // Generate The Context val sc = new SparkContext(cfg) sc.couchbaseView(ViewQuery.from("Document", "activity

我有下面的scala程序,它从视图中读取Couchbase bucket并打印显示的结果

object CouchReader {

    def main(args: Array[String]) = {
        ...
        // Generate The Context
        val sc = new SparkContext(cfg)

        sc.couchbaseView(ViewQuery.from("Document", "activityView"))
        .map(_.key)
        .collect()
        .foreach(println)
    }
}
这是输出

[35,4,-1]
[35,4,-1]
[35,4,10]
[61,4,1]
[61,4,10]
但是,我需要得到按第一和第二个元素分组的输出,并对第三个元素求和

i、 我期望的输出是

[35,4,8]
[61,4,11]
我怎样才能做到这一点

我还在学习scala&spark,花了一些时间在地图和groupby上,但似乎很难继续

rdd
 .map { case (v1, v2, v3) => ((v1, v2), v3) } // restructure to make v1 + v2 key
 .reduceByKey(_ + _)