在Hadoop Spark中,reduce和reduceByKey的功能有什么区别.为什么reduceByKey是转换,reduce是一个动作.
这接近我解释reduceByKey的答案的重复,但我将详细说明使两者不同的具体部分.但是请参考我的答案,了解更多关于内部的细节reduceByKey
.
基本上,reduce
必须将整个数据集下拉到一个位置,因为它会减少到一个最终值.reduceByKey
另一方面,每个键的一个值.由于此操作可以首先在本地运行,然后它可以保留为RDD并在其数据集上进行进一步的转换.
但请注意,reduceByKeyLocally
您可以使用自动将Map下拉到单个位置.