在 wordcount 示例中,组合器显式设置在
job.setCombinerClass(IntSumReducer.class);
我想禁用组合器,以便组合器不处理映射器的输出。有没有办法使用 MR 配置文件(即不修改和重新编译 wordcount 代码)?
谢谢
在 wordcount 示例中,组合器显式设置在
job.setCombinerClass(IntSumReducer.class);
我想禁用组合器,以便组合器不处理映射器的输出。有没有办法使用 MR 配置文件(即不修改和重新编译 wordcount 代码)?
谢谢
假设这是你的命令行
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);
}