public class StoreFileReader
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected BloomType |
bloomFilterType |
protected BloomFilter |
deleteFamilyBloomFilter |
protected BloomFilter |
generalBloomFilter |
protected long |
sequenceID |
protected TimeRange |
timeRange |
Constructor and Description |
---|
StoreFileReader(FileSystem fs,
Path path,
CacheConfig cacheConf,
boolean primaryReplicaStoreFile,
java.util.concurrent.atomic.AtomicInteger refCount,
boolean shared,
Configuration conf) |
StoreFileReader(FileSystem fs,
Path path,
FSDataInputStreamWrapper in,
long size,
CacheConfig cacheConf,
boolean primaryReplicaStoreFile,
java.util.concurrent.atomic.AtomicInteger refCount,
boolean shared,
Configuration conf) |
Modifier and Type | Method and Description |
---|---|
void |
close(boolean evictOnClose) |
BloomType |
getBloomFilterType() |
CellComparator |
getComparator() |
long |
getDeleteFamilyCnt() |
long |
getEntries() |
long |
getFilterEntries()
The number of Bloom filter entries in this store file, or an estimate
thereof, if the Bloom filter is not loaded.
|
java.util.Optional<Cell> |
getFirstKey() |
int |
getHFileMinorVersion() |
HFile.Reader |
getHFileReader() |
int |
getHFileVersion() |
java.util.Optional<Cell> |
getLastKey() |
java.util.Optional<byte[]> |
getLastRowKey() |
long |
getMaxTimestamp() |
HFileScanner |
getScanner(boolean cacheBlocks,
boolean pread)
Deprecated.
Do not write further code which depends on this call. Instead
use getStoreFileScanner() which uses the StoreFileScanner class/interface
which is the preferred way to scan a store with higher level concepts.
|
HFileScanner |
getScanner(boolean cacheBlocks,
boolean pread,
boolean isCompaction)
Deprecated.
Do not write further code which depends on this call. Instead
use getStoreFileScanner() which uses the StoreFileScanner class/interface
which is the preferred way to scan a store with higher level concepts.
|
long |
getSequenceID() |
StoreFileScanner |
getStoreFileScanner(boolean cacheBlocks,
boolean pread,
boolean isCompaction,
long readPt,
long scannerOrder,
boolean canOptimizeForNonNullColumn)
Get a scanner to scan over this StoreFile.
|
long |
getTotalBloomSize() |
long |
getTotalUncompressedBytes() |
long |
indexSize() |
boolean |
isBulkLoaded() |
boolean |
isPrimaryReplicaReader() |
long |
length() |
void |
loadBloomfilter() |
void |
loadBloomfilter(BlockType blockType) |
java.util.Map<byte[],byte[]> |
loadFileInfo() |
java.util.Optional<Cell> |
midKey() |
boolean |
passesDeleteFamilyBloomFilter(byte[] row,
int rowOffset,
int rowLen) |
boolean |
passesGeneralRowBloomFilter(byte[] row,
int rowOffset,
int rowLen)
A method for checking Bloom filters.
|
boolean |
passesGeneralRowColBloomFilter(Cell cell)
A method for checking Bloom filters.
|
boolean |
passesKeyRangeFilter(Scan scan)
Checks whether the given scan rowkey range overlaps with the current storefile's
|
void |
setBulkLoaded(boolean bulkLoadResult) |
void |
setDeleteFamilyBloomFilterFaulty() |
void |
setGeneralBloomFilterFaulty() |
void |
setSequenceID(long sequenceID) |
protected BloomFilter generalBloomFilter
protected BloomFilter deleteFamilyBloomFilter
protected BloomType bloomFilterType
protected long sequenceID
protected TimeRange timeRange
public StoreFileReader(FileSystem fs, Path path, CacheConfig cacheConf, boolean primaryReplicaStoreFile, java.util.concurrent.atomic.AtomicInteger refCount, boolean shared, Configuration conf) throws java.io.IOException
java.io.IOException
public StoreFileReader(FileSystem fs, Path path, FSDataInputStreamWrapper in, long size, CacheConfig cacheConf, boolean primaryReplicaStoreFile, java.util.concurrent.atomic.AtomicInteger refCount, boolean shared, Configuration conf) throws java.io.IOException
java.io.IOException
public boolean isPrimaryReplicaReader()
public CellComparator getComparator()
public StoreFileScanner getStoreFileScanner(boolean cacheBlocks, boolean pread, boolean isCompaction, long readPt, long scannerOrder, boolean canOptimizeForNonNullColumn)
cacheBlocks
- should this scanner cache blocks?pread
- use pread (for highly concurrent small readers)isCompaction
- is scanner being used for compaction?scannerOrder
- Order of this scanner relative to other scanners. See
KeyValueScanner.getScannerOrder()
.canOptimizeForNonNullColumn
- true
if we can make sure there is no null column,
otherwise false
. This is a hint for optimization.@Deprecated public HFileScanner getScanner(boolean cacheBlocks, boolean pread)
cacheBlocks
- should we cache the blocks?pread
- use pread (for concurrent small readers)@Deprecated public HFileScanner getScanner(boolean cacheBlocks, boolean pread, boolean isCompaction)
cacheBlocks
- should we cache the blocks?pread
- use pread (for concurrent small readers)isCompaction
- is scanner being used for compaction?public void close(boolean evictOnClose) throws java.io.IOException
java.io.IOException
public boolean passesDeleteFamilyBloomFilter(byte[] row, int rowOffset, int rowLen)
public boolean passesGeneralRowBloomFilter(byte[] row, int rowOffset, int rowLen)
public boolean passesGeneralRowColBloomFilter(Cell cell)
cell
- the cell to check if present in BloomFilterpublic boolean passesKeyRangeFilter(Scan scan)
scan
- the scan specification. Used to determine the rowkey range.public java.util.Map<byte[],byte[]> loadFileInfo() throws java.io.IOException
java.io.IOException
public void loadBloomfilter()
public void loadBloomfilter(BlockType blockType)
public long getFilterEntries()
public void setGeneralBloomFilterFaulty()
public void setDeleteFamilyBloomFilterFaulty()
public java.util.Optional<Cell> getLastKey()
public java.util.Optional<byte[]> getLastRowKey()
public java.util.Optional<Cell> midKey() throws java.io.IOException
java.io.IOException
public long length()
public long getTotalUncompressedBytes()
public long getEntries()
public long getDeleteFamilyCnt()
public java.util.Optional<Cell> getFirstKey()
public long indexSize()
public BloomType getBloomFilterType()
public long getSequenceID()
public void setSequenceID(long sequenceID)
public void setBulkLoaded(boolean bulkLoadResult)
public boolean isBulkLoaded()
public long getTotalBloomSize()
public int getHFileVersion()
public int getHFileMinorVersion()
public HFile.Reader getHFileReader()
public long getMaxTimestamp()