我想杀死一些任务,因为它们的结果未经验证。但是我想在杀死之前写出经过验证且没有经过验证的结果。发生的事情是任务将被杀死但不会被写入。
在下面的代码中,仅写入了第二个context.write
。
if (!verified) {
context.write(new Text("nok"), new DoubleWritable(0)); // no write
task = (org.apache.hadoop.mapred.TaskAttemptID) (TaskAttemptID) context.getTaskAttemptID();
runningJob.killTask(task, true);
} else if (verified) {
context.write(new Text("ok"), new DoubleWritable(1)); // write
}