Zoltan Haindrich created HIVE-20850:
---------------------------------------

             Summary: Add rule to extract case conditional from projections
                 Key: HIVE-20850
                 URL: https://issues.apache.org/jira/browse/HIVE-20850
             Project: Hive
          Issue Type: Improvement
            Reporter: Zoltan Haindrich
            Assignee: Zoltan Haindrich


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