MapReducer之Partitioner與Sort


排序大概分為以下幾類

  1. MapReducer自帶排序就可以滿足
  2. 自定義sort規(guī)則,只設(shè)置1個Reducer Task
  3. 自定義Partition實現(xiàn)區(qū)內(nèi)有序
  4. 啟用多個Reducer Task 并實現(xiàn)全局有序,MapReducer提供了TotalSortPartitioner
  • 為了滿足速度快的要求,對不同的key采用不一樣的查找方法,分別是
    • 如果key是BinaryComparable(可以認(rèn)為是字符串類型)的話會構(gòu)建trie,時間復(fù)雜度是O(n), n是樹的深度.
    • 如果是非BinaryComparable類型就構(gòu)建BinarySearchNode,用二分查找,時間復(fù)雜度O(log(n)),n是reduce數(shù)。
  • 為了滿足負(fù)載均衡,提供了三個采樣類,分別是
    • IntervalSampler:以一定間隔從分片中選擇鍵,適合排好序的文件
    • RandomSampler:以指定的采樣率均勻地從一個數(shù)據(jù)集中選擇樣本。
    • SplitSampler:取一片數(shù)據(jù),把這些片數(shù)據(jù)進(jìn)行處理,選出分區(qū)用的臨界點,進(jìn)行分區(qū)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,544評論 19 139
  • --- layout: post title: "如果有人問你關(guān)系型數(shù)據(jù)庫的原理,叫他看這篇文章(轉(zhuǎn))" date...
    藍(lán)墜星閱讀 915評論 0 3

友情鏈接更多精彩內(nèi)容