在wordcount示例中,组合器在
中显式设置job.setCombinerClass(IntSumReducer.class);
我想禁用组合器,以便组合器不处理mapper的输出。有没有办法使用MR配置文件(即不修改和重新编译wordcount代码)?
由于
答案 0 :(得分:1)
假设这是您的命令行
hadoop jar your_hadoop_job.jar your_mr_driver \
command_line_arg1 command_line_arg2 command_line_arg3 \
-libjars all_your_dependency_jars
以下参数
将分别以arg [0],arg [1]和arg [3]的形式传递给main方法。假设arg [0]和arg [1]用于识别输入和输出文件夹。您可以使用arg [3]传递一个布尔标志,如('1'或'true'或'yes'),以了解是否要使用组合器并相应地设置组合器。下面的示例(默认...它不会设置组合器类)
if ( "YyesTrue1".contains(arg[3])){
job.setCombinerClass(IntSumReducer.class);
}