Hadoop源码分析35 QuickSort & HeapSort

来源:互联网 发布:15万suv还是轿车 知乎 编辑:程序博客网 时间:2024/06/13 21:16
在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

具体代码分析待补充。

0 0
原创粉丝点击