2015-07-21 74 views

回答

5

當然。

val rdd = sc.parallelize(Array(("foo", (1, 10)), ("foo", (2, 2)), ("bar", (5, 5)))) 
val res = rdd.reduceByKey((p1, p2) => (p1._1 + p2._1, p1._2 + p2._2)) 
res.collect() 
+1

注意收集將檢索結果到您的驅動程序,如果RDD非常大,可能不是最好的處理方法。考慮'res.take(10)' – huitseeker

+0

偉大的作品。謝謝! – DJElbow

+1

@huitseeker我知道。它不應該是生產代碼,只是可以粘貼到shell中的代碼片段,並檢查它的工作原理。 :) – krcz