@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–2020 The Apache Software Foundation. All rights reserved.