@InterfaceAudience.Private public class CompoundBloomFilterWriter extends CompoundBloomFilterBase implements BloomFilterWriter, InlineBlockWriter
HFile
to the
CompoundBloomFilter
class.comparator, errorRate, hashType, numChunks, totalByteSize, totalKeyCount, totalMaxKeys, VERSION
Constructor and Description |
---|
CompoundBloomFilterWriter(int chunkByteSizeHint,
float errorRate,
int hashType,
int maxFold,
boolean cacheOnWrite,
KeyValue.KVComparator comparator) |
Modifier and Type | Method and Description |
---|---|
void |
add(byte[] bloomKey,
int keyOffset,
int keyLength)
Adds a Bloom filter key.
|
void |
allocBloom()
Allocate memory for the bloom filter data.
|
void |
blockWritten(long offset,
int onDiskSize,
int uncompressedSize)
Called after a block has been written, and its offset, raw size, and
compressed size have been determined.
|
void |
compactBloom()
Compact the Bloom filter before writing metadata & data to disk.
|
boolean |
getCacheOnWrite() |
org.apache.hadoop.io.Writable |
getDataWriter()
Get a writable interface into bloom filter data (the actual Bloom bits).
|
BlockType |
getInlineBlockType()
The type of blocks this block writer produces.
|
org.apache.hadoop.io.Writable |
getMetaWriter()
Get a writable interface into bloom filter meta data.
|
boolean |
shouldWriteBlock(boolean closing)
Determines whether there is a new block to be written out.
|
void |
writeInlineBlock(DataOutput out)
Writes the block to the provided stream.
|
createBloomKey, getByteSize, getComparator, getKeyCount, getMaxKeys
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
createBloomKey, getByteSize, getComparator, getKeyCount, getMaxKeys
public CompoundBloomFilterWriter(int chunkByteSizeHint, float errorRate, int hashType, int maxFold, boolean cacheOnWrite, KeyValue.KVComparator comparator)
chunkByteSizeHint
- each chunk's size in bytes. The real chunk size might be different
as required by the fold factor.errorRate
- target false positive ratehashType
- hash function type to usemaxFold
- maximum degree of folding allowedpublic boolean shouldWriteBlock(boolean closing)
InlineBlockWriter
shouldWriteBlock
in interface InlineBlockWriter
closing
- whether the file is being closed, in which case we need to write
out all available data and not wait to accumulate another blockpublic void add(byte[] bloomKey, int keyOffset, int keyLength)
StoreFile.Writer.append(
org.apache.hadoop.hbase.Cell)
for the details of deduplication.add
in interface BloomFilterWriter
bloomKey
- data to be added to the bloomkeyOffset
- offset into the data to be addedkeyLength
- length of the data to be addedpublic void writeInlineBlock(DataOutput out) throws IOException
InlineBlockWriter
InlineBlockWriter.shouldWriteBlock(boolean)
returned true.writeInlineBlock
in interface InlineBlockWriter
out
- a stream (usually a compressing stream) to write the block toIOException
public void blockWritten(long offset, int onDiskSize, int uncompressedSize)
InlineBlockWriter
blockWritten
in interface InlineBlockWriter
offset
- the offset of the block in the streamonDiskSize
- the on-disk size of the blockuncompressedSize
- the uncompressed size of the blockpublic BlockType getInlineBlockType()
InlineBlockWriter
getInlineBlockType
in interface InlineBlockWriter
public org.apache.hadoop.io.Writable getMetaWriter()
BloomFilterWriter
getMetaWriter
in interface BloomFilterWriter
public void compactBloom()
BloomFilterWriter
compactBloom
in interface BloomFilterWriter
public void allocBloom()
BloomFilterWriter
allocBloom
in interface BloomFilterWriter
public org.apache.hadoop.io.Writable getDataWriter()
BloomFilterWriter
getDataWriter
in interface BloomFilterWriter
public boolean getCacheOnWrite()
getCacheOnWrite
in interface InlineBlockWriter
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.