2011-04-25 69 views
9

有點奇怪的問題,但是有誰知道MapReduce在shuffle/sort的排序部分中使用的是什麼類型?我會考慮合併或插入(與整個MapReduce範例保持一致),但我不確定。MapReduce混洗/排序方法

回答

9

它是快速排序,之後將排序的中間輸出合併在一起。 Quicksort檢查遞歸深度,並在其過深時放棄。如果是這種情況,則使用Heapsort。

看一看快速排序類:

org.apache.hadoop.util.QuickSort 

您可以通過改變在hadoop-default.xml的map.sort.class值所使用的算法。在我的博客Map-Reduce:Shuffle and sort

+0

THX的編輯。 – 2011-04-25 16:13:07

+1

這種排序技術的開關是標準的混合排序AFAIK。它被稱爲IntroSort:http://en.wikipedia.org/wiki/Introsort – 2014-02-20 18:44:42