hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stamatis Zampetakis (Jira)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-24221) Use vectorizable expression to combine multiple columns in semijoin bloom filters
Date Fri, 02 Oct 2020 10:20:00 GMT

    [ https://issues.apache.org/jira/browse/HIVE-24221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17206086#comment-17206086
] 

Stamatis Zampetakis commented on HIVE-24221:
--------------------------------------------

There are various ways to create a hash from composite keys/columns. Without any special effort
to derive a perfect hash function we can do the following:

Input columns: A, B, C, D

+Option A:+ 
{noformat}
hash(hash(hash(A, B), C), D)
{noformat}

+Option B:+ 
{noformat}
31*(31*(31 * hash(A) + hash(B)) + hash(C)) + hash(D)
{noformat}

The second option is more or less what happens currently when we write hash(A, B, C, D) in
the non-vectorized implementation of GenericUDFMurmurHash.
The first option although it looks simpler is computationally more expensive.

> Use vectorizable expression to combine multiple columns in semijoin bloom filters
> ---------------------------------------------------------------------------------
>
>                 Key: HIVE-24221
>                 URL: https://issues.apache.org/jira/browse/HIVE-24221
>             Project: Hive
>          Issue Type: Improvement
>          Components: Query Planning
>         Environment: 
>            Reporter: Stamatis Zampetakis
>            Assignee: Stamatis Zampetakis
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently, multi-column semijoin reducers use an n-ary call to GenericUDFMurmurHash to
combine multiple values into one, which is used as an entry to the bloom filter. However,
there are no vectorized operators that treat n-ary inputs. The same goes for the vectorized
implementation of GenericUDFMurmurHash introduced in HIVE-23976. 
> The goal of this issue is to choose an alternative way to combine multiple values into
one to pass in the bloom filter comprising only vectorized operators.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message