簡體   English   中英

如何按RDD值分組Scala,Spark

[英]How to group by RDD values Scala, Spark

我下面有一個scala程序,該程序從視圖中讀取Couchbase存儲桶並打印顯示的結果。

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]

但是,我需要將輸出分為第一和第二元素並求和第三元素。

即我想要的輸出是

[35,4,8]
[61,4,11]

我該如何實現?

我仍在學習scala和spark,在mapby,groupby上花了一些時間,但似乎很難實現。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM