|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.hadoop.util.bloom.Filter
public abstract class Filter
Defines the general behavior of a filter.
A filter is a data structure which aims at offering a lossy summary of a set A
. The
key idea is to map entries of A
(also called keys) into several positions
in a vector through the use of several hash functions.
Typically, a filter will be implemented as a Bloom filter (or a Bloom filter extension).
It must be extended in order to define the real behavior.
The general behavior of a key
,
A hash function
Field Summary | |
---|---|
protected HashFunction |
hash
The hash function used to map a key to several positions in the vector. |
protected int |
hashType
Type of hashing function to use. |
protected int |
nbHash
The number of hash function to consider. |
protected int |
vectorSize
The vector size of this filter. |
Constructor Summary | |
---|---|
protected |
Filter()
|
protected |
Filter(int vectorSize,
int nbHash,
int hashType)
Constructor. |
Method Summary | |
---|---|
void |
add(Collection<Key> keys)
Adds a collection of keys to this filter. |
abstract void |
add(Key key)
Adds a key to this filter. |
void |
add(Key[] keys)
Adds an array of keys to this filter. |
void |
add(List<Key> keys)
Adds a list of keys to this filter. |
abstract void |
and(Filter filter)
Peforms a logical AND between this filter and a specified filter. |
abstract boolean |
membershipTest(Key key)
Determines wether a specified key belongs to this filter. |
abstract void |
not()
Performs a logical NOT on this filter. |
abstract void |
or(Filter filter)
Peforms a logical OR between this filter and a specified filter. |
void |
readFields(DataInput in)
Deserialize the fields of this object from in . |
void |
write(DataOutput out)
Serialize the fields of this object to out . |
abstract void |
xor(Filter filter)
Peforms a logical XOR between this filter and a specified filter. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected int vectorSize
protected HashFunction hash
protected int nbHash
protected int hashType
Constructor Detail |
---|
protected Filter()
protected Filter(int vectorSize, int nbHash, int hashType)
vectorSize
- The vector size of this filter.nbHash
- The number of hash functions to consider.hashType
- type of the hashing function (see Hash
).Method Detail |
---|
public abstract void add(Key key)
key
- The key to add.public abstract boolean membershipTest(Key key)
key
- The key to test.
public abstract void and(Filter filter)
Invariant: The result is assigned to this filter.
filter
- The filter to AND with.public abstract void or(Filter filter)
Invariant: The result is assigned to this filter.
filter
- The filter to OR with.public abstract void xor(Filter filter)
Invariant: The result is assigned to this filter.
filter
- The filter to XOR with.public abstract void not()
The result is assigned to this filter.
public void add(List<Key> keys)
keys
- The list of keys.public void add(Collection<Key> keys)
keys
- The collection of keys.public void add(Key[] keys)
keys
- The array of keys.public void write(DataOutput out) throws IOException
Writable
out
.
write
in interface Writable
out
- DataOuput
to serialize this object into.
IOException
public void readFields(DataInput in) throws IOException
Writable
in
.
For efficiency, implementations should attempt to re-use storage in the existing object where possible.
readFields
in interface Writable
in
- DataInput
to deseriablize this object from.
IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |