MapReduce三種分區方法

何時分區


當map函數輸出數據到循環內存緩衝區,數據達到循環內存緩衝區的閥值時,會將數據溢寫到文件中,在寫入文件之前會對數據進行分區

分區分類及如何實現

第一種:默認分區

            系統自動調用HashPartitioner類進行分區,原碼如下:


該類通過繼承Partitioner類實現分區,將key的哈希值與integer的最大值做&運算,並%1來設置分區

第二種:自定義分區

         1、   創建一個類並繼承Partitioner類<K,V>

            K-------------map函數的輸出key類型

            V-------------map函數的輸出value類型

        2、實現getPartition()方法,在該方法中設置分區邏輯

第三種:全局排序

全局排序細節

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章