@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,
boolean includesMemstoreTS,
HFileBlockEncodingContext encodeCtx,
BlockType blockType)
Precondition: a non-encoded buffer.
|
static HFileDataBlockEncoder |
createFromFileInfo(org.apache.hadoop.hbase.io.hfile.HFile.FileInfo fileInfo) |
DataBlockEncoding |
getDataBlockEncoding() |
HFileBlockDecodingContext |
newDataBlockDecodingContext(Compression.Algorithm compressionAlgorithm)
create a encoder specific decoding context for reading.
|
HFileBlockEncodingContext |
newDataBlockEncodingContext(Compression.Algorithm compressionAlgorithm,
byte[] dummyHeader)
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(org.apache.hadoop.hbase.io.hfile.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, boolean includesMemstoreTS, 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(Compression.Algorithm compressionAlgorithm, byte[] dummyHeader)
HFileDataBlockEncoder
newDataBlockEncodingContext
in interface HFileDataBlockEncoder
compressionAlgorithm
- compression algorithmdummyHeader
- header bytesHFileBlockEncodingContext
objectpublic HFileBlockDecodingContext newDataBlockDecodingContext(Compression.Algorithm compressionAlgorithm)
HFileDataBlockEncoder
newDataBlockDecodingContext
in interface HFileDataBlockEncoder
HFileBlockDecodingContext
objectCopyright © 2014 The Apache Software Foundation. All rights reserved.