1. 程式人生 > >maptask執行機制,與小檔案的優化合並TextInputFormat

maptask執行機制,與小檔案的優化合並TextInputFormat

maptask並行度與決定機制
    1)一個job任務map階段並行度由客戶端提交的任務所決定
    2)每一個split分配一個maptask並行處理
    3)預設情況下,split大小=blocksize
    4)切片是逐個針對每一個檔案單獨切片

maptask的執行機制
    1、準備資料
    2、建立客戶端,提交任務
    3、邏輯運算
    4、向環形緩衝區寫資料<k,v>
        預設大小事100M,記憶體滿80%之後,會產生溢寫
        同時進行預設的HashPartitioner分割槽和key.compareTo排序
    5、溢寫到檔案(保證分割槽且區內是有序的)
    6、Merge歸併排序


小檔案優化Combine TextInputFormat
    //制定執行的inputformat方式,預設的方式是textinputformat
    job.setInputFormatClass(CombineTextInputFormat.class);
    CombineTextInputFormat.setMaxInputSplitSize(job,4194304);//最大4M
    CombineTextInputFormat.setMinInputSplitSize(job,3145728);//最小3M