仕事自体の中で?そうではありませんが、ジョブの完了後にメイン関数で実行できます
//prior code above
job.waitForCompletion(true);
FileSystem fs = FileSystem.get(conf);
String job1Dir = "/dev/project/job1/output";
String combinedDir = "(/dev/project/combinedoutput";
Path job1Path = new Path(job1Dir+*/);
FileStatus[] job1Files = fs.globStatus(job1Path);
for(file: job1Files){
if(file.isFile()){
String fullFileName = file.getPath().toString();
String belowMainDir = fullFileName.subString(job1Dir.length());
String newFileName = combinedDir+belowMainDir+"job1";
fs.mkdirs(new Path(newFileName.subString(0,lastIndexOf("/")));
fs.rename(file.getPath(),new Path(combinedDir+belowMainDir+"job1");
}
}
これにより、ファイルが移動されます。job2 についても同じことを行うと、設定する必要があります。必要に応じて、名前を変更する代わりにコピーするようにコードを変更したり、終了後に元の job1/job2 ディレクトリを削除したりすることができます。