net.nutch.io
Class MapFile

java.lang.Object
  extended bynet.nutch.io.MapFile
Direct Known Subclasses:
ArrayFile, SetFile

public class MapFile
extends Object

A file-based map from keys to values.

A map is a directory containing two files, the data file, containing all keys and values in the map, and a smaller index file, containing a fraction of the keys. The fraction is determined by MapFile.Writer.getIndexInterval().

The index file is read entirely into memory. Thus key implementations should try to keep themselves small.

Map files are created by adding entries in-order. To maintain a large database, perform updates by copying the previous version of a database and merging in a sorted change list, to create a new version of the database in a new file. Sorting large change lists can be done with SequenceFile.Sorter.


Nested Class Summary
static class MapFile.Reader
          Provide access to an existing map.
static class MapFile.Writer
          Writes a new map.
 
Field Summary
static String DATA_FILE_NAME
          The name of the data file.
static String INDEX_FILE_NAME
          The name of the index file.
 
Constructor Summary
protected MapFile()
           
 
Method Summary
static void delete(String name)
          Deletes the named map file.
static void main(String[] args)
           
static void rename(String oldName, String newName)
          Renames an existing map directory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INDEX_FILE_NAME

public static final String INDEX_FILE_NAME
The name of the index file.

See Also:
Constant Field Values

DATA_FILE_NAME

public static final String DATA_FILE_NAME
The name of the data file.

See Also:
Constant Field Values
Constructor Detail

MapFile

protected MapFile()
Method Detail

rename

public static void rename(String oldName,
                          String newName)
                   throws IOException
Renames an existing map directory.

Throws:
IOException

delete

public static void delete(String name)
                   throws IOException
Deletes the named map file.

Throws:
IOException

main

public static void main(String[] args)
                 throws Exception
Throws:
Exception


Copyright © 2004 The Nutch Organization.