> On Oct. 30, 2014, 2:29 a.m., Xuefu Zhang wrote: > > ql/src/java/org/apache/hadoop/hive/ql/optimizer/SkewJoinOptimizer.java, > > line 694 > > <https://reviews.apache.org/r/27283/diff/2/?file=739757#file739757line694> > > > > Maybe we should have a different operator clone. Check. > > > > There is a method (though not called by Operator.clone()) in > > OperatorFactor, which takes care of colMap: > > > > public static <T extends OperatorDesc> Operator<T> getAndMakeChild(T > > conf, > > RowSchema rwsch, Map<String, ExprNodeDesc> colExprMap, > > List<Operator<? extends OperatorDesc>> oplist)
Thanks Xuefu. I can try change Operatot.clone to call this method. - Rui ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/27283/#review59116 ----------------------------------------------------------- On Oct. 29, 2014, 2:59 a.m., Rui Li wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/27283/ > ----------------------------------------------------------- > > (Updated Oct. 29, 2014, 2:59 a.m.) > > > Review request for hive, Szehon Ho and Xuefu Zhang. > > > Bugs: HIVE-8610 > https://issues.apache.org/jira/browse/HIVE-8610 > > > Repository: hive-git > > > Description > ------- > > This patch adds QBJoinTree and colExprMap for the cloned join operator tree > in SkewJoinOptimizer, so that CommonJoinResolver can properly convert the > cloned join to map join. > The added tests are copied from skewjoinopt*.q, except that auto map join is > enabled. > > > Diffs > ----- > > ql/src/java/org/apache/hadoop/hive/ql/optimizer/SkewJoinOptimizer.java > e87c41b > ql/src/test/queries/clientpositive/skewjoin_mapjoin1.q PRE-CREATION > ql/src/test/queries/clientpositive/skewjoin_mapjoin10.q PRE-CREATION > ql/src/test/queries/clientpositive/skewjoin_mapjoin11.q PRE-CREATION > ql/src/test/queries/clientpositive/skewjoin_mapjoin2.q PRE-CREATION > ql/src/test/queries/clientpositive/skewjoin_mapjoin3.q PRE-CREATION > ql/src/test/queries/clientpositive/skewjoin_mapjoin4.q PRE-CREATION > ql/src/test/queries/clientpositive/skewjoin_mapjoin5.q PRE-CREATION > ql/src/test/queries/clientpositive/skewjoin_mapjoin6.q PRE-CREATION > ql/src/test/queries/clientpositive/skewjoin_mapjoin7.q PRE-CREATION > ql/src/test/queries/clientpositive/skewjoin_mapjoin8.q PRE-CREATION > ql/src/test/queries/clientpositive/skewjoin_mapjoin9.q PRE-CREATION > ql/src/test/results/clientpositive/skewjoin_mapjoin1.q.out PRE-CREATION > ql/src/test/results/clientpositive/skewjoin_mapjoin10.q.out PRE-CREATION > ql/src/test/results/clientpositive/skewjoin_mapjoin11.q.out PRE-CREATION > ql/src/test/results/clientpositive/skewjoin_mapjoin2.q.out PRE-CREATION > ql/src/test/results/clientpositive/skewjoin_mapjoin3.q.out PRE-CREATION > ql/src/test/results/clientpositive/skewjoin_mapjoin4.q.out PRE-CREATION > ql/src/test/results/clientpositive/skewjoin_mapjoin5.q.out PRE-CREATION > ql/src/test/results/clientpositive/skewjoin_mapjoin6.q.out PRE-CREATION > ql/src/test/results/clientpositive/skewjoin_mapjoin7.q.out PRE-CREATION > ql/src/test/results/clientpositive/skewjoin_mapjoin8.q.out PRE-CREATION > ql/src/test/results/clientpositive/skewjoin_mapjoin9.q.out PRE-CREATION > > Diff: https://reviews.apache.org/r/27283/diff/ > > > Testing > ------- > > > Thanks, > > Rui Li > >