class
org.apache.hadoop.hbase.io.encoding.AbstractDataBlockEncoder
class
org.apache.hadoop.hbase.io.encoding.CopyKeyDataBlockEncoder
Just copy data, do not do any kind of compression.
class
org.apache.hadoop.hbase.io.encoding.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 - ...
class
org.apache.hadoop.hbase.io.encoding.FastDiffDeltaEncoder
Encoder similar to DiffKeyDeltaEncoder
but supposedly faster.
class
org.apache.hadoop.hbase.io.encoding.PrefixKeyDeltaEncoder
Compress key by storing size of common prefix with previous KeyValue and storing raw size of
rest.
class
org.apache.hadoop.hbase.io.encoding.RowIndexCodecV1
Store cells following every row's start offset, so we can binary search to a row's cells.
static org.apache.hadoop.hbase.io.encoding.DataBlockEncoder
DataBlockEncoding.getDataBlockEncoderById(short encoderId)
Find and create data block encoder for given id;
org.apache.hadoop.hbase.io.encoding.DataBlockEncoder
DataBlockEncoding.getEncoder()
Return new data block encoder for given algorithm type.
static boolean
DataBlockEncoding.isCorrectEncoder(org.apache.hadoop.hbase.io.encoding.DataBlockEncoder encoder,
short encoderId)
Check if given encoder has this id.
EncodedDataBlock(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.hbase.io.encoding.DataBlockEncoder dataBlockEncoder,
org.apache.hadoop.hbase.io.encoding.DataBlockEncoding encoding,
byte[] rawKVs,
org.apache.hadoop.hbase.io.hfile.HFileContext meta)
Create a buffer which will be encoded using dataBlockEncoder.