2015-06-21 43 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>