[
https://issues.apache.org/jira/browse/HIVE-1721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12927544#action_12927544
]
Joydeep Sen Sarma commented on HIVE-1721:
-----------------------------------------
a bloom filter takes 10 bits per entry (with reasonable probability. i remember
reading this value from wikipedia).
Our java hash tables take 2000 bytes per key-value pair (based on tests done by
Liyin for reasonable sized keys/values).
So the idea is that if the small table is too big to be loaded into memory -
but small enough that it's bloom filter can be stored in memory - then we can
first do a filter of the large table and then do the sort.
> use bloom filters to improve the performance of joins
> -----------------------------------------------------
>
> Key: HIVE-1721
> URL: https://issues.apache.org/jira/browse/HIVE-1721
> Project: Hive
> Issue Type: New Feature
> Components: Query Processor
> Reporter: Namit Jain
> Assignee: Siying Dong
>
> In case of map-joins, it is likely that the big table will not find many
> matching rows from the small table.
> Currently, we perform a hash-map lookup for every row in the big table, which
> can be pretty expensive.
> It might be useful to try out a bloom-filter containing all the elements in
> the small table.
> Each element from the big table is first searched in the bloom filter, and
> only in case of a positive match,
> the small table hash table is explored.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.