@InterfaceAudience.Private public class CompoundBloomFilter extends CompoundBloomFilterBase implements BloomFilter
ByteBloomFilter
,
encapsulating a set of fixed-size Bloom filters written out at the time of
HFile
generation into the data
block stream, and loaded on demand at query time. This class only provides
reading capabilities.comparator, errorRate, hashType, numChunks, totalByteSize, totalKeyCount, totalMaxKeys, VERSION
Constructor and Description |
---|
CompoundBloomFilter(DataInput meta,
HFile.Reader reader)
De-serialization for compound Bloom filter metadata.
|
Modifier and Type | Method and Description |
---|---|
boolean |
contains(byte[] key,
int keyOffset,
int keyLength,
ByteBuffer bloom)
Check if the specified key is contained in the bloom filter.
|
void |
enableTestingStats() |
String |
formatTestingStats() |
KeyValue.KVComparator |
getComparator() |
int |
getNumChunks() |
long |
getNumPositivesForTesting(int chunk) |
long |
getNumQueriesForTesting(int chunk) |
boolean |
supportsAutoLoading() |
String |
toString() |
createBloomKey, getByteSize, getKeyCount, getMaxKeys
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
createBloomKey, getByteSize, getKeyCount, getMaxKeys
public CompoundBloomFilter(DataInput meta, HFile.Reader reader) throws IOException
CompoundBloomFilterWriter
does.meta
- serialized Bloom filter metadata without any magic blocksIOException
public boolean contains(byte[] key, int keyOffset, int keyLength, ByteBuffer bloom)
BloomFilter
contains
in interface BloomFilter
key
- data to check for existence ofkeyOffset
- offset into the datakeyLength
- length of the databloom
- bloom filter data to search. This can be null if auto-loading
is supported.public boolean supportsAutoLoading()
supportsAutoLoading
in interface BloomFilter
public int getNumChunks()
public KeyValue.KVComparator getComparator()
getComparator
in interface BloomFilterBase
getComparator
in class CompoundBloomFilterBase
public void enableTestingStats()
public String formatTestingStats()
public long getNumQueriesForTesting(int chunk)
public long getNumPositivesForTesting(int chunk)