@InterfaceAudience.Private public abstract class AbstractHFileReader extends java.lang.Object implements HFile.Reader
HFile
readers.Modifier and Type | Class and Description |
---|---|
static class |
AbstractHFileReader.BlockIndexNotLoadedException |
static class |
AbstractHFileReader.NotSeekedException
An exception thrown when an operation requiring a scanner to be seeked
is invoked on a scanner that is not seeked.
|
protected static class |
AbstractHFileReader.Scanner |
Modifier and Type | Field and Description |
---|---|
protected int |
avgKeyLen
Average key length read from file info
|
protected int |
avgValueLen
Average value length read from file info
|
protected CacheConfig |
cacheConf
Block cache configuration.
|
protected KeyValue.KVComparator |
comparator
Key comparator
|
protected Compression.Algorithm |
compressAlgo
Filled when we read in the trailer.
|
protected Configuration |
conf |
protected HFileDataBlockEncoder |
dataBlockEncoder
What kind of data block encoding should be used while reading, writing,
and handling cache.
|
protected HFileBlockIndex.BlockIndexReader |
dataBlockIndexReader
Data block index reader keeping the root data index in memory
|
protected HFile.FileInfo |
fileInfo |
protected long |
fileSize
Size of this file.
|
protected HFileSystem |
hfs
The filesystem used for accesing data
|
protected FSDataInputStream |
istream
Stream to read from.
|
protected FSDataInputStream |
istreamNoFsChecksum
The file system stream of the underlying
HFile that
does not do checksum verification in the file system |
protected byte[] |
lastKey
Last key in the file.
|
protected HFileBlockIndex.BlockIndexReader |
metaBlockIndexReader
Meta block index reader -- always single level
|
protected java.lang.String |
name
File name to be used for block names
|
protected Path |
path
Path of file
|
protected FixedFileTrailer |
trailer |
Modifier | Constructor and Description |
---|---|
protected |
AbstractHFileReader(Path path,
FixedFileTrailer trailer,
long fileSize,
CacheConfig cacheConf,
HFileSystem hfs,
Configuration conf) |
Modifier and Type | Method and Description |
---|---|
KeyValue.KVComparator |
getComparator() |
Compression.Algorithm |
getCompressionAlgorithm() |
Configuration |
getConf() |
DataBlockEncoding |
getDataBlockEncoding() |
HFileBlockIndex.BlockIndexReader |
getDataBlockIndexReader() |
long |
getEntries() |
byte[] |
getFirstKey() |
byte[] |
getFirstRowKey()
|
byte[] |
getLastRowKey()
|
abstract int |
getMajorVersion() |
java.lang.String |
getName()
Returns this reader's "name".
|
Path |
getPath() |
HFileScanner |
getScanner(boolean cacheBlocks,
boolean pread)
Create a Scanner on this file.
|
FixedFileTrailer |
getTrailer() |
long |
indexSize() |
abstract boolean |
isFileInfoLoaded() |
boolean |
isPrimaryReplicaReader() |
long |
length() |
HFile.FileInfo |
loadFileInfo() |
void |
setConf(Configuration conf) |
void |
setPrimaryReplicaReader(boolean isPrimaryReplicaReader) |
java.lang.String |
toString() |
protected java.lang.String |
toStringFirstKey() |
protected java.lang.String |
toStringLastKey() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
close, getDeleteBloomFilterMetadata, getFileContext, getGeneralBloomFilterMetadata, getLastKey, getMetaBlock, getScanner, hasMVCCInfo, midkey, unbufferStream
readBlock
protected FSDataInputStream istream
protected FSDataInputStream istreamNoFsChecksum
HFile
that
does not do checksum verification in the file systemprotected HFileBlockIndex.BlockIndexReader dataBlockIndexReader
protected HFileBlockIndex.BlockIndexReader metaBlockIndexReader
protected final FixedFileTrailer trailer
protected final Compression.Algorithm compressAlgo
protected HFileDataBlockEncoder dataBlockEncoder
protected byte[] lastKey
protected int avgKeyLen
protected int avgValueLen
protected KeyValue.KVComparator comparator
protected final long fileSize
protected final CacheConfig cacheConf
protected final Path path
protected final java.lang.String name
protected HFile.FileInfo fileInfo
protected HFileSystem hfs
protected Configuration conf
protected AbstractHFileReader(Path path, FixedFileTrailer trailer, long fileSize, CacheConfig cacheConf, HFileSystem hfs, Configuration conf)
protected java.lang.String toStringFirstKey()
protected java.lang.String toStringLastKey()
public abstract boolean isFileInfoLoaded()
public java.lang.String toString()
toString
in class java.lang.Object
public long length()
length
in interface HFile.Reader
public HFileScanner getScanner(boolean cacheBlocks, boolean pread)
HFileScanner.seekTo(byte[])
to position an start the read. There is
nothing to clean up in a Scanner. Letting go of your references to the
scanner is sufficient. NOTE: Do not use this overload of getScanner for
compactions.getScanner
in interface HFile.Reader
cacheBlocks
- True if we should cache blocks read in by this scanner.pread
- Use positional read rather than seek+read if true (pread is
better for random reads, seek+read is better scanning).public byte[] getFirstKey()
getFirstKey
in interface HFile.Reader
public byte[] getFirstRowKey()
HFile
version 1: move this to StoreFile after Ryan's
patch goes in to eliminate KeyValue
here.getFirstRowKey
in interface HFile.Reader
public byte[] getLastRowKey()
HFile
version 1: move this to StoreFile after
Ryan's patch goes in to eliminate KeyValue
here.getLastRowKey
in interface HFile.Reader
public long getEntries()
getEntries
in interface HFile.Reader
public KeyValue.KVComparator getComparator()
getComparator
in interface HFile.Reader
public Compression.Algorithm getCompressionAlgorithm()
getCompressionAlgorithm
in interface HFile.Reader
public long indexSize()
indexSize
in interface HFile.Reader
public java.lang.String getName()
HFile.Reader
getName
in interface HFile.Reader
public HFileBlockIndex.BlockIndexReader getDataBlockIndexReader()
getDataBlockIndexReader
in interface HFile.Reader
public FixedFileTrailer getTrailer()
getTrailer
in interface HFile.Reader
public boolean isPrimaryReplicaReader()
isPrimaryReplicaReader
in interface HFile.Reader
public void setPrimaryReplicaReader(boolean isPrimaryReplicaReader)
setPrimaryReplicaReader
in interface HFile.Reader
public HFile.FileInfo loadFileInfo() throws java.io.IOException
loadFileInfo
in interface HFile.Reader
java.io.IOException
public Path getPath()
getPath
in interface HFile.Reader
public DataBlockEncoding getDataBlockEncoding()
getDataBlockEncoding
in interface HFile.Reader
public abstract int getMajorVersion()
public Configuration getConf()
public void setConf(Configuration conf)