@InterfaceAudience.Private public class HFileDataBlockEncoderImpl extends Object implements HFileDataBlockEncoder
| Modifier and Type | Field and Description |
|---|---|
private DataBlockEncoding |
encoding |
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,
DataOutputStream out)
Encodes a KeyValue.
|
void |
endBlockEncoding(HFileBlockEncodingContext encodingCtx,
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,
DataOutputStream out)
Starts encoding for a block of KeyValues.
|
String |
toString() |
boolean |
useEncodedScanner()
Decides whether we should use a scanner over encoded blocks.
|
boolean |
useEncodedScanner(boolean isCompaction) |
private final DataBlockEncoding encoding
public HFileDataBlockEncoderImpl(DataBlockEncoding encoding)
encoding - What kind of data block encoding will be used.public static HFileDataBlockEncoder createFromFileInfo(HFile.FileInfo fileInfo) throws IOException
IOExceptionpublic void saveMetadata(HFile.Writer writer) throws IOException
HFileDataBlockEncodersaveMetadata in interface HFileDataBlockEncoderwriter - writer for a given HFileIOException - 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, DataOutputStream out) throws IOException
HFileDataBlockEncoderencode in interface HFileDataBlockEncoderIOExceptionpublic boolean useEncodedScanner()
HFileDataBlockEncoderuseEncodedScanner in interface HFileDataBlockEncoderpublic 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, DataOutputStream out) throws IOException
HFileDataBlockEncoderHFileDataBlockEncoder.endBlockEncoding(HFileBlockEncodingContext, DataOutputStream, byte[], BlockType)
to finish encoding of a block.startBlockEncoding in interface HFileDataBlockEncoderIOExceptionpublic void endBlockEncoding(HFileBlockEncodingContext encodingCtx, DataOutputStream out, byte[] uncompressedBytesWithHeader, BlockType blockType) throws IOException
HFileDataBlockEncoderendBlockEncoding in interface HFileDataBlockEncoderIOExceptionCopyright © 2007–2019 The Apache Software Foundation. All rights reserved.