diff --git ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/HiveOpConverter.java ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/HiveOpConverter.java index 9df9b79..22b4a13 100644 --- ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/HiveOpConverter.java +++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/HiveOpConverter.java @@ -35,7 +35,6 @@ import org.apache.calcite.rel.RelNode; import org.apache.calcite.rel.core.SemiJoin; import org.apache.calcite.rel.core.SortExchange; -import org.apache.calcite.rel.logical.LogicalExchange; import org.apache.calcite.rex.RexInputRef; import org.apache.calcite.rex.RexLiteral; import org.apache.calcite.rex.RexNode; @@ -47,7 +46,6 @@ import org.apache.hadoop.hive.ql.exec.ColumnInfo; import org.apache.hadoop.hive.ql.exec.FilterOperator; import org.apache.hadoop.hive.ql.exec.JoinOperator; -import org.apache.hadoop.hive.ql.exec.LimitOperator; import org.apache.hadoop.hive.ql.exec.Operator; import org.apache.hadoop.hive.ql.exec.OperatorFactory; import org.apache.hadoop.hive.ql.exec.ReduceSinkOperator; @@ -116,7 +114,6 @@ private final UnparseTranslator unparseTranslator; private final Map> topOps; private final boolean strictMode; - private int reduceSinkTagGenerator; public HiveOpConverter(SemanticAnalyzer semanticAnalyzer, HiveConf hiveConf, UnparseTranslator unparseTranslator, Map> topOps, @@ -126,7 +123,6 @@ public HiveOpConverter(SemanticAnalyzer semanticAnalyzer, HiveConf hiveConf, this.unparseTranslator = unparseTranslator; this.topOps = topOps; this.strictMode = strictMode; - this.reduceSinkTagGenerator = 0; } static class OpAttr { @@ -314,7 +310,12 @@ OpAttr visit(HiveJoin joinRel) throws SemanticException { // 3. Extract join keys from condition ExprNodeDesc[][] joinKeys = extractJoinKeys(joinPredInfo, joinRel.getInputs()); - // 4. Generate Join operator + // 4.a Generate tags + for (int tag=0; tag(), + sortCols.toArray(new ExprNodeDesc[sortCols.size()]), 0, new ArrayList(), order.toString(), numReducers, Operation.NOT_ACID, strictMode); } @@ -494,7 +495,7 @@ OpAttr visit(SortExchange exchangeRel) throws SemanticException { } ReduceSinkOperator rsOp = genReduceSink(inputOpAf.inputs.get(0), expressions, - reduceSinkTagGenerator++, -1, Operation.NOT_ACID, strictMode); + -1, -1, Operation.NOT_ACID, strictMode); return inputOpAf.clone(rsOp); } @@ -541,7 +542,7 @@ private OpAttr genPTF(OpAttr inputOpAf, WindowingSpec wSpec) throws SemanticExce } SelectOperator selectOp = genReduceSinkAndBacktrackSelect(input, - keyCols.toArray(new ExprNodeDesc[keyCols.size()]), reduceSinkTagGenerator++, partCols, + keyCols.toArray(new ExprNodeDesc[keyCols.size()]), 0, partCols, order.toString(), -1, Operation.NOT_ACID, strictMode); // 2. Finally create PTF