code: @Override
  	public void open(int taskNumber, int numTasks) throws IOException {
  		this.fileOutputCommitterWrapper.setupJob(this.jobConf);
  		if (Integer.toString(taskNumber + 1).length() <= 6) {
  			this.jobConf.set("mapred.task.id", "attempt__0000_r_" + String.format("%" + (6 - Integer.toString(taskNumber + 1).length()) + "s"," ").replace(" ", "0") + Integer.toString(taskNumber + 1) + "_0");
  			//compatible for hadoop 2.2.0, the temporary output directory is different from hadoop 1.2.1
  			this.jobConf.set("mapreduce.task.output.dir", this.fileOutputCommitterWrapper.getTempTaskOutputPath(this.jobConf,TaskAttemptID.forName(this.jobConf.get("mapred.task.id"))).toString());
  		} else {
  			throw new IOException("task id too large");
  		}
  		this.recordWriter = this.hadoopOutputFormat.getRecordWriter(null, this.jobConf, Integer.toString(taskNumber + 1), new DummyHadoopProgressable());
  	}
docs: create the temporary output file for hadoop RecordWriter.
  @param taskNumber The number of the parallel instance.
  @param numTasks The number of parallel tasks.
  @throws IOException