maptask執行機制,與小檔案的優化合並TextInputFormat
阿新 • • 發佈:2018-12-15
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