> On Oct. 30, 2013, 7:43 p.m., Ashutosh Chauhan wrote: > > ql/src/test/results/clientpositive/join_cond_pushdown_1.q.out, lines 497-500 > > <https://reviews.apache.org/r/14953/diff/1/?file=371573#file371573line497> > > > > 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?
- the lhs of the filter refers to both joining tables. - filters in the JoinOp, must be on only 1 table; they get applied on the input row; there is no concept of filtering intermediate/output rows in the JoinOp. - this is similar to the issue with merging join trees; I sent you email about this earlier today. > On Oct. 30, 2013, 7:43 p.m., Ashutosh Chauhan wrote: > > ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out, line 285 > > <https://reviews.apache.org/r/14953/diff/1/?file=371574#file371574line285> > > > > 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 the join conditions are: p1, p2 on name, partkey p2,p3 on name p1, p4 on partkey So it cannot do p1,p2,p3 in one Job. Right? - Harish ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14953/#review27806 ----------------------------------------------------------- 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 > >