"无映射器"是"身份映射器"的委婉说法。默认的映射器(如果您没有指定)就是这样。至少,身份映射程序进程将未更改的输入引导到正确的reducer分区。
在某些用例中,我已经使用了一段时间没有reducer作业,但我从未遇到过"没有映射器"作业。"No Mapper"意味着mapreduce框架仍然会读取输入文件,并以某种方式(基于InputFormat?)对其进行混洗/排序,而这些文件将是我的reducer的输入?
如果您使用Hadoop流:
-mapper "/bin/sh -c "cat""
对于一些基于输入键的聚合函数,身份映射器是有意义的。映射器将发出与其输入相同的i/o键,reducer将聚合特定键的值。