org.apache.hadoop.mapred.join
Class CompositeInputSplit

java.lang.Object
  extended by org.apache.hadoop.mapred.join.CompositeInputSplit
All Implemented Interfaces:
Writable, InputSplit

public class CompositeInputSplit
extends Object
implements InputSplit

This InputSplit contains a set of child InputSplits. Any InputSplit inserted into this collection must have a public default constructor.


Constructor Summary
CompositeInputSplit()
           
CompositeInputSplit(int capacity)
           
 
Method Summary
 void add(InputSplit s)
          Add an InputSplit to this collection.
 InputSplit get(int i)
          Get ith child InputSplit.
 long getLength()
          Return the aggregate length of all child InputSplits currently added.
 long getLength(int i)
          Get the length of ith child InputSplit.
 String[] getLocation(int i)
          getLocations from ith InputSplit.
 String[] getLocations()
          Collect a set of hosts from all child InputSplits.
 void readFields(DataInput in)
          Deserialize the fields of this object from in.
 void write(DataOutput out)
          Write splits in the following format.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompositeInputSplit

public CompositeInputSplit()

CompositeInputSplit

public CompositeInputSplit(int capacity)
Method Detail

add

public void add(InputSplit s)
         throws IOException
Add an InputSplit to this collection.

Throws:
IOException - If capacity was not specified during construction or if capacity has been reached.

get

public InputSplit get(int i)
Get ith child InputSplit.


getLength

public long getLength()
               throws IOException
Return the aggregate length of all child InputSplits currently added.

Specified by:
getLength in interface InputSplit
Returns:
the number of bytes in the input split.
Throws:
IOException

getLength

public long getLength(int i)
               throws IOException
Get the length of ith child InputSplit.

Throws:
IOException

getLocations

public String[] getLocations()
                      throws IOException
Collect a set of hosts from all child InputSplits.

Specified by:
getLocations in interface InputSplit
Returns:
list of hostnames where data of the InputSplit is located as an array of Strings.
Throws:
IOException

getLocation

public String[] getLocation(int i)
                     throws IOException
getLocations from ith InputSplit.

Throws:
IOException

write

public void write(DataOutput out)
           throws IOException
Write splits in the following format. <count><class1><class2>...<classn><split1><split2>...<splitn>

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

readFields

public void readFields(DataInput in)
                throws IOException
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
Parameters:
in - DataInput to deseriablize this object from.
Throws:
IOException - If the child InputSplit cannot be read, typically for faliing access checks.


Copyright © 2009 The Apache Software Foundation