Hadoop Spark中reduce和reduceByKey之间的区别

use*_*784 7 hadoop apache-spark

在Hadoop Spark中,reduce和reduceByKey的功能有什么区别.为什么reduceByKey是转换,reduce是一个动作.

Jus*_*ony 7

这接近我解释reduceByKey的答案的重复,但我将详细说明使两者不同的具体部分.但是请参考我的答案,了解更多关于内部的细节reduceByKey.

基本上,reduce必须将整个数据集下拉到一个位置,因为它会减少到一个最终值.reduceByKey另一方面,每个键的一个值.由于此操作可以首先在本地运行,然后它可以保留为RDD并在其数据集上进行进一步的转换.

但请注意,reduceByKeyLocally您可以使用自动将Map下拉到单个位置.