[
https://issues.apache.org/jira/browse/HADOOP-3063?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrzej Bialecki updated HADOOP-3063:
--------------------------------------
Attachment: bloommap.patch
BloomMapFile implementation and JUnit test.
NOTE 1: I wasn't sure how to approach the issue of the org.onelab.* classes
that I borrowed from HBase (which originally were a part of Hadoop core ;) ).
For now they are included verbatim here in this patch.
NOTE 2: the BloomFilter and DynamicBloomFilter classes contained a few bugs
related to their Writable (de)serialization, some of them related to specific
assumptions about the environment, some others fatal under all conditions. This
patch contains these fixes too.
> BloomMapFile - fail-fast version of MapFile for sparsely populated key space
> ----------------------------------------------------------------------------
>
> Key: HADOOP-3063
> URL: https://issues.apache.org/jira/browse/HADOOP-3063
> Project: Hadoop Core
> Issue Type: Improvement
> Components: io
> Affects Versions: 0.17.0
> Reporter: Andrzej Bialecki
> Fix For: 0.17.0
>
> Attachments: bloommap.patch
>
>
> The need for this improvement arose when working with large ancillary
> MapFile-s (essentially used as external dictionaries). For each invokation of
> map() / reduce() it was necessary to perform several look-ups in these
> MapFile-s, and in case of sparsely populated key-space the cost of finding
> that a key is absent was too high.
> This patch implements a subclass of MapFile that creates a Bloom filter from
> all keys, so that accurate tests for absence of keys can be performed quickly
> and with 100% accuracy.
> Writer.append() operations update a DynamicBloomFilter, which is then
> serialized when the Writer is closed. This filter is loaded in memory when a
> Reader is created. Reader.get() operation first checks the filter for the key
> membership, and if the key is absent it immediately returns null without
> doing any further IO.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.