## org.apache.hadoop.mapred
Interface Reporter

All Superinterfaces:
  Progressable

All Known Implementing Classes:
  Task.TaskReporter

    public interface Reporter

extends Progressable

A facility for Map-Reduce applications to report progress and update counters, status information etc.

`Mapper` and `Reducer` can use the `Reporter` provided to report progress or just indicate that they are alive. In scenarios where the application takes an insignificant amount of time to process individual key/value pairs, this is crucial since the framework might assume that the task has timed-out and kill that task.

Applications can also update `Counters` via the provided `Reporter` .

See Also:
  `Progressable`, `Counters`

Field Summary
`static Reporter` `NULL` A constant of Reporter type that does nothing.

Method Summary
`Counters.Counter` `getCounter(Enum<?> name)` Get the `Counters.Counter` of the given group with the given name.
`Counters.Counter` `getCounter(String group, String name)` Get the `Counters.Counter` of the given group with the given name.
`InputSplit` `getInputSplit()` Get the `InputSplit` object for a map.
`float` `getProgress()` Get the progress of the task.
`void` `incrCounter(Enum<?> key, long amount)` Increments the counter identified by the key, which can be of any `Enum` type, by the specified amount.
`void` `incrCounter(String group, String counter, long amount)` Increments the counter identified by the group and counter name by the specified amount.
`void` `setStatus(String status)` Set the status description for the task.

Methods inherited from interface org.apache.hadoop.util.Progressable
`progress`

Field Detail

### NULL

    static final Reporter NULL

  A constant of Reporter type that does nothing.

Method Detail

### setStatus

    void setStatus(String status)

  Set the status description for the task.

  Parameters:
    `status` - brief description of the current status.

### getCounter

    Counters.Counter getCounter(Enum<?> name)

  Get the `Counters.Counter` of the given group with the given name.

  Parameters:
    `name` - counter name
  Returns:
    the `Counter` of the given group/name.

### getCounter

    Counters.Counter getCounter(String group,
                                String name)

  Get the `Counters.Counter` of the given group with the given name.

  Parameters:
    `group` - counter group
    `name` - counter name
  Returns:
    the `Counter` of the given group/name.

### incrCounter

    void incrCounter(Enum<?> key,
                     long amount)

  Increments the counter identified by the key, which can be of any `Enum` type, by the specified amount.

  Parameters:
    `key` - key to identify the counter to be incremented. The key can be be any `Enum`.
    `amount` - A non-negative amount by which the counter is to be incremented.

### incrCounter

    void incrCounter(String group,
                     String counter,
                     long amount)

  Increments the counter identified by the group and counter name by the specified amount.

  Parameters:
    `group` - name to identify the group of the counter to be incremented.
    `counter` - name to identify the counter within the group.
    `amount` - A non-negative amount by which the counter is to be incremented.

### getInputSplit

    InputSplit getInputSplit()
                             throws UnsupportedOperationException

  Get the `InputSplit` object for a map.

  Returns:
    the `InputSplit` that the map is reading from.
  Throws:
    `UnsupportedOperationException` - if called outside a mapper

### getProgress

    float getProgress()

  Get the progress of the task. Progress is represented as a number between 0 and 1 (inclusive).

Copyright © 2009 The Apache Software Foundation