@InterfaceAudience.Public @InterfaceStability.Stable public class MapFile extends Object
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
.
Modifier and Type | Field and Description |
---|---|
static String |
DATA_FILE_NAME
The name of the data file.
|
static String |
INDEX_FILE_NAME
The name of the index file.
|
Modifier | Constructor and Description |
---|---|
protected |
MapFile() |
Modifier and Type | Method and Description |
---|---|
static void |
delete(FileSystem fs,
String name)
Deletes the named map file.
|
static long |
fix(FileSystem fs,
Path dir,
Class<? extends Writable> keyClass,
Class<? extends Writable> valueClass,
boolean dryrun,
Configuration conf)
This method attempts to fix a corrupt MapFile by re-creating its index.
|
static void |
main(String[] args) |
static void |
rename(FileSystem fs,
String oldName,
String newName)
Renames an existing map directory.
|
public static final String INDEX_FILE_NAME
public static final String DATA_FILE_NAME
public static void rename(FileSystem fs, String oldName, String newName) throws IOException
fs
- fs.oldName
- oldName.newName
- newName.IOException
- raised on errors performing I/O.public static void delete(FileSystem fs, String name) throws IOException
fs
- input fs.name
- input name.IOException
- raised on errors performing I/O.public static long fix(FileSystem fs, Path dir, Class<? extends Writable> keyClass, Class<? extends Writable> valueClass, boolean dryrun, Configuration conf) throws Exception
fs
- filesystemdir
- directory containing the MapFile data and indexkeyClass
- key class (has to be a subclass of Writable)valueClass
- value class (has to be a subclass of Writable)dryrun
- do not perform any changes, just report what needs to be doneconf
- configuration.Exception
- Exception.Copyright © 2023 Apache Software Foundation. All rights reserved.