hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vineet Garg (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HIVE-21340) CBO: Prune non-key columns feeding into a SemiJoin
Date Tue, 05 Mar 2019 19:11:00 GMT

     [ https://issues.apache.org/jira/browse/HIVE-21340?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Vineet Garg updated HIVE-21340:
-------------------------------
       Resolution: Fixed
    Fix Version/s: 4.0.0
           Status: Resolved  (was: Patch Available)

Pushed to master.

> CBO: Prune non-key columns feeding into a SemiJoin
> --------------------------------------------------
>
>                 Key: HIVE-21340
>                 URL: https://issues.apache.org/jira/browse/HIVE-21340
>             Project: Hive
>          Issue Type: Bug
>          Components: CBO, Query Planning
>    Affects Versions: 4.0.0
>            Reporter: Gopal V
>            Assignee: Vineet Garg
>            Priority: Major
>             Fix For: 4.0.0
>
>         Attachments: HIVE-21340.1.patch, HIVE-21340.2.patch, HIVE-21340.3.patch
>
>
> {code}
> explain cbo 
> with ss as 
> (select count(1), ss_item_sk, ss_ticket_number from 
>             store_sales group by ss_item_sk, ss_ticket_number 
>             having count(1) > 1) 
> select count(1) from item where i_item_sk IN (select ss_item_sk from ss);
> {code}
> Notice the {{HiveProject(ss_item_sk=[$0], ss_ticket_number=[$1], $f2=[$2])}} 
> Only ss_item_sk is relevant for the HiveSemiJoin
> {code}
> CBO PLAN:
> HiveAggregate(group=[{}], agg#0=[count()])
>   HiveSemiJoin(condition=[=($0, $1)], joinType=[inner])
>     HiveProject(i_item_sk=[$0])
>       HiveFilter(condition=[IS NOT NULL($0)])
>         HiveTableScan(table=[[tpcds_copy_orc_partitioned_10000, item]], table:alias=[item])
>     HiveProject(ss_item_sk=[$0], ss_ticket_number=[$1], $f2=[$2])
>       HiveFilter(condition=[>($2, 1)])
>         HiveAggregate(group=[{1, 8}], agg#0=[count()])
>           HiveFilter(condition=[IS NOT NULL($1)])
>             HiveTableScan(table=[[tpcds_copy_orc_partitioned_10000, store_sales]], table:alias=[store_sales])
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message