Hadoop 设置所需数字的映射器

Hadoop 设置所需数字的映射器,hadoop,mapreduce,mappers,Hadoop,Mapreduce,Mappers,为了了解Hadoop中映射器的设置方式,我浏览了很多关于stackoverflow和ApacheWiki的博客。我也浏览了这篇文章。 有些人说它基于InputFormat,有些帖子说它基于输入文件id拆分成的块数 我对默认设置感到困惑 当我运行wordcount示例时,我看到映射器低至2。设置中到底发生了什么?还有这篇文章[[示例程序]。这里他们根据用户输入设置映射器。如何手动执行此设置 我非常感谢您对制图员工作原理的帮助和理解 提前感谢使用java系统属性mapred.min.split.si

为了了解Hadoop中映射器的设置方式,我浏览了很多关于stackoverflow和ApacheWiki的博客。我也浏览了这篇文章。 有些人说它基于InputFormat,有些帖子说它基于输入文件id拆分成的块数

我对默认设置感到困惑

当我运行wordcount示例时,我看到映射器低至2。设置中到底发生了什么?还有这篇文章[[示例程序]。这里他们根据用户输入设置映射器。如何手动执行此设置

我非常感谢您对制图员工作原理的帮助和理解


提前感谢

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

所以,如果你想要更多的映射器,使用更小的分割大小。简单


(按要求更新)现在,这对很多小文件都不起作用,尤其是你最终会得到比你想要的更多的映射程序。对于这种情况,请使用
CombineFileInputFormat
…在滚烫中,这样解释:

Hello@Sam:谢谢你的回答。我明白你的观点,根据mapred.min.split.size决定映射程序的数量,但我的输入大小太小了总之,这种方法并没有真正的帮助。我找到了一种方法,可以根据InputFormat进行决定,可以更灵活地设置。谢谢