@InterfaceAudience.Private public class HFileDataBlockEncoderImpl extends Object implements HFileDataBlockEncoder
DATA_BLOCK_ENCODING| 构造器和说明 |
|---|
HFileDataBlockEncoderImpl(DataBlockEncoding encoding)
Do data block encoding with specified options.
|
| 限定符和类型 | 方法和说明 |
|---|---|
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) |
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 在接口中 HFileDataBlockEncoderwriter - writer for a given HFileIOException - on disk problemspublic DataBlockEncoding getDataBlockEncoding()
getDataBlockEncoding 在接口中 HFileDataBlockEncoderpublic boolean useEncodedScanner(boolean isCompaction)
public DataBlockEncoding getEffectiveEncodingInCache(boolean isCompaction)
getEffectiveEncodingInCache 在接口中 HFileDataBlockEncoderpublic int encode(Cell cell, HFileBlockEncodingContext encodingCtx, DataOutputStream out) throws IOException
HFileDataBlockEncoderencode 在接口中 HFileDataBlockEncoderIOExceptionpublic boolean useEncodedScanner()
HFileDataBlockEncoderuseEncodedScanner 在接口中 HFileDataBlockEncoderpublic HFileBlockEncodingContext newDataBlockEncodingContext(byte[] dummyHeader, HFileContext fileContext)
HFileDataBlockEncodernewDataBlockEncodingContext 在接口中 HFileDataBlockEncoderdummyHeader - header bytesfileContext - HFile meta dataHFileBlockEncodingContext objectpublic HFileBlockDecodingContext newDataBlockDecodingContext(HFileContext fileContext)
HFileDataBlockEncodernewDataBlockDecodingContext 在接口中 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 在接口中 HFileDataBlockEncoderIOExceptionpublic void endBlockEncoding(HFileBlockEncodingContext encodingCtx, DataOutputStream out, byte[] uncompressedBytesWithHeader, BlockType blockType) throws IOException
HFileDataBlockEncoderendBlockEncoding 在接口中 HFileDataBlockEncoderIOExceptionCopyright © 2007–2019 The Apache Software Foundation. All rights reserved.