11

有点奇怪的问题,但是有谁知道 MapReduce 在 shuffle/sort 的排序部分使用了什么样的排序?我会认为合并或插入(与整个 MapReduce 范例保持一致),但我不确定。

4

2 回答 2

11

它是快速排序,然后将排序的中间输出合并在一起。快速排序检查递归深度并在它太深时放弃。如果是这种情况,则使用堆排序。

看看 Quicksort 类:

org.apache.hadoop.util.QuickSort

您可以通过hadoop-default.xml中的 map.sort.class 值更改使用的算法。

于 2011-04-25T15:39:19.943 回答
-1

要更深入地了解它,请随时在帖子上阅读它:Map-Reduce:Shuffle and sort在我的博客上:Hadoop:一些显着的理解

于 2012-11-28T14:04:37.150 回答