如何在HDFS中仅保存非空减速器的输出

时间:2011-05-26 10:31:22

标签: hadoop reduce hdfs

在我的应用程序中,reducer将所有零件文件保存在HDFS中,但我只希望reducer会编写大小不是0bytes的零件文件。请告诉我如何定义它。

2 个答案:

答案 0 :(得分:6)

有可能 - 请参阅“延迟输出”的文档部分:

http://hadoop.apache.org/mapreduce/docs/current/mapred_tutorial.html#Lazy+Output+Creation

import org.apache.hadoop.mapreduce.lib.output.LazyOutputFormat;
LazyOutputFormat.setOutputFormatClass(job, TextOutputFormat.class); 

答案 1 :(得分:-1)

如果您使用的是旧API,则可以使用NullOutputFormat类:

import org.apache.hadoop.mapred.lib.NullOutputFormat;
conf.setOutputFormat(NullOutputFormat.class);