[ https://issues.apache.org/jira/browse/HIVE-3306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13548023#comment-13548023 ]
Hudson commented on HIVE-3306: ------------------------------ Integrated in Hive-trunk-hadoop2 #54 (See [https://builds.apache.org/job/Hive-trunk-hadoop2/54/]) HIVE-3306 SMBJoin/BucketMapJoin should be allowed only when join key expression is exactly matches with sort/cluster key (Navis via namit) (Revision 1381669) Result = ABORTED namit : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1381669 Files : * /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/BucketMapJoinOptimizer.java * /hive/trunk/ql/src/test/queries/clientpositive/bucket_map_join_1.q * /hive/trunk/ql/src/test/queries/clientpositive/bucket_map_join_2.q * /hive/trunk/ql/src/test/queries/clientpositive/bucketmapjoin_negative3.q * /hive/trunk/ql/src/test/results/clientpositive/bucket_map_join_1.q.out * /hive/trunk/ql/src/test/results/clientpositive/bucket_map_join_2.q.out * /hive/trunk/ql/src/test/results/clientpositive/bucketmapjoin_negative3.q.out > SMBJoin/BucketMapJoin should be allowed only when join key expression is > exactly matches with sort/cluster key > -------------------------------------------------------------------------------------------------------------- > > Key: HIVE-3306 > URL: https://issues.apache.org/jira/browse/HIVE-3306 > Project: Hive > Issue Type: Bug > Components: Query Processor > Affects Versions: 0.10.0 > Reporter: Navis > Assignee: Navis > Priority: Minor > Fix For: 0.10.0 > > Attachments: HIVE-3306.1.patch.txt > > > CREATE TABLE bucket_small (key int, value string) CLUSTERED BY (key) SORTED > BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; > load data local inpath > '/home/navis/apache/oss-hive/data/files/srcsortbucket1outof4.txt' INTO TABLE > bucket_small; > load data local inpath > '/home/navis/apache/oss-hive/data/files/srcsortbucket2outof4.txt' INTO TABLE > bucket_small; > CREATE TABLE bucket_big (key int, value string) CLUSTERED BY (key) SORTED BY > (key) INTO 4 BUCKETS STORED AS TEXTFILE; > load data local inpath > '/home/navis/apache/oss-hive/data/files/srcsortbucket1outof4.txt' INTO TABLE > bucket_big; > load data local inpath > '/home/navis/apache/oss-hive/data/files/srcsortbucket2outof4.txt' INTO TABLE > bucket_big; > load data local inpath > '/home/navis/apache/oss-hive/data/files/srcsortbucket3outof4.txt' INTO TABLE > bucket_big; > load data local inpath > '/home/navis/apache/oss-hive/data/files/srcsortbucket4outof4.txt' INTO TABLE > bucket_big; > select count(*) FROM bucket_small a JOIN bucket_big b ON a.key + a.key = > b.key; > select /* + MAPJOIN(a) */ count(*) FROM bucket_small a JOIN bucket_big b ON > a.key + a.key = b.key; > returns 116 (same) > But with BucketMapJoin or SMBJoin, it returns 61. But this should not be > allowed cause hash(a.key) != hash(a.key + a.key). > Bucket context should be utilized only with exact matching join expression > with sort/cluster key. -- 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