org.apache.hadoop.mapreduce.lib.input
Class CombineFileSplit

java.lang.Object
  extended by org.apache.hadoop.mapreduce.InputSplit
      extended by org.apache.hadoop.mapreduce.lib.input.CombineFileSplit
All Implemented Interfaces:
Writable

@InterfaceAudience.Public
@InterfaceStability.Stable
public class CombineFileSplit
extends InputSplit
implements Writable

A sub-collection of input files. Unlike FileSplit, CombineFileSplit class does not represent a split of a file, but a split of input files into smaller sets. A split may contain blocks from different file but all the blocks in the same split are probably local to some rack
CombineFileSplit can be used to implement RecordReader's, with reading one record per file.

See Also:
FileSplit, CombineFileInputFormat

Constructor Summary
CombineFileSplit()
          default constructor
CombineFileSplit(CombineFileSplit old)
          Copy constructor
CombineFileSplit(Path[] files, long[] lengths)
           
CombineFileSplit(Path[] files, long[] start, long[] lengths, String[] locations)
           
 
Method Summary
 long getLength()
          Get the size of the split, so that the input splits can be sorted by size.
 long getLength(int i)
          Returns the length of the ith Path
 long[] getLengths()
          Returns an array containing the lengths of the files in the split
 String[] getLocations()
          Returns all the Paths where this input-split resides
 int getNumPaths()
          Returns the number of Paths in the split
 long getOffset(int i)
          Returns the start offset of the ith Path
 Path getPath(int i)
          Returns the ith Path
 Path[] getPaths()
          Returns all the Paths in the split
 long[] getStartOffsets()
          Returns an array containing the start offsets of the files in the split
 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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CombineFileSplit

public CombineFileSplit()
default constructor


CombineFileSplit

public CombineFileSplit(Path[] files,
                        long[] start,
                        long[] lengths,
                        String[] locations)

CombineFileSplit

public CombineFileSplit(Path[] files,
                        long[] lengths)

CombineFileSplit

public CombineFileSplit(CombineFileSplit old)
                 throws IOException
Copy constructor

Throws:
IOException
Method Detail

getLength

public long getLength()
Description copied from class: InputSplit
Get the size of the split, so that the input splits can be sorted by size.

Specified by:
getLength in class InputSplit
Returns:
the number of bytes in the split

getStartOffsets

public long[] getStartOffsets()
Returns an array containing the start offsets of the files in the split


getLengths

public long[] getLengths()
Returns an array containing the lengths of the files in the split


getOffset

public long getOffset(int i)
Returns the start offset of the ith Path


getLength

public long getLength(int i)
Returns the length of the ith Path


getNumPaths

public int getNumPaths()
Returns the number of Paths in the split


getPath

public Path getPath(int i)
Returns the ith Path


getPaths

public Path[] getPaths()
Returns all the Paths in the split


getLocations

public String[] getLocations()
                      throws IOException
Returns all the Paths where this input-split resides

Specified by:
getLocations in class InputSplit
Returns:
a new array of the node nodes.
Throws:
IOException

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
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
Parameters:
out - DataOuput to serialize this object into.
Throws:
IOException

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2009 The Apache Software Foundation