如何写'只有地图'hadoop工作?
我是hadoop的新手,我对map-reduce编程的风格很熟悉,但是现在我遇到了一个问题:有时我只需要映射一个工作,而我只需要map结果直接作为输出,这意味着减less阶段在这里是不需要的,我怎样才能达到目的呢?
这将closures减速机。
job.setNumReduceTasks(0);
您也可以使用IdentityReducer:
http://hadoop.apache.org/common/docs/current/api/org/apache/hadoop/mapred/lib/IdentityReducer.html
当你只需要从terminal启动mappers就可以很有帮助。 您可以通过在hadoop jar命令中隐式指定0个reducer来closuresreducers:
-D mapred.reduce.tasks=0
所以结果命令如下:
hadoop jar myJob.jar -D mapred.reduce.tasks=0 -input myInputDirs -output myOutputDir
为了向后兼容,Hadoop还支持“-reduce NONE”选项,相当于“-D mapred.reduce.tasks = 0”。