| Interface | Description | 
|---|---|
| DataBlockEncoder | Encoding of KeyValue. | 
| DataBlockEncoder.EncodedSeeker | An interface which enable to seek while underlying data is encoded. | 
| HFileBlockDecodingContext | A decoding context that is created by a reader's encoder, and is shared
 across all of the reader's read operations. | 
| HFileBlockEncodingContext | An encoding context that is created by a writer's encoder, and is shared
 across the writer's whole lifetime. | 
| Class | Description | 
|---|---|
| AbstractDataBlockEncoder | |
| AbstractDataBlockEncoder.AbstractEncodedSeeker | Decorates EncodedSeeker with a  HFileBlockDecodingContext | 
| BufferedDataBlockEncoder | Base class for all data block encoders that use a buffer. | 
| BufferedDataBlockEncoder.BufferedEncodedSeeker<STATE extends BufferedDataBlockEncoder.SeekerState> | |
| BufferedDataBlockEncoder.OffheapDecodedExtendedCell | |
| BufferedDataBlockEncoder.OnheapDecodedCell | Copies only the key part of the keybuffer by doing a deep copy and passes the
 seeker state members for taking a clone. | 
| BufferedDataBlockEncoder.SeekerState | |
| CompressionState | Stores the state of data block encoder at the beginning of new key. | 
| CopyKeyDataBlockEncoder | Just copy data, do not do any kind of compression. | 
| CopyKeyDataBlockEncoder.CopyKeyEncodingState | |
| CopyKeyDataBlockEncoder.SeekerStateBufferedEncodedSeeker | |
| DiffKeyDeltaEncoder | Compress using:
 - store size of common prefix
 - save column family once, it is same within HFile
 - use integer compression for key, value and prefix (7-bit encoding)
 - use bits to avoid duplication key length, value length
   and type if it same as previous
 - store in 3 bits length of timestamp field
 - allow diff in timestamp instead of actual value
 Format:
 - 1 byte:    flag
 - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)
 - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)
 - 1-5 bytes: prefix length
 - ... | 
| DiffKeyDeltaEncoder.DiffCompressionState | |
| DiffKeyDeltaEncoder.DiffSeekerState | |
| DiffKeyDeltaEncoder.DiffSeekerStateBufferedEncodedSeeker | |
| EncodedDataBlock | Encapsulates a data block compressed using a particular encoding algorithm. | 
| EncodingState | Keeps track of the encoding state. | 
| FastDiffDeltaEncoder | Encoder similar to  DiffKeyDeltaEncoderbut supposedly faster. | 
| FastDiffDeltaEncoder.FastDiffCompressionState | |
| FastDiffDeltaEncoder.FastDiffSeekerState | |
| FastDiffDeltaEncoder.FastDiffSeekerStateBufferedEncodedSeeker | |
| HFileBlockDefaultDecodingContext | A default implementation of  HFileBlockDecodingContext. | 
| HFileBlockDefaultEncodingContext | A default implementation of  HFileBlockEncodingContext. | 
| NoneEncoder | |
| PrefixKeyDeltaEncoder | Compress key by storing size of common prefix with previous KeyValue
 and storing raw size of rest. | 
| PrefixKeyDeltaEncoder.SeekerStateBufferedEncodedSeeker | |
| RowIndexCodecV1 | Store cells following every row's start offset, so we can binary search to a row's cells. | 
| RowIndexCodecV1.RowIndexEncodingState | |
| RowIndexEncoderV1 | |
| RowIndexSeekerV1 | 
| Enum | Description | 
|---|---|
| DataBlockEncoding | Provide access to all data block encoding algorithms. | 
| Exception | Description | 
|---|---|
| EncoderBufferTooSmallException | Internal error which indicates a bug in a data block encoding algorithm. | 
Copyright © 2007–2021 The Apache Software Foundation. All rights reserved.