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

Zoltan Haindrich updated HIVE-20850:
------------------------------------
    Attachment: HIVE-20850.04.patch

> Push case conditional from projections to dimension tables if possible
> ----------------------------------------------------------------------
>
>                 Key: HIVE-20850
>                 URL: https://issues.apache.org/jira/browse/HIVE-20850
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Zoltan Haindrich
>            Assignee: Zoltan Haindrich
>            Priority: Major
>         Attachments: HIVE-20850.01.patch, HIVE-20850.01.patch, 
> HIVE-20850.01.patch, HIVE-20850.02.patch, HIVE-20850.03.patch, 
> HIVE-20850.04.patch
>
>
> noticed by [~gopalv]: If there is a project which could be only evaluated 
> after the join; but the condition references only a single column from a 
> small dimension table; hive will end up evaluating the same thing over and 
> over again...
> {code}
> explain
> select  s_store_name, s_store_id,
>         sum(case when (d_day_name='Sunday') then ss_sales_price else null 
> end) sun_sales,
>         sum(case when (d_day_name='Monday') then ss_sales_price else null 
> end) mon_sales,
>         sum(case when (d_day_name='Tuesday') then ss_sales_price else  null 
> end) tue_sales,
>         sum(case when (d_day_name='Wednesday') then ss_sales_price else null 
> end) wed_sales,
>         sum(case when (d_day_name='Thursday') then ss_sales_price else null 
> end) thu_sales,
>         sum(case when (d_day_name='Friday') then ss_sales_price else null 
> end) fri_sales,
>         sum(case when (d_day_name='Saturday') then ss_sales_price else null 
> end) sat_sales
>  from date_dim, store_sales, store
>  where d_date_sk = ss_sold_date_sk and
>        s_store_sk = ss_store_sk and
>        s_gmt_offset = -6 and
>        d_year = 1998 
>  group by s_store_name, s_store_id
>  order by s_store_name, 
> s_store_id,sun_sales,mon_sales,tue_sales,wed_sales,thu_sales,fri_sales,sat_sales
>  limit 100;
> {code}



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

Reply via email to