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

Package org.apache.hadoop.mapred

# Class TaskAttemptID

java.lang.Object
org.apache.hadoop.mapreduce.ID
org.apache.hadoop.mapred.ID
org.apache.hadoop.mapreduce.TaskAttemptID
org.apache.hadoop.mapred.TaskAttemptID

All Implemented Interfaces:
  `Comparable<ID>`, `Writable`, `WritableComparable<ID>`

@Public @Stable public class TaskAttemptID extends TaskAttemptID
TaskAttemptID represents the immutable and unique identifier for a task attempt. Each task attempt is one particular instance of a Map or Reduce Task identified by its TaskID. TaskAttemptID consists of 2 parts. First part is the `TaskID`, that this TaskAttemptID belongs to. Second part is the task attempt number.
An example TaskAttemptID is : `attempt_200707121733_0003_m_000005_0` , which represents the zeroth task attempt for the fifth map task in the third job running at the jobtracker started at `200707121733`.

Applications should never construct or parse TaskAttemptID strings , but rather use appropriate constructors or `forName(String)` method.

See Also:
  - `JobID`
  - `TaskID`

- ## Field Summary

  ### Fields inherited from class org.apache.hadoop.mapreduce.TaskAttemptID

  `ATTEMPT`

  ### Fields inherited from class org.apache.hadoop.mapreduce.ID

  `id, SEPARATOR`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TaskAttemptID()`
  `TaskAttemptID(String jtIdentifier, int jobId, boolean isMap, int taskId, int id)`
  Deprecated.
  Use `TaskAttemptID(String, int, TaskType, int, int)`.
  `TaskAttemptID(String jtIdentifier, int jobId, TaskType type, int taskId, int id)`
  Constructs a TaskId object from given parts.
  `TaskAttemptID(TaskID taskId, int id)`
  Constructs a TaskAttemptID object from given `TaskID`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static TaskAttemptID`
  `downgrade(TaskAttemptID old)`
  Downgrade a new TaskAttemptID to an old one
  `static TaskAttemptID`
  `forName(String str)`
  Construct a TaskAttemptID object from given string
  `JobID`
  `getJobID()`
  Returns the `JobID` object that this task attempt belongs to
  `static String`
  `getTaskAttemptIDsPattern(String jtIdentifier, Integer jobId, Boolean isMap, Integer taskId, Integer attemptId)`
  Deprecated.
  `static String`
  `getTaskAttemptIDsPattern(String jtIdentifier, Integer jobId, TaskType type, Integer taskId, Integer attemptId)`
  Deprecated.
  `TaskID`
  `getTaskID()`
  Returns the `TaskID` object that this task attempt belongs to
  `static TaskAttemptID`
  `read(DataInput in)`
  Deprecated.

  ### Methods inherited from class org.apache.hadoop.mapreduce.TaskAttemptID

  `appendTo, compareTo, equals, getTaskType, hashCode, isMap, readFields, toString, write`

  ### Methods inherited from class org.apache.hadoop.mapreduce.ID

  `getId`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### TaskAttemptID

    public TaskAttemptID(TaskID taskId, int id)
    Constructs a TaskAttemptID object from given `TaskID`.
    Parameters:
      `taskId` - TaskID that this task belongs to
      `id` - the task attempt number

  - ### TaskAttemptID

    @Deprecated public TaskAttemptID(String jtIdentifier, int jobId, boolean isMap, int taskId, int id)
    Deprecated.
    Use `TaskAttemptID(String, int, TaskType, int, int)`.
    Constructs a TaskId object from given parts.
    Parameters:
      `jtIdentifier` - jobTracker identifier
      `jobId` - job number
      `isMap` - whether the tip is a map
      `taskId` - taskId number
      `id` - the task attempt number

  - ### TaskAttemptID

    public TaskAttemptID(String jtIdentifier, int jobId, TaskType type, int taskId, int id)
    Constructs a TaskId object from given parts.
    Parameters:
      `jtIdentifier` - jobTracker identifier
      `jobId` - job number
      `type` - the TaskType
      `taskId` - taskId number
      `id` - the task attempt number

  - ### TaskAttemptID

    public TaskAttemptID()

- ## Method Details

  - ### downgrade

    public static TaskAttemptID downgrade(TaskAttemptID old)
    Downgrade a new TaskAttemptID to an old one
    Parameters:
      `old` - the new id
    Returns:
      either old or a new TaskAttemptID constructed to match old

  - ### getTaskID

    public TaskID getTaskID()
    Description copied from class: `TaskAttemptID`
    Returns the `TaskID` object that this task attempt belongs to
    Overrides:
      `getTaskID` in class `TaskAttemptID`

  - ### getJobID

    public JobID getJobID()
    Description copied from class: `TaskAttemptID`
    Returns the `JobID` object that this task attempt belongs to
    Overrides:
      `getJobID` in class `TaskAttemptID`

  - ### read

    @Deprecated public static TaskAttemptID read(DataInput in) throws IOException
    Deprecated.
    Throws:
      `IOException`

  - ### forName

    public static TaskAttemptID forName(String str) throws IllegalArgumentException
    Construct a TaskAttemptID object from given string
    Returns:
      constructed TaskAttemptID object or null if the given String is null
    Throws:
      `IllegalArgumentException` - if the given string is malformed

  - ### getTaskAttemptIDsPattern

    @Deprecated public static String getTaskAttemptIDsPattern(String jtIdentifier, Integer jobId, Boolean isMap, Integer taskId, Integer attemptId)
    Deprecated.
    Returns a regex pattern which matches task attempt IDs. Arguments can be given null, in which case that part of the regex will be generic. For example to obtain a regex matching all task attempt IDs of any jobtracker, in any job, of the first map task, we would use :

         TaskAttemptID.getTaskAttemptIDsPattern(null, null, true, 1, null);

    which will return :

         "attempt_[^_]*_[0-9]*_m_000001_[0-9]*"

    Parameters:
      `jtIdentifier` - jobTracker identifier, or null
      `jobId` - job number, or null
      `isMap` - whether the tip is a map, or null
      `taskId` - taskId number, or null
      `attemptId` - the task attempt number, or null
    Returns:
      a regex pattern matching TaskAttemptIDs

  - ### getTaskAttemptIDsPattern

    @Deprecated public static String getTaskAttemptIDsPattern(String jtIdentifier, Integer jobId, TaskType type, Integer taskId, Integer attemptId)
    Deprecated.
    Returns a regex pattern which matches task attempt IDs. Arguments can be given null, in which case that part of the regex will be generic. For example to obtain a regex matching all task attempt IDs of any jobtracker, in any job, of the first map task, we would use :

         TaskAttemptID.getTaskAttemptIDsPattern(null, null, TaskType.MAP, 1, null);

    which will return :

         "attempt_[^_]*_[0-9]*_m_000001_[0-9]*"

    Parameters:
      `jtIdentifier` - jobTracker identifier, or null
      `jobId` - job number, or null
      `type` - the `TaskType`
      `taskId` - taskId number, or null
      `attemptId` - the task attempt number, or null
    Returns:
      a regex pattern matching TaskAttemptIDs