----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14953/#review27806 -----------------------------------------------------------
ql/src/test/results/clientpositive/join_cond_pushdown_1.q.out <https://reviews.apache.org/r/14953/#comment54075> If I am reading this right, this is cross followed by filter. An alternate (efficient) plan would have been to have this filter condition as join condition, since while doing join we will have access to columns from both sides and join will only generate rows which satisfies the condition. Makes sense? Its ok that this patch is not doing it, but shall we open up a follow-up jira for later to optimize for such cases? ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out <https://reviews.apache.org/r/14953/#comment54080> Seems like here mergeJoinTrees didn't generate most efficient Join Trees, as evident from MR jobs. 3 jobs got generated where 2 would have sufficed. First job to do join p1, p2, p3 on name column and than output of previous job joining p4 on partkey. Seems like for this to happen we need to identify transivity of join conditions across different joins. Hopefully, optiq should be able to help us out. Also, curious if hive.optimize.correlation can help here. Can you test with that config on. Will be good to create a follow-up jira for this as well if currently there is no way to coerce hive into generating an efficient plan for this - Ashutosh Chauhan On Oct. 29, 2013, 9:19 p.m., Harish Butani wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/14953/ > ----------------------------------------------------------- > > (Updated Oct. 29, 2013, 9:19 p.m.) > > > Review request for hive, Ashutosh Chauhan and Vikram Dixit Kumaraswamy. > > > Bugs: hive-5556 > https://issues.apache.org/jira/browse/hive-5556 > > > Repository: hive-git > > > Description > ------- > > Step 1 to support Alternate Join Syntax: HIVE-5555 > > This patch also contains fixes to merging of QBJoinTrees > > > Diffs > ----- > > ql/src/java/org/apache/hadoop/hive/ql/parse/QBJoinTree.java 9c8cac1 > ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java cf0c895 > > ql/src/test/org/apache/hadoop/hive/ql/parse/TestQBJoinTreeApplyPredicate.java > PRE-CREATION > ql/src/test/queries/clientpositive/join_cond_pushdown_1.q PRE-CREATION > ql/src/test/queries/clientpositive/join_cond_pushdown_2.q PRE-CREATION > ql/src/test/results/clientpositive/auto_sortmerge_join_12.q.out 865627b > ql/src/test/results/clientpositive/join_cond_pushdown_1.q.out PRE-CREATION > ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out PRE-CREATION > > Diff: https://reviews.apache.org/r/14953/diff/ > > > Testing > ------- > > ran all join .q files > added join_cond_pushdown_1.q, join_cond_pushdown_2.q .q tests > added TestQBJoinTreeApplyPredicate unit test to test pushdown functionality > > > Thanks, > > Harish Butani > >