org.apache.hadoop.io
Class MapFile.Reader

java.lang.Object
  extended by org.apache.hadoop.io.MapFile.Reader
All Implemented Interfaces:
Closeable
Direct Known Subclasses:
ArrayFile.Reader, BloomMapFile.Reader, SetFile.Reader
Enclosing class:
MapFile

public static class MapFile.Reader
extends Object
implements Closeable

Provide access to an existing map.


Constructor Summary
  MapFile.Reader(FileSystem fs, String dirName, Configuration conf)
          Construct a map reader for the named map.
  MapFile.Reader(FileSystem fs, String dirName, WritableComparator comparator, Configuration conf)
          Construct a map reader for the named map using the named comparator.
protected MapFile.Reader(FileSystem fs, String dirName, WritableComparator comparator, Configuration conf, boolean open)
          Hook to allow subclasses to defer opening streams until further initialization is complete.
 
Method Summary
 void close()
          Close the map.
protected  SequenceFile.Reader createDataFileReader(FileSystem fs, Path dataFile, Configuration conf)
          Override this method to specialize the type of SequenceFile.Reader returned.
 void finalKey(WritableComparable key)
          Reads the final key from the file.
 Writable get(WritableComparable key, Writable val)
          Return the value for the named key, or null if none exists.
 WritableComparable getClosest(WritableComparable key, Writable val)
          Finds the record that is the closest match to the specified key.
 WritableComparable getClosest(WritableComparable key, Writable val, boolean before)
          Finds the record that is the closest match to the specified key.
 Class<?> getKeyClass()
          Returns the class of keys in this file.
 Class<?> getValueClass()
          Returns the class of values in this file.
 WritableComparable midKey()
          Get the key at approximately the middle of the file.
 boolean next(WritableComparable key, Writable val)
          Read the next key/value pair in the map into key and val.
protected  void open(FileSystem fs, String dirName, WritableComparator comparator, Configuration conf)
           
 void reset()
          Re-positions the reader before its first key.
 boolean seek(WritableComparable key)
          Positions the reader at the named key, or if none such exists, at the first entry after the named key.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MapFile.Reader

public MapFile.Reader(FileSystem fs,
                      String dirName,
                      Configuration conf)
               throws IOException
Construct a map reader for the named map.

Throws:
IOException

MapFile.Reader

public MapFile.Reader(FileSystem fs,
                      String dirName,
                      WritableComparator comparator,
                      Configuration conf)
               throws IOException
Construct a map reader for the named map using the named comparator.

Throws:
IOException

MapFile.Reader

protected MapFile.Reader(FileSystem fs,
                         String dirName,
                         WritableComparator comparator,
                         Configuration conf,
                         boolean open)
                  throws IOException
Hook to allow subclasses to defer opening streams until further initialization is complete.

Throws:
IOException
See Also:
createDataFileReader(FileSystem, Path, Configuration)
Method Detail

getKeyClass

public Class<?> getKeyClass()
Returns the class of keys in this file.


getValueClass

public Class<?> getValueClass()
Returns the class of values in this file.


open

protected void open(FileSystem fs,
                    String dirName,
                    WritableComparator comparator,
                    Configuration conf)
             throws IOException
Throws:
IOException

createDataFileReader

protected SequenceFile.Reader createDataFileReader(FileSystem fs,
                                                   Path dataFile,
                                                   Configuration conf)
                                            throws IOException
Override this method to specialize the type of SequenceFile.Reader returned.

Throws:
IOException

reset

public void reset()
           throws IOException
Re-positions the reader before its first key.

Throws:
IOException

midKey

public WritableComparable midKey()
                          throws IOException
Get the key at approximately the middle of the file.

Throws:
IOException

finalKey

public void finalKey(WritableComparable key)
              throws IOException
Reads the final key from the file.

Parameters:
key - key to read into
Throws:
IOException

seek

public boolean seek(WritableComparable key)
             throws IOException
Positions the reader at the named key, or if none such exists, at the first entry after the named key. Returns true iff the named key exists in this map.

Throws:
IOException

next

public boolean next(WritableComparable key,
                    Writable val)
             throws IOException
Read the next key/value pair in the map into key and val. Returns true if such a pair exists and false when at the end of the map

Throws:
IOException

get

public Writable get(WritableComparable key,
                    Writable val)
             throws IOException
Return the value for the named key, or null if none exists.

Throws:
IOException

getClosest

public WritableComparable getClosest(WritableComparable key,
                                     Writable val)
                              throws IOException
Finds the record that is the closest match to the specified key. Returns key or if it does not exist, at the first entry after the named key. - * @param key - key that we're trying to find - * @param val - data value if key is found - * @return - the key that was the closest match or null if eof.

Throws:
IOException

getClosest

public WritableComparable getClosest(WritableComparable key,
                                     Writable val,
                                     boolean before)
                              throws IOException
Finds the record that is the closest match to the specified key.

Parameters:
key - - key that we're trying to find
val - - data value if key is found
before - - IF true, and key does not exist, return the first entry that falls just before the key. Otherwise, return the record that sorts just after.
Returns:
- the key that was the closest match or null if eof.
Throws:
IOException

close

public void close()
           throws IOException
Close the map.

Specified by:
close in interface Closeable
Throws:
IOException


Copyright © 2009 The Apache Software Foundation