Reporter (Apache Hadoop Main 3.5.0 API)
Description: declaration: package: org.apache.hadoop.mapred, interface: Reporter

Package org.apache.hadoop.mapred

# Interface Reporter

All Superinterfaces:
  `Progressable`

@Public @Stable 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 significant 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

  Fields
  Modifier and Type
  Field
  Description
  `static final Reporter`
  `NULL`
  A constant of Reporter type that does nothing.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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 Details

  - ### NULL

    static final Reporter NULL
    A constant of Reporter type that does nothing.

- ## Method Details

  - ### 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).