When I create a column for an Hbase table, I have to create
an instance of the HColumnDescriptor class, and
pass over an instance of the BloomFilterDescriptor class
describing which bloom filter to use to the constructor
of the HColumnDescriptor class.
But there is some inconvenience in using the BloomFilterDescriptor class:
1. Non-existence of a single argument constructor
When creating an instance of the BloomFilterDescriptor class,
I need to specify some options for the newly created bloom filter.
There are three options: type, vectorSize, nbHash.
I know that these options are important for
the internal working of a bloom filter, but I cannot help
but confess that I don't really understand
what vectorSize and hbHash mean and how these two options
affect the way in which a bloom filter works.
As the user of a bloom filter, the only thing I am concerned with is
the first option, the name of the bloom filter that I'd like to
use for the column, and it would be nice if the other options
are automatically decided and filled in.
So it would be nice if there is a constructor
with a single 'type' argument in the BloomFilterDescriptor class.
2. Bloom filter types are defined as integers
Bloom filter types are not in an enumeration class.
Thus, when filling in the type option of the constructor
from a String value, I always have to write some translation
code from the string value to one of the integer values
representing bloom filter types.
If there is an enumeration class containing bloom filter types,
I can utilize the valueOf method of the enumeration class
to do this tedious job.
Inchul Song, Ph.D. Candidate
Division of Computer Science, KAIST
Email: firstname.lastname@example.org, email@example.com