0
我有一個大小爲136MB
的輸入文件,我啓動了一些WordCount
測試,我只監視一個映射器。然後我在我的hdfs-site.xml
中設置dfs.blocksize
到64MB
,我仍然得到一個映射器。我做錯了嗎?hadoop大文件沒有分割
我有一個大小爲136MB
的輸入文件,我啓動了一些WordCount
測試,我只監視一個映射器。然後我在我的hdfs-site.xml
中設置dfs.blocksize
到64MB
,我仍然得到一個映射器。我做錯了嗎?hadoop大文件沒有分割
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>
更改'dfs.blocksize'只會影響* new *文件。 –
您可以檢查羣集中有多少地圖插槽可用,以及羣集中配置的默認塊大小是多少。 –
@RemusRusanu非常感謝你。你可以發佈它作爲迴應,以便我可以驗證;) – Newben