org.apache.hadoop.mapred
Class TaskID

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

public class TaskID
extends ID

TaskID represents the immutable and unique identifier for a Map or Reduce Task. Each TaskID encompasses multiple attempts made to execute the Map or Reduce Task, each of which are uniquely indentified by their TaskAttemptID. TaskID consists of 3 parts. First part is the JobID, that this TaskInProgress belongs to. Second part of the TaskID is either 'm' or 'r' representing whether the task is a map task or a reduce task. And the third part is the task number.
An example TaskID is : task_200707121733_0003_m_000005 , which represents the fifth map task in the third job running at the jobtracker started at 200707121733.

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

See Also:
JobID, TaskAttemptID

Field Summary
 
Fields inherited from class org.apache.hadoop.mapred.ID
id
 
Constructor Summary
TaskID(JobID jobId, boolean isMap, int id)
          Constructs a TaskID object from given JobID.
TaskID(String jtIdentifier, int jobId, boolean isMap, int id)
          Constructs a TaskInProgressId object from given parts.
 
Method Summary
 int compareTo(ID o)
          Compare TaskInProgressIds by first jobIds, then by tip numbers.
 boolean equals(Object o)
           
static TaskID forName(String str)
          Construct a TaskID object from given string
 JobID getJobID()
          Returns the JobID object that this tip belongs to
static String getTaskIDsPattern(String jtIdentifier, Integer jobId, Boolean isMap, Integer taskId)
          Returns a regex pattern which matches task IDs.
 int hashCode()
           
 boolean isMap()
          Returns whether this TaskID is a map ID
static TaskID 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

TaskID

public TaskID(JobID jobId,
              boolean isMap,
              int id)
Constructs a TaskID object from given JobID.

Parameters:
jobId - JobID that this tip belongs to
isMap - whether the tip is a map
id - the tip number

TaskID

public TaskID(String jtIdentifier,
              int jobId,
              boolean isMap,
              int id)
Constructs a TaskInProgressId object from given parts.

Parameters:
jtIdentifier - jobTracker identifier
jobId - job number
isMap - whether the tip is a map
id - the tip number
Method Detail

getJobID

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


isMap

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


equals

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

compareTo

public int compareTo(ID o)
Compare TaskInProgressIds by first jobIds, then by tip numbers. Reduces are defined as greater then maps.

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 TaskID read(DataInput in)
                   throws IOException
Throws:
IOException

forName

public static TaskID forName(String str)
                      throws IllegalArgumentException
Construct a TaskID object from given string

Returns:
constructed TaskID object or null if the given String is null
Throws:
IllegalArgumentException - if the given string is malformed

getTaskIDsPattern

public static String getTaskIDsPattern(String jtIdentifier,
                                       Integer jobId,
                                       Boolean isMap,
                                       Integer taskId)
Returns a regex pattern which matches task IDs. Arguments can be given null, in which case that part of the regex will be generic. For example to obtain a regex matching the first map task of any jobtracker, of any job, we would use :
 
 TaskID.getTaskIDsPattern(null, null, true, 1);
 
which will return :
 "task_[^_]*_[0-9]*_m_000001*" 

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
Returns:
a regex pattern matching TaskIDs


Copyright © 2008 The Apache Software Foundation