2016-09-10 3 views
0

뷰에서 Couchbase 버킷을 읽고 표시된 결과를 인쇄하는 scala 프로그램이 있습니다. RDD 값으로 그룹화하는 방법 Scala, Spark

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) 
    } 
} 

내가 1, 2 요소에 의해 그룹화 된 출력을 얻을 및 3 요소를 요약 할 필요가 출력

[35,4,-1] 
[35,4,-1] 
[35,4,10] 
[61,4,1] 
[61,4,10] 

입니다하지만. 내 원하는 출력 즉

입니다
[35,4,8] 
[61,4,11] 

내가 어떻게 달성 할 수 있습니까?

나는 아직 스칼라 & 스파크를 배우고있어, mapby에 약간의 시간을 보냈지 만, 그것을 얻는 것이 어렵다고 보인다.

답변

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