hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Owen O'Malley (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-1558) changes to OutputFormat to work on temporary directory to enable re-running crashed jobs (Issue: 1121)
Date Fri, 17 Aug 2007 18:48:32 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-1558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12520629

Owen O'Malley commented on HADOOP-1558:

My point was that I think that OutputFormat should look like:

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;

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.

View raw message