使用reduceByKey()的時候, 本地的數據先進行merge 然後再傳輸到不同節點再進行merge,最終得到最終結果。
而使用groupByKey()的時候,並 不進行本地的merge ,全部數據傳出,得到全部數據後才會進行聚合成壹個sequence,groupByKey()傳輸速度明顯慢於reduceByKey()。
雖然groupByKey().map(func)也能實現reduceByKey(func)功能,但是 優先使用reduceByKey(func) 。
測試結果: