@InterfaceAudience.Private public class HFileDataBlockEncoderImpl extends java.lang.Object implements HFileDataBlockEncoder
DATA_BLOCK_ENCODING| Constructor and Description |
|---|
HFileDataBlockEncoderImpl(DataBlockEncoding encoding)
Do data block encoding with specified options.
|
| Modifier and Type | Method and Description |
|---|---|
static HFileDataBlockEncoder |
createFromFileInfo(HFile.FileInfo fileInfo) |
int |
encode(Cell cell,
HFileBlockEncodingContext encodingCtx,
java.io.DataOutputStream out)
Encodes a KeyValue.
|
void |
endBlockEncoding(HFileBlockEncodingContext encodingCtx,
java.io.DataOutputStream out,
byte[] uncompressedBytesWithHeader,
BlockType blockType)
Ends encoding for a block of KeyValues.
|
DataBlockEncoding |
getDataBlockEncoding() |
DataBlockEncoding |
getEffectiveEncodingInCache(boolean isCompaction) |
HFileBlockDecodingContext |
newDataBlockDecodingContext(HFileContext fileContext)
create a encoder specific decoding context for reading.
|
HFileBlockEncodingContext |
newDataBlockEncodingContext(byte[] dummyHeader,
HFileContext fileContext)
Create an encoder specific encoding context object for writing.
|
void |
saveMetadata(HFile.Writer writer)
Save metadata in HFile which will be written to disk
|
void |
startBlockEncoding(HFileBlockEncodingContext encodingCtx,
java.io.DataOutputStream out)
Starts encoding for a block of KeyValues.
|
java.lang.String |
toString() |
boolean |
useEncodedScanner()
Decides whether we should use a scanner over encoded blocks.
|
boolean |
useEncodedScanner(boolean isCompaction) |
public HFileDataBlockEncoderImpl(DataBlockEncoding encoding)
encoding - What kind of data block encoding will be used.public static HFileDataBlockEncoder createFromFileInfo(HFile.FileInfo fileInfo) throws java.io.IOException
java.io.IOExceptionpublic void saveMetadata(HFile.Writer writer) throws java.io.IOException
HFileDataBlockEncodersaveMetadata in interface HFileDataBlockEncoderwriter - writer for a given HFilejava.io.IOException - on disk problemspublic DataBlockEncoding getDataBlockEncoding()
getDataBlockEncoding in interface HFileDataBlockEncoderpublic boolean useEncodedScanner(boolean isCompaction)
public DataBlockEncoding getEffectiveEncodingInCache(boolean isCompaction)
getEffectiveEncodingInCache in interface HFileDataBlockEncoderpublic int encode(Cell cell, HFileBlockEncodingContext encodingCtx, java.io.DataOutputStream out) throws java.io.IOException
HFileDataBlockEncoderencode in interface HFileDataBlockEncoderjava.io.IOExceptionpublic boolean useEncodedScanner()
HFileDataBlockEncoderuseEncodedScanner in interface HFileDataBlockEncoderpublic java.lang.String toString()
toString in class java.lang.Objectpublic HFileBlockEncodingContext newDataBlockEncodingContext(byte[] dummyHeader, HFileContext fileContext)
HFileDataBlockEncodernewDataBlockEncodingContext in interface HFileDataBlockEncoderdummyHeader - header bytesfileContext - HFile meta dataHFileBlockEncodingContext objectpublic HFileBlockDecodingContext newDataBlockDecodingContext(HFileContext fileContext)
HFileDataBlockEncodernewDataBlockDecodingContext in interface HFileDataBlockEncoderfileContext - - HFile meta dataHFileBlockDecodingContext objectpublic void startBlockEncoding(HFileBlockEncodingContext encodingCtx, java.io.DataOutputStream out) throws java.io.IOException
HFileDataBlockEncoderHFileDataBlockEncoder.endBlockEncoding(HFileBlockEncodingContext, DataOutputStream, byte[], BlockType)
to finish encoding of a block.startBlockEncoding in interface HFileDataBlockEncoderjava.io.IOExceptionpublic void endBlockEncoding(HFileBlockEncodingContext encodingCtx, java.io.DataOutputStream out, byte[] uncompressedBytesWithHeader, BlockType blockType) throws java.io.IOException
HFileDataBlockEncoderendBlockEncoding in interface HFileDataBlockEncoderjava.io.IOException