|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.hadoop.hbase.io.hfile.HFileDataBlockEncoderImpl
@InterfaceAudience.Private public class HFileDataBlockEncoderImpl
Do different kinds of data block encoding according to column family options.
Field Summary |
---|
Fields inherited from interface org.apache.hadoop.hbase.io.hfile.HFileDataBlockEncoder |
---|
DATA_BLOCK_ENCODING |
Constructor Summary | |
---|---|
HFileDataBlockEncoderImpl(DataBlockEncoding encoding)
|
|
HFileDataBlockEncoderImpl(DataBlockEncoding onDisk,
DataBlockEncoding inCache)
Do data block encoding with specified options. |
|
HFileDataBlockEncoderImpl(DataBlockEncoding onDisk,
DataBlockEncoding inCache,
byte[] dummyHeader)
Do data block encoding with specified options. |
Method Summary | |
---|---|
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 preferredEncodingInCache)
|
HFileBlock |
diskToCacheFormat(HFileBlock block,
boolean isCompaction)
Converts a block from the on-disk format to the in-cache format. |
DataBlockEncoding |
getEffectiveEncodingInCache(boolean isCompaction)
|
DataBlockEncoding |
getEncodingInCache()
|
DataBlockEncoding |
getEncodingOnDisk()
|
HFileBlockDecodingContext |
newOnDiskDataBlockDecodingContext(Compression.Algorithm compressionAlgorithm)
create a encoder specific decoding context for reading. |
HFileBlockEncodingContext |
newOnDiskDataBlockEncodingContext(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(boolean isCompaction)
Decides whether we should use a scanner over encoded blocks. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public HFileDataBlockEncoderImpl(DataBlockEncoding encoding)
public HFileDataBlockEncoderImpl(DataBlockEncoding onDisk, DataBlockEncoding inCache)
onDisk
- What kind of data block encoding will be used before writing
HFileBlock to disk. This must be either the same as inCache or
DataBlockEncoding.NONE
.inCache
- What kind of data block encoding will be used in block
cache.public HFileDataBlockEncoderImpl(DataBlockEncoding onDisk, DataBlockEncoding inCache, byte[] dummyHeader)
onDisk
- What kind of data block encoding will be used before writing
HFileBlock to disk. This must be either the same as inCache or
DataBlockEncoding.NONE
.inCache
- What kind of data block encoding will be used in block
cache.dummyHeader
- dummy header bytesMethod Detail |
---|
public static HFileDataBlockEncoder createFromFileInfo(org.apache.hadoop.hbase.io.hfile.HFile.FileInfo fileInfo, DataBlockEncoding preferredEncodingInCache) throws IOException
IOException
public void saveMetadata(HFile.Writer writer) throws IOException
HFileDataBlockEncoder
saveMetadata
in interface HFileDataBlockEncoder
writer
- writer for a given HFile
IOException
- on disk problemspublic DataBlockEncoding getEncodingOnDisk()
getEncodingOnDisk
in interface HFileDataBlockEncoder
public DataBlockEncoding getEncodingInCache()
getEncodingInCache
in interface HFileDataBlockEncoder
public DataBlockEncoding getEffectiveEncodingInCache(boolean isCompaction)
getEffectiveEncodingInCache
in interface HFileDataBlockEncoder
public HFileBlock diskToCacheFormat(HFileBlock block, boolean isCompaction)
HFileDataBlockEncoder
diskToCacheFormat
in interface HFileDataBlockEncoder
block
- a block in an on-disk format (read from HFile or freshly
generated).
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 type
IOException
public boolean useEncodedScanner(boolean isCompaction)
HFileDataBlockEncoder
useEncodedScanner
in interface HFileDataBlockEncoder
isCompaction
- whether we are in a compaction.
public String toString()
toString
in class Object
public HFileBlockEncodingContext newOnDiskDataBlockEncodingContext(Compression.Algorithm compressionAlgorithm, byte[] dummyHeader)
HFileDataBlockEncoder
newOnDiskDataBlockEncodingContext
in interface HFileDataBlockEncoder
compressionAlgorithm
- compression algorithmdummyHeader
- header bytes
HFileBlockEncodingContext
objectpublic HFileBlockDecodingContext newOnDiskDataBlockDecodingContext(Compression.Algorithm compressionAlgorithm)
HFileDataBlockEncoder
newOnDiskDataBlockDecodingContext
in interface HFileDataBlockEncoder
HFileBlockDecodingContext
object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |