Stamatis Zampetakis created HIVE-24016:
------------------------------------------

             Summary: Share bloom filter construction branch in multi column 
semijoin reducers
                 Key: HIVE-24016
                 URL: https://issues.apache.org/jira/browse/HIVE-24016
             Project: Hive
          Issue Type: Improvement
            Reporter: Stamatis Zampetakis
            Assignee: Stamatis Zampetakis


In HIVE-21196, we add a transformation capable of merging single column 
semijoin reducers to multi column semijoin reducer.

Currently it transforms the subplan SB0 to subplan SB1.

+SB0+
{noformat}
                                      / RS -> TS_1[Editor] 
         / SEL[fname] - GB - RS - GB -  RS -> TS_0[Author] 
 SOURCE 
         \ SEL[lname] - GB - RS - GB -  RS -> TS_0[Author]
                                      \ RS -> TS_1[Editor]

TS_0[Author] - FIL[in_bloom(fname) ^ in_bloom(lname)]
TS_1[Editor] - FIL[in_bloom(fname) ^ in_bloom(lname)]  
{noformat}

+SB1+
{noformat}
         / SEL[fname,lname] - GB - RS - GB - RS -> TS[Author] - 
FIL[in_bloom(hash(fname,lname))]
 SOURCE  
         \ SEL[fname,lname] - GB - RS - GB - RS -> TS[Editor] - 
FIL[in_bloom(hash(fname,lname))]
{noformat}

Observe that in SB1 we could share the common path that creates the bloom 
filter (SEL - GB - RS -GB) to obtain a plan like SB2.

+SB2+
{noformat}
                                           / RS -> TS[Author] - 
FIL[in_bloom(hash(fname,lname))]
 SOURCE - SEL[fname,lname] - GB - RS - GB -
                                           \ RS -> TS[Editor] - 
FIL[in_bloom(hash(fname,lname))]
{noformat}



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

Reply via email to