2015-06-21 49 views
0

我有一個大小爲136MB的輸入文件,我啓動了一些WordCount測試,我只監視一個映射器。然後我在我的hdfs-site.xml中設置dfs.blocksize64MB,我仍然得到一個映射器。我做錯了嗎?hadoop大文件沒有分割

+2

更改'dfs.blocksize'只會影響* new *文件。 –

+0

您可以檢查羣集中有多少地圖插槽可用,以及羣集中配置的默認塊大小是多少。 –

+0

@RemusRusanu非常感謝你。你可以發佈它作爲迴應,以便我可以驗證;) – Newben

回答

2

dfs.block.size不是一個人扮演的角色,建議不要改變爲 ,因爲它適用於全局HDFS。

在MapReduce的分割大小由該公式計算

max(mapred.min.split.size, min(mapred.max.split.size, dfs.block.size)) 

所以,你可以設置在驅動程序類,這些屬性

conf.setLong("mapred.max.split.size", maxSplitSize); 
conf.setLong("mapred.min.split.size", minSplitSize); 

還是在配置文件中

<property> 
    <name>mapred.max.split.size</name> 
    <value>134217728</value> 
</property> 
<property> 
    <name>mapred.min.split.size</name> 
    <value>134217728</value> 
</property>