當前位置:編程學習大全網 - 源碼下載 - 如何控制hadoop中的地圖數量

如何控制hadoop中的地圖數量

然而,以這種方式設置地圖的數量並不總是有效的。原因是mapred.map.tasks只是hadoop的壹個參考值,最終的地圖數量取決於其他因素。

為了介紹方便,我們先來看幾個名詞:

block _ size:HDFS的文件塊大小,默認為64M,可以通過參數dfs.block.size設置

Total_size:輸入文件的總大小。

輸入文件數量:輸入文件的數量。

(1)默認地圖編號

如果沒有設置,默認的貼圖數量與blcok_size相關。

default_num =總大小/塊大小;

(2)預期規模

您可以使用參數

Mapred.map.tasks來設置程序員期望的地圖數量,但是這個數字只有在大於default_num時才有效。

goal _ num = mapred . map . tasks;

(3)設置要處理的文件大小。

可以通過mapred.min.split.size設置每個任務的文件大小,但是這個大小只有大於才能設置。

Block_size將生效。

split_size = max(

mapred.min.split.size,

block _ size);split_num =總大小/拆分大小;

(4)地圖數量的計算

compute_map_num = min(split_num,max(默認_num,目標_num))

除了這些配置,mapreduce還必須遵循壹些原則。mapreduce的每個map處理的數據不能跨文件,也就是max _ map _ num

最終地圖數量=最小值(計算地圖數量,輸入文件數量)

經過以上分析,在設置地圖數量時,可以簡單概括如下:

(1)如果要增加地圖的數量,請將mapred.map.tasks設置為較大的值。

(2)如果要減少貼圖數量,請將mapred.min.split.size設置為壹個較大的值。

  • 上一篇:去上海東平國家森林公園怎麽去?
  • 下一篇:有沒有什麽可以賺錢的手遊
  • copyright 2024編程學習大全網