## org.apache.hadoop.mapred.join
Class CompositeInputSplit

    java.lang.Object
      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 `String`s.
  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