## org.apache.hadoop.io
Class MapFile.Reader

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