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 2014/05/07 09:34:24 UTC

[jira] [Updated] (HIVE-7023) Bucket mapjoin is broken when the number of small aliases is two or more

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

Navis updated HIVE-7023:
------------------------

    Summary: Bucket mapjoin is broken when the number of small aliases is two or more  (was: Bucket mapjoin is broken when small aliases are more than two)

> Bucket mapjoin is broken when the number of small aliases is two or more
> ------------------------------------------------------------------------
>
>                 Key: HIVE-7023
>                 URL: https://issues.apache.org/jira/browse/HIVE-7023
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Processor
>    Affects Versions: 0.13.0
>            Reporter: Navis
>            Assignee: Navis
>         Attachments: HIVE-7023.1.patch.txt
>
>
> From auto_sortmerge_join_11.q,
> {noformat}
> -- small 1 part, 2 bucket & big 2 part, 4 bucket
> CREATE TABLE bucket_small (key string, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE;
> load data local inpath '../../data/files/smallsrcsortbucket1outof4.txt' INTO TABLE bucket_small partition(ds='2008-04-08');
> load data local inpath '../../data/files/smallsrcsortbucket2outof4.txt' INTO TABLE bucket_small partition(ds='2008-04-08');
> CREATE TABLE bucket_big (key string, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE;
> load data local inpath '../../data/files/srcsortbucket1outof4.txt' INTO TABLE bucket_big partition(ds='2008-04-08');
> load data local inpath '../../data/files/srcsortbucket2outof4.txt' INTO TABLE bucket_big partition(ds='2008-04-08');
> load data local inpath '../../data/files/srcsortbucket3outof4.txt' INTO TABLE bucket_big partition(ds='2008-04-08');
> load data local inpath '../../data/files/srcsortbucket4outof4.txt' INTO TABLE bucket_big partition(ds='2008-04-08');
> load data local inpath '../../data/files/srcsortbucket1outof4.txt' INTO TABLE bucket_big partition(ds='2008-04-09');
> load data local inpath '../../data/files/srcsortbucket2outof4.txt' INTO TABLE bucket_big partition(ds='2008-04-09');
> load data local inpath '../../data/files/srcsortbucket3outof4.txt' INTO TABLE bucket_big partition(ds='2008-04-09');
> load data local inpath '../../data/files/srcsortbucket4outof4.txt' INTO TABLE bucket_big partition(ds='2008-04-09');
> set hive.auto.convert.join=true;
> set hive.ignore.mapjoin.hint=false;
> set hive.auto.convert.sortmerge.join=true;
> set hive.optimize.bucketmapjoin=true;
> set hive.optimize.bucketmapjoin.sortedmerge=true;
> select /* + MAPJOIN(a,b) */ count(*) FROM bucket_small a JOIN bucket_big b ON a.key = b.key JOIN bucket_big c ON a.key = c.key;
> {noformat}
> The last query produces 0 row, instead of 180 rows, which is correct.



--
This message was sent by Atlassian JIRA
(v6.2#6252)