@InterfaceAudience.Private public class HFileBlockIndex extends Object
HFileBlockIndex.BlockIndexWriter
) and read
BlockIndexReader
single-level and multi-level block indexes.
Examples of how to use the block index writer can be found in
CompoundBloomFilterWriter
and
HFileWriterImpl
. Examples of how to use the reader can be
found in HFileReaderImpl
and
org.apache.hadoop.hbase.io.hfile.TestHFileBlockIndex.Modifier and Type | Class and Description |
---|---|
(package private) static class |
HFileBlockIndex.BlockIndexChunk
A single chunk of the block index in the process of writing.
|
(package private) static class |
HFileBlockIndex.BlockIndexReader
The reader will always hold the root level index in the memory.
|
static class |
HFileBlockIndex.BlockIndexWriter
Writes the block index into the output stream.
|
(package private) static class |
HFileBlockIndex.ByteArrayKeyBlockIndexReader
An implementation of the BlockIndexReader that deals with block keys which are plain
byte[] like MetaBlock or the Bloom Block for ROW bloom.
|
(package private) static class |
HFileBlockIndex.CellBasedKeyBlockIndexReader
An implementation of the BlockIndexReader that deals with block keys which are the key
part of a cell like the Data block index or the ROW_COL bloom blocks
This needs a comparator to work with the Cells
|
Modifier and Type | Field and Description |
---|---|
(package private) static int |
DEFAULT_MAX_CHUNK_SIZE |
(package private) static int |
DEFAULT_MIN_INDEX_NUM_ENTRIES |
private static String |
INLINE_BLOCKS_NOT_ALLOWED
Error message when trying to use inline block API in single-level mode.
|
private static org.slf4j.Logger |
LOG |
static String |
MAX_CHUNK_SIZE_KEY
The maximum size guideline for index blocks (both leaf, intermediate, and
root).
|
private static int |
MID_KEY_METADATA_SIZE
The size of a meta-data record used for finding the mid-key in a
multi-level index.
|
static String |
MIN_INDEX_NUM_ENTRIES_KEY
Minimum number of entries in a single index block.
|
(package private) static int |
SECONDARY_INDEX_ENTRY_OVERHEAD
The number of bytes stored in each "secondary index" entry in addition to
key bytes in the non-root index block format.
|
Constructor and Description |
---|
HFileBlockIndex() |
Modifier and Type | Method and Description |
---|---|
static int |
getMaxChunkSize(org.apache.hadoop.conf.Configuration conf) |
static int |
getMinIndexNumEntries(org.apache.hadoop.conf.Configuration conf) |
private static final org.slf4j.Logger LOG
static final int DEFAULT_MAX_CHUNK_SIZE
public static final String MAX_CHUNK_SIZE_KEY
DEFAULT_MAX_CHUNK_SIZE
is used.public static final String MIN_INDEX_NUM_ENTRIES_KEY
static final int DEFAULT_MIN_INDEX_NUM_ENTRIES
static final int SECONDARY_INDEX_ENTRY_OVERHEAD
private static final String INLINE_BLOCKS_NOT_ALLOWED
private static final int MID_KEY_METADATA_SIZE
public HFileBlockIndex()
public static int getMaxChunkSize(org.apache.hadoop.conf.Configuration conf)
public static int getMinIndexNumEntries(org.apache.hadoop.conf.Configuration conf)
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.