當前位置:成語大全網 - 書法字典 - Spark中RDD算子ReduceByKey和GroupByKey的用法和區別

Spark中RDD算子ReduceByKey和GroupByKey的用法和區別

在操作RDDPair(壹種特殊的RDD,即RDD[(key,Row)])時,經常會用到兩個運算符,即reduceByKey()和groupByKey()。讓我們來看看兩者的區別以及如何使用它們:

使用reducing by key()時,先合並本地數據,再傳輸到不同的節點再合並,最後得到最終結果。

但是在使用groupByKey()時,並不進行局部合並,所有的數據都會在獲取完所有的數據後聚合成壹個序列。groupByKey()的傳輸速度明顯比reduceByKey()慢。

雖然groupByKey()。map(func)也可以實現reduceByKey(func)的功能,最好使用reduceByKey(func)。

測試結果: