[
https://issues.apache.org/jira/browse/HADOOP-1558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12520629
]
owen.omalley edited comment on HADOOP-1558 at 8/17/07 11:48 AM:
-----------------------------------------------------------------
My point was that I think that OutputFormat should look like:
{code}
interface OutputFormat {
void checkOutputSpecs(JobConf) throws IOException;
RecordWriter getRecordWriter(TaskContext) throws IOException;
// handle promotion or abandonment of Tasks for completion or failure
void promoteTask(TaskContext) throws IOException;
void abandonTask(TaskContext) throws IOException;
// handle promotion or abandoment of the entire Job
void promoteJob(TaskContext) throws IOException;
void abandonJob(TaskContext) throws IOException;
}
{code}
the task handling is for HADOOP-1416 and the job handling is for this problem.
It makes more sense to make these cases symmetric rather than completely
different.
was (Author: owen.omalley):
My point was that I think that OutputFormat should look like:
{{code}}
interface OutputFormat {
void checkOutputSpecs(JobConf) throws IOException;
RecordWriter getRecordWriter(TaskContext) throws IOException;
// handle promotion or abandonment of Tasks for completion or failure
void promoteTask(TaskContext) throws IOException;
void abandonTask(TaskContext) throws IOException;
// handle promotion or abandoment of the entire Job
void promoteJob(TaskContext) throws IOException;
void abandonJob(TaskContext) throws IOException;
}
{{code}}
the task handling is for HADOOP-1416 and the job handling is for this problem.
It makes more sense to make these cases symmetric rather than completely
different.
> changes to OutputFormat to work on temporary directory to enable re-running
> crashed jobs (Issue: 1121)
> ------------------------------------------------------------------------------------------------------
>
> Key: HADOOP-1558
> URL: https://issues.apache.org/jira/browse/HADOOP-1558
> Project: Hadoop
> Issue Type: Improvement
> Components: mapred
> Environment: all
> Reporter: Alejandro Abdelnur
> Fix For: 0.15.0
>
> Attachments: hadoop-1558-JUL2607-1600.txt
>
>
> Add OutputFormat methods like:
> /** Called to initialize output for this job. */
> void initialize(JobConf job) throws IOException;
> /** Called to finalize output for this job. */
> void commit(JobConf job) throws IOException;
> In the base implemenation for FileSystem output, initialize() might then
> create a temporary directory for the job, removing any that already exists,
> and commit could rename the temporary output directory to the final name.
> The existing checkOutputSpecs() would continue to throw an exception if the
> final output already exists.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.