## org.apache.hadoop.mapreduce
Class OutputFormat<K,V>

    java.lang.Object
      org.apache.hadoop.mapreduce.OutputFormat<K,V>

Direct Known Subclasses:
  FileOutputFormat, NullOutputFormat

    public abstract class OutputFormat<K,V>

extends Object

`OutputFormat` describes the output-specification for a Map-Reduce job.

The Map-Reduce framework relies on the `OutputFormat` of the job to:

1. Validate the output-specification of the job. For e.g. check that the output directory doesn't already exist.
2. Provide the `RecordWriter` implementation to be used to write out the output files of the job. Output files are stored in a `FileSystem`.

See Also:
  `RecordWriter`

Constructor Summary
`OutputFormat()`

Method Summary
`abstract void` `checkOutputSpecs(JobContext context)` Check for validity of the output-specification for the job.
`abstract OutputCommitter` `getOutputCommitter(TaskAttemptContext context)` Get the output committer for this output format.
`abstract RecordWriter<K,V>` `getRecordWriter(TaskAttemptContext context)` Get the `RecordWriter` for the given task.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### OutputFormat

    public OutputFormat()

Method Detail

### getRecordWriter

    public abstract RecordWriter<K,V> getRecordWriter(TaskAttemptContext context)
                                               throws IOException,
                                                      InterruptedException

  Get the `RecordWriter` for the given task.

  Parameters:
    `context` - the information about the current task.
  Returns:
    a `RecordWriter` to write the output for the job.
  Throws:
    `IOException`
    `InterruptedException`

### checkOutputSpecs

    public abstract void checkOutputSpecs(JobContext context)
                                   throws IOException,
                                          InterruptedException

  Check for validity of the output-specification for the job.

  This is to validate the output specification for the job when it is a job is submitted. Typically checks that it does not already exist, throwing an exception when it already exists, so that output is not overwritten.

  Parameters:
    `context` - information about the job
  Throws:
    `IOException` - when output should not be attempted
    `InterruptedException`

### getOutputCommitter

    public abstract OutputCommitter getOutputCommitter(TaskAttemptContext context)
                                                throws IOException,
                                                       InterruptedException

  Get the output committer for this output format. This is responsible for ensuring the output is committed correctly.

  Parameters:
    `context` - the task context
  Returns:
    an output committer
  Throws:
    `IOException`
    `InterruptedException`

Copyright © 2009 The Apache Software Foundation