9.2.1 hadoop mapreduce任务输出的默认排序

    任务的默认排序

MapTask和ReduceTask都会默认对数据按照key进行排序,无论逻辑上是否须要。默认是按照字典顺序排序,且实现该排序的方法是快速排序。可是map和reduce任务只能保证单个任务内部输出有序,不能保证全部输出全局有序。html

MapTask,当环形缓冲区使用率到达必定阈值后进行一次快速排序,将这些有序数据溢写到磁盘上,而当数据处理完毕后,它会对磁盘上全部文件进行归并排序。ReduceTask,它从每一个MapTask上远程拷贝相应的数据文件,若是文件大小超过必定阈值,则溢写到磁盘上,不然存储在内存中。若是内存中文件大小或者数据超过必定阈值,则进行一次合并后将数据溢写到磁盘上。若是磁盘上文件数目达到必定阈值,则进行一次归并排序以生成一个更大的文件;当全部数据拷贝完毕后,ReduceTask统一对内存和磁盘上的全部数据进行一次归并排序。spa

本身开发了一个股票智能分析软件,功能很强大,须要的点击下面的连接获取:htm

http://www.javashuo.com/article/p-kahdodke-ge.htmlblog

相关文章
相关标签/搜索