You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "John Sichi (JIRA)" <ji...@apache.org> on 2011/07/05 19:37:16 UTC

[jira] [Commented] (HIVE-2253) Merge failing of join tree in exceptional case

    [ https://issues.apache.org/jira/browse/HIVE-2253?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13060030#comment-13060030 ] 

John Sichi commented on HIVE-2253:
----------------------------------

We'll need a small unit test with EXPLAIN for this case.


> Merge failing of join tree in exceptional case
> ----------------------------------------------
>
>                 Key: HIVE-2253
>                 URL: https://issues.apache.org/jira/browse/HIVE-2253
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Processor
>    Affects Versions: 0.7.0
>         Environment: hadoop 0.20.2, hive 0.7.0
>            Reporter: Navis
>            Priority: Minor
>         Attachments: HIVE-2253.patch
>
>
> In some very exceptional cases, SemanticAnayzer fails to merge join tree. Example is below.
> create table a (val1 int, val2 int)
> create table b (val1 int, val2 int)
> create table c (val1 int, val2 int)
> create table d (val1 int, val2 int)
> create table e (val1 int, val2 int)
> 1. all same(single) join key --> one MR, good
> select * from a join b on a.val1=b.val1 join c on a.val1=c.val1 join d on a.val1=d.val1 join e on a.val1=e.val1
> 2. two join keys --> expected to have two MR, but resulted to three MR
> select * from a join b on a.val1=b.val1 join c on a.val1=c.val1 join d on a.val1=d.val1 join e on a.val2=e.val2
> 3. by changing the join order, we could attain two MR as first-expectation.
> select * from a join e on a.val2=e.val2 join c on a.val1=c.val1 join d on a.val1=d.val1 join b on a.val1=b.val1

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira