设置所需数字的Mappers

时间:2014-07-16 14:34:09

标签: hadoop mapreduce mappers

我已经浏览了很多关于stackoverflow和apache wiki的博客,以了解映射器在Hadoop中的设置方式。我也经历了[hadoop - how total mappers are determined [this]帖子。 有人说它基于InputFormat,有些帖子说它基于输入文件id分成的块数。

我对默认设置感到困惑。

当我运行wordcount示例时,我看到映射器低至2.设置中真正发生了什么?另外这篇文章[http://svn.apache.org/repos/asf/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/hadoop/examples/QuasiMonteCarlo.java] [示例程序]。在这里,他们根据用户输入设置映射器。如何手动执行此设置?

我非常感谢能够帮助和理解映射器如何工作。

提前致谢

1 个答案:

答案 0 :(得分:0)

使用java系统属性mapred.min.split.sizemapred.max.split.size来指导Hadoop使用您想要的分割大小。这并不总是有效 - 特别是当您的数据采用不可拆分的压缩格式时(例如gz,但bzip2可拆分)。

因此,如果您需要更多地图绘制器,请使用较小的分割尺寸。简单!

(根据要求更新)现在这对许多小文件都不起作用,特别是你最终会得到比你想要的更多的映射器。对于这种情况,请使用CombineFileInputFormat ...在Scalding中解释:Create Scalding Source like TextLine that combines multiple files into single mappers