使用Hadoop MultipleOutputs时如何摆脱后缀“-r-00xxx”?

时间:2015-11-17 19:52:13

标签: hadoop mapreduce hadoop2 hadoop-partitioning multipleoutputs

在MR工作中

FileOutputFormat.setCompressOutput(job, true);
FileOutputFormat.setOutputCompressorClass(job, GzipCodec.class);
MultipleOutputs.addNamedOutput(job, OUTPUT, TextOutputFormat.class, NullWritable.class, Text.class);

在我的Reducer中

String myKey = "key"+i;
mos.write(OUTPUT, NullWritable.get(), new Text(lin), myKey);

实际输出文件:

key10-r-00001.gz
key10-r-00002.gz
key11-r-00000.gz
key11-r-00006.gz
key19-r-00000.gz

但我期待的是:

key10.gz
key11.gz
key19.gz

我是否需要使用shell脚本重命名和合并实际的输出文件?或者我可以在没有任何额外步骤的MR Job中尝试其他任何解决方案吗?谢谢!

0 个答案:

没有答案