org.apache.hadoop.mapred
Class TaskAttemptID

java.lang.Object
  extended by org.apache.hadoop.mapred.ID
      extended by org.apache.hadoop.mapred.TaskAttemptID
All Implemented Interfaces:
Comparable<ID>, Writable, WritableComparable<ID>

public class TaskAttemptID
extends ID

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.mapred.ID
id
 
Constructor Summary
TaskAttemptID(String jtIdentifier, int jobId, boolean isMap, 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
 int compareTo(ID o)
          Compare TaskIds by first tipIds, then by task numbers.
 boolean equals(Object o)
           
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)
          Returns a regex pattern which matches task attempt IDs.
 TaskID getTaskID()
          Returns the TaskID object that this task attempt belongs to
 int hashCode()
           
 boolean isMap()
          Returns whether this TaskAttemptID is a map ID
static TaskAttemptID read(DataInput in)
           
 void readFields(DataInput in)
          Deserialize the fields of this object from in.
 String toString()
           
 void write(DataOutput out)
          Serialize the fields of this object to out.
 
Methods inherited from class org.apache.hadoop.mapred.ID
getId
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

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

public TaskAttemptID(String jtIdentifier,
                     int jobId,
                     boolean isMap,
                     int taskId,
                     int id)
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
Method Detail

getJobID

public JobID getJobID()
Returns the JobID object that this task attempt belongs to


getTaskID

public TaskID getTaskID()
Returns the TaskID object that this task attempt belongs to


isMap

public boolean isMap()
Returns whether this TaskAttemptID is a map ID


equals

public boolean equals(Object o)
Overrides:
equals in class ID

compareTo

public int compareTo(ID o)
Compare TaskIds by first tipIds, then by task numbers.

Specified by:
compareTo in interface Comparable<ID>
Overrides:
compareTo in class ID

toString

public String toString()
Overrides:
toString in class ID

hashCode

public int hashCode()
Overrides:
hashCode in class ID

readFields

public void readFields(DataInput in)
                throws IOException
Description copied from interface: Writable
Deserialize the fields of this object from in.

For efficiency, implementations should attempt to re-use storage in the existing object where possible.

Specified by:
readFields in interface Writable
Overrides:
readFields in class ID
Parameters:
in - DataInput to deseriablize this object from.
Throws:
IOException

write

public void write(DataOutput out)
           throws IOException
Description copied from interface: Writable
Serialize the fields of this object to out.

Specified by:
write in interface Writable
Overrides:
write in class ID
Parameters:
out - DataOuput to serialize this object into.
Throws:
IOException

read

public static TaskAttemptID read(DataInput in)
                          throws IOException
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

public static String getTaskAttemptIDsPattern(String jtIdentifier,
                                              Integer jobId,
                                              Boolean isMap,
                                              Integer taskId,
                                              Integer attemptId)
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


Copyright © 2008 The Apache Software Foundation