You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Navis (JIRA)" <ji...@apache.org> on 2013/02/14 01:20:14 UTC

[jira] [Updated] (HIVE-4020) Swap applying order of CP and PPD

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

Navis updated HIVE-4020:
------------------------

    Description: 
Doing Hive-2340, I've found CP removed some column mapping needed for backtracking expression desc. By swapping order of CP and PPD, the problem was solved. 

After that I've realized that CP on earlier stage is possible after PPD is applied cause some columns on filter predicate are not selected and can be removed right after the new pushed-down filter. For example, (bucketmapjoin1.q)

<noformat>
select /*+mapjoin(b)*/ a.key, a.value, b.value
from srcbucket_mapjoin_part a join srcbucket_mapjoin_part_2 b
on a.key=b.key where b.ds="2008-04-08"
<noformat>

plan for hashtable sink operator is changed to 
<noformat>
HashTable Sink Operator
  condition expressions:
    0 {key} {value}
    1 {value}
<noformat>

which was 
<noformat>
HashTable Sink Operator
  condition expressions:
    0 {key} {value}
    1 {value} {ds}
<noformat>

HIVE-2340 seemed need more time for commit, so booked as an another issue.

  was:
Doing Hive-2340, I've found CP removed some column mapping needed for backtracking expression desc. By swapping order of CP and PPD, the problem was solved. 

After that I've realized that CP on earlier stage is possible after PPD is applied cause some columns on filter predicate are not selected and can be removed right after the new pushed-down filter. For example, (bucketmapjoin1.q)

<code>
select /*+mapjoin(b)*/ a.key, a.value, b.value
from srcbucket_mapjoin_part a join srcbucket_mapjoin_part_2 b
on a.key=b.key where b.ds="2008-04-08"
<code>

plan for hashtable sink operator is changed to 
<code>
HashTable Sink Operator
  condition expressions:
    0 {key} {value}
    1 {value}
<code>

which was 
<code>
HashTable Sink Operator
  condition expressions:
    0 {key} {value}
    1 {value} {ds}
<code>

HIVE-2340 seemed need more time for commit, so booked as an another issue.

    
> Swap applying order of CP and PPD
> ---------------------------------
>
>                 Key: HIVE-4020
>                 URL: https://issues.apache.org/jira/browse/HIVE-4020
>             Project: Hive
>          Issue Type: Improvement
>          Components: Query Processor
>            Reporter: Navis
>            Assignee: Navis
>            Priority: Minor
>
> Doing Hive-2340, I've found CP removed some column mapping needed for backtracking expression desc. By swapping order of CP and PPD, the problem was solved. 
> After that I've realized that CP on earlier stage is possible after PPD is applied cause some columns on filter predicate are not selected and can be removed right after the new pushed-down filter. For example, (bucketmapjoin1.q)
> <noformat>
> select /*+mapjoin(b)*/ a.key, a.value, b.value
> from srcbucket_mapjoin_part a join srcbucket_mapjoin_part_2 b
> on a.key=b.key where b.ds="2008-04-08"
> <noformat>
> plan for hashtable sink operator is changed to 
> <noformat>
> HashTable Sink Operator
>   condition expressions:
>     0 {key} {value}
>     1 {value}
> <noformat>
> which was 
> <noformat>
> HashTable Sink Operator
>   condition expressions:
>     0 {key} {value}
>     1 {value} {ds}
> <noformat>
> HIVE-2340 seemed need more time for commit, so booked as an another issue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira