在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中尝试其他任何解决方案吗?谢谢!