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

相關文章
相關標籤/搜索