java如何在reducer输出中从partr00000中删除r00000
在我的MapReduce代码中,我在reducer端实现了MultipleOutputs
,并将inputsplit附加到它。我希望输出文件名作为keyvalue,而不是keyvalue-r-00000
。如何删除尾随值。这是我在减速机端的代码
String last = map.lastKey();
String tab2[] = last.split(",");
String line1 = "[" + tab2[2] + "," + tab2[3] + "," + tab2[8] + "]" + "\n" + "];";
text1.set(line1);
multipleOutputs.write(NullWritable.get(), text1, generateFileName(key));
}
String generateFileName(Text key){
return key.toString();
}
@Override
public void setup(Context con){
multipleOutputs = new MultipleOutputs<NullWritable, Text>(con);
}
@Override
public void cleanup(final Context context) throws IOException, InterruptedException{
multipleOutputs.close();
}
}
# 1 楼答案
根据Javadoc of MultipleOutputs,参数如下
这里您的第一个参数应该是key
是的
它对我有用