2016-11-28 147 views
0

我們使用HDP2.5並且有一個處理來自HBase的某些行的作業。我設置了工作的開始鍵和結束鍵,並試圖設置mapreduce.input.fileinputformat.split.maxsize以增加繪圖器的數量,但獨立於分割最大值的值我獲得了25個地圖任務...Hadoop在創建分割時忽略mapreduce.input.fileinputformat.split.maxsize

我嘗試了幾個值爲2,4 ,比dfs.blocksize小8倍。例如。 mapreduce.input.fileinputformat.split.maxsize=67108864 dfs.blocksize=134217728

啓用應用程序管理器的日誌沒有透露關於YARN如何決定地圖任務數量的任何有用提示。我只是看到類似的消息: INFO util.RegionSizeCalculator: Calculating region sizes for table "my_table" ... INFO mapreduce.JobSubmitter: number of splits:25

什麼是正確的方式來提高工作地圖任務的數量?

回答

0

HBaseMapReduceUtil中的默認映射任務映射到區域的數量。在Splice Machine(開源)中,我們通過詢問hbase存儲文件來生成更多的分界點。我們還增加了一種方法,我們直接從memstore讀取商店文件,並從HBase(Slow)遠程讀取。

如果您有興趣,我可以發佈代碼鏈接。