@InterfaceAudience.Private public class HFileDataBlockEncoderImpl extends 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 |
---|---|
void |
beforeWriteToDisk(ByteBuffer in,
HFileBlockEncodingContext encodeCtx,
BlockType blockType)
Precondition: a non-encoded buffer.
|
static HFileDataBlockEncoder |
createFromFileInfo(HFile.FileInfo fileInfo) |
DataBlockEncoding |
getDataBlockEncoding() |
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
|
String |
toString() |
boolean |
useEncodedScanner()
Decides whether we should use a scanner over encoded blocks.
|
public HFileDataBlockEncoderImpl(DataBlockEncoding encoding)
encoding
- What kind of data block encoding will be used.public static HFileDataBlockEncoder createFromFileInfo(HFile.FileInfo fileInfo) throws IOException
IOException
public void saveMetadata(HFile.Writer writer) throws IOException
HFileDataBlockEncoder
saveMetadata
in interface HFileDataBlockEncoder
writer
- writer for a given HFileIOException
- on disk problemspublic DataBlockEncoding getDataBlockEncoding()
getDataBlockEncoding
in interface HFileDataBlockEncoder
public void beforeWriteToDisk(ByteBuffer in, HFileBlockEncodingContext encodeCtx, BlockType blockType) throws IOException
HFileBlockEncodingContext
.beforeWriteToDisk
in interface HFileDataBlockEncoder
in
- KeyValues next to each otherencodeCtx
- the encoded resultblockType
- block typeIOException
public boolean useEncodedScanner()
HFileDataBlockEncoder
useEncodedScanner
in interface HFileDataBlockEncoder
public HFileBlockEncodingContext newDataBlockEncodingContext(byte[] dummyHeader, HFileContext fileContext)
HFileDataBlockEncoder
newDataBlockEncodingContext
in interface HFileDataBlockEncoder
dummyHeader
- header bytesfileContext
- HFile meta dataHFileBlockEncodingContext
objectpublic HFileBlockDecodingContext newDataBlockDecodingContext(HFileContext fileContext)
HFileDataBlockEncoder
newDataBlockDecodingContext
in interface HFileDataBlockEncoder
fileContext
- - HFile meta dataHFileBlockDecodingContext
objectCopyright © 2014 The Apache Software Foundation. All rights reserved.