Hadoop中有多少Map任务?

时间:2015-09-15 13:41:22

标签: hadoop dictionary reduce

大家好我有2个问题,我不知道会发生什么,我没有系统测试它:

  1. 我有一个包含4个文件的目录,其中1个文件为空。当这4个文件作为输入时,我从Hadoop Map Reduce获得了多少Map任务。

  2. 我有一个包含4个子文件夹的目录,包括3个文件(一个文件夹为空)当我的Map Reduce程序输入父文件夹时,我从Hadoop Map Reduce获得了多少个地图任务?

  3. ** 在我的所有问题中,文件都小于块大小。

2 个答案:

答案 0 :(得分:0)

  1. 4个映射器(拆分器不关心一个文件是否为空)
  2. 3 * 3 = 9个映射器(空文件夹不包含任何文件=没有映射器)

答案 1 :(得分:0)

Hadoop MR作业将根据您为作业分配的块数/输入分数产生多个映射器。 在这种情况下,假设文件大小小于块大小,则每个文件只有1个块

公式:Number of Mapper : Number of input splits

对于1:您向MR作业提供4个文件。这意味着MR作业必须读取4个块,因此它将产生4个Mappers。这4个映射器可以并行运行,也可以一次运行一个或两个,具体取决于您的群集硬件。

注意:InputSplitter不会考虑文件为空的事实。它还会为空文件生成1个映射器

For 2:您总共提供3个文件(空子文件夹不计算)。所以你的MR工作将产生3个Mapper。

希望这会对你有所帮助。