Hadoop源码分析35 QuickSort & HeapSort

在MapTask 的spill 阶段会使用快速排序org.apache.hadoop.util.QuickSort :
在QuickSort 中有部分代码,当元素个数小于13时候,使用插入排序 (Insert Sort)。
在QuickSort 中,当栈的层数过多时,使用堆排序(org.apache.hadoop.util.HeapSort

在MapTask 和 ReduceTask的 merge 阶段会使用到优先级队列 PriorityQueue(实际是一个Heap):
org.apache.hadoop.mapred.MergeQueue
org.apache.hadoop.util.PriorityQueue

具体代码分析待补充。

原文地址:https://www.cnblogs.com/leeeee/p/7276477.html