设置所需数字的Map器

eqqqjvef  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(398)

为了了解hadoop中Map器的设置方式,我浏览了很多关于stackoverflow和apachewiki的博客。我还浏览了[hadoop-总Map者是如何决定的[this]帖子。有人说它基于inputformat,也有人说它基于输入文件id划分成的块数。
我对默认设置感到困惑。
当我运行一个wordcount示例时,我看到Map器低至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][示例程序]。在这里,他们根据用户输入设置Map器。如何手动进行此设置?
我真的很感谢一些帮助和了解如何Map工作。
提前谢谢

chy5wohz

chy5wohz1#

使用java系统属性 mapred.min.split.size 以及 mapred.max.split.size 引导hadoop使用所需的拆分大小。这并不总是可行的—尤其是当数据的压缩格式不可拆分时(例如gz,但bzip2是可拆分的)。
所以如果你想要更多的Map器,使用更小的分割大小。很简单!
(按要求更新)现在这对许多小文件不起作用,特别是你最终会得到比你想要的更多的Map器。对于这种情况,请使用 CombineFileInputFormat ... 在烫伤中,这说明了:创建烫伤源代码,比如textline,将多个文件合并到单个Map器中

相关问题