@InterfaceAudience.LimitedPrivate(value="Phoenix") @InterfaceStability.Evolving public class StoreFileReader extends Object
| Modifier and Type | Field and Description |
|---|---|
protected BloomType |
bloomFilterType |
protected org.apache.hadoop.conf.Configuration |
conf |
protected BloomFilter |
deleteFamilyBloomFilter |
protected BloomFilter |
generalBloomFilter |
protected long |
sequenceID |
protected TimeRange |
timeRange |
| Constructor and Description |
|---|
StoreFileReader(ReaderContext context,
HFileInfo fileInfo,
CacheConfig cacheConf,
AtomicInteger refCount,
org.apache.hadoop.conf.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.
|
Optional<Cell> |
getFirstKey() |
int |
getHFileMinorVersion() |
HFile.Reader |
getHFileReader() |
int |
getHFileVersion() |
Optional<Cell> |
getLastKey() |
Optional<byte[]> |
getLastRowKey() |
long |
getMaxTimestamp() |
int |
getPrefixLength() |
ReaderContext |
getReaderContext() |
HFileScanner |
getScanner(boolean cacheBlocks,
boolean pread)
Deprecated.
since 2.0.0 and will be removed in 3.0.0. 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.
since 2.0.0 and will be removed in 3.0.0. 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. should we cache the blocks? use pread (for concurrent small readers) is
scanner being used for compaction?
|
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,
BloomFilterMetrics metrics) |
Map<byte[],byte[]> |
loadFileInfo() |
Optional<Cell> |
midKey() |
boolean |
passesDeleteFamilyBloomFilter(byte[] row,
int rowOffset,
int rowLen) |
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
protected org.apache.hadoop.conf.Configuration conf
public StoreFileReader(ReaderContext context, HFileInfo fileInfo, CacheConfig cacheConf, AtomicInteger refCount, org.apache.hadoop.conf.Configuration conf) throws IOException
IOExceptionpublic 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)
public void close(boolean evictOnClose)
throws IOException
IOExceptionpublic boolean passesDeleteFamilyBloomFilter(byte[] row,
int rowOffset,
int rowLen)
public boolean passesGeneralRowColBloomFilter(Cell cell)
public boolean passesKeyRangeFilter(Scan scan)
scan - the scan specification. Used to determine the rowkey range.public Map<byte[],byte[]> loadFileInfo() throws IOException
IOExceptionpublic void loadBloomfilter()
public void loadBloomfilter(BlockType blockType, BloomFilterMetrics metrics)
public long getFilterEntries()
public void setGeneralBloomFilterFaulty()
public void setDeleteFamilyBloomFilterFaulty()
public Optional<byte[]> getLastRowKey()
public Optional<Cell> midKey() throws IOException
IOExceptionpublic long length()
public long getTotalUncompressedBytes()
public long getEntries()
public long getDeleteFamilyCnt()
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()
public int getPrefixLength()
public ReaderContext getReaderContext()
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.