Hadoop源码分析35 QuickSort & HeapSort
2014-05-28 08:48
316 查看
在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
具体代码分析待补充。
在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
具体代码分析待补充。
相关文章推荐
- Hadoop源码分析之心跳机制<转>
- <stl>list::sort源码分析
- Hadoop中Terasort算法分析1<转>
- Hadoop-datanode存储结构及源码分析<转>
- hadoop自带例子SecondarySort源码分析MapReduce原理
- Hadoop0.21.0源码流程分析(2)-主节点接收作业
- Hadoop0.21.0源码流程分析(2)-主节点接收作业
- awk读取标准输入的讨论&awk源码读取输入部分分析
- HashTable & HashSet 源码分析
- Arrays类中sort源码分析
- 【堆调试工具】pageheap的使用和原理分析&Linux下相似的功能实现
- Hadoop0.21.0源码流程分析(1)-客户端提交作业
- hadoop作业调度 - 源码分析
- [原创] jQuery源码分析-17坐标和尺寸 Offset & Dimensions
- Hadoop调度算法CapacityScheduler源码分析(1)
- Hadoop调度算法CapacityScheduler源码分析(2)
- STL源码解析 - sort_heap
- hadoop源码分析(4-6)
- java源码分析:Arrays.sort
- Hadoop中TeraSort算法分析