diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java index 04bafda..7ab35ee 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java @@ -237,7 +237,8 @@ private void convertJoinSMBJoin(JoinOperator joinOp, OptimizeTezProcContext cont JoinDesc joinDesc = joinOp.getConf(); // retain the original join desc in the map join. mapJoinDesc = - new MapJoinDesc(null, null, joinDesc.getExprs(), null, null, + new MapJoinDesc(MapJoinProcessor.getKeys(parseContext.getJoinContext().get(joinOp), joinOp).getSecond(), + null, joinDesc.getExprs(), null, null, joinDesc.getOutputColumnNames(), mapJoinConversionPos, joinDesc.getConds(), joinDesc.getFilters(), joinDesc.getNoOuterJoin(), null); mapJoinDesc.setNullSafes(joinDesc.getNullSafes()); diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/MapJoinProcessor.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/MapJoinProcessor.java index 2d82cd8..ccb3ce5 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/MapJoinProcessor.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/MapJoinProcessor.java @@ -32,6 +32,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hive.common.ObjectPair; import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.hive.ql.ErrorMsg; import org.apache.hadoop.hive.ql.exec.AbstractMapJoinOperator; @@ -312,7 +313,6 @@ public static MapJoinOperator convertMapJoin(HiveConf conf, // outer join cannot be performed on a table which is being cached JoinDesc desc = op.getConf(); JoinCondDesc[] condns = desc.getConds(); - Byte[] tagOrder = desc.getTagOrder(); if (!noCheckOuterJoin) { if (checkMapJoin(mapJoinPos, condns) < 0) { @@ -320,9 +320,6 @@ public static MapJoinOperator convertMapJoin(HiveConf conf, } } - RowResolver outputRS = opParseCtxMap.get(op).getRowResolver(); - Map> keyExprMap = new HashMap>(); - // Walk over all the sources (which are guaranteed to be reduce sink // operators). // The join outputs a concatenation of all the inputs. @@ -1029,19 +1026,7 @@ public void setpGraphContext(ParseContext pGraphContext) { } - public static MapJoinDesc getMapJoinDesc(HiveConf hconf, - LinkedHashMap, OpParseContext> opParseCtxMap, - JoinOperator op, QBJoinTree joinTree, int mapJoinPos, boolean noCheckOuterJoin) throws SemanticException { - JoinDesc desc = op.getConf(); - JoinCondDesc[] condns = desc.getConds(); - Byte[] tagOrder = desc.getTagOrder(); - - // outer join cannot be performed on a table which is being cached - if (!noCheckOuterJoin) { - if (checkMapJoin(mapJoinPos, condns) < 0) { - throw new SemanticException(ErrorMsg.NO_OUTER_MAPJOIN.getMsg()); - } - } + public static ObjectPair, Map>> getKeys(QBJoinTree joinTree, JoinOperator op) { // Walk over all the sources (which are guaranteed to be reduce sink // operators). @@ -1066,10 +1051,39 @@ public static MapJoinDesc getMapJoinDesc(HiveConf hconf, pos++; } + // get the join keys from old parent ReduceSink operators + Map> keyExprMap = new HashMap>(); + + for (pos = 0; pos < op.getParentOperators().size(); pos++) { + ReduceSinkOperator inputRS = oldReduceSinkParentOps.get(pos); + List keyCols = inputRS.getConf().getKeyCols(); + keyExprMap.put(pos, keyCols); + } + + return new ObjectPair, Map>>(oldReduceSinkParentOps, keyExprMap); + } + + public static MapJoinDesc getMapJoinDesc(HiveConf hconf, + LinkedHashMap, OpParseContext> opParseCtxMap, + JoinOperator op, QBJoinTree joinTree, int mapJoinPos, boolean noCheckOuterJoin) throws SemanticException { + JoinDesc desc = op.getConf(); + JoinCondDesc[] condns = desc.getConds(); + Byte[] tagOrder = desc.getTagOrder(); + + // outer join cannot be performed on a table which is being cached + if (!noCheckOuterJoin) { + if (checkMapJoin(mapJoinPos, condns) < 0) { + throw new SemanticException(ErrorMsg.NO_OUTER_MAPJOIN.getMsg()); + } + } + Map colExprMap = op.getColumnExprMap(); List schema = new ArrayList(op.getSchema().getSignature()); Map> valueExprs = op.getConf().getExprs(); Map> newValueExprs = new HashMap>(); + + ObjectPair, Map>> pair = getKeys(joinTree, op); + List oldReduceSinkParentOps = pair.getFirst(); for (Map.Entry> entry : valueExprs.entrySet()) { byte tag = entry.getKey(); Operator terminal = oldReduceSinkParentOps.get(tag); @@ -1095,15 +1109,13 @@ public static MapJoinDesc getMapJoinDesc(HiveConf hconf, Map valueIndices = new HashMap(); // get the join keys from old parent ReduceSink operators - Map> keyExprMap = new HashMap>(); + Map> keyExprMap = pair.getSecond(); // construct valueTableDescs and valueFilteredTableDescs List valueTableDescs = new ArrayList(); List valueFilteredTableDescs = new ArrayList(); int[][] filterMap = desc.getFilterMap(); - for (pos = 0; pos < op.getParentOperators().size(); pos++) { - ReduceSinkOperator inputRS = oldReduceSinkParentOps.get(pos); - List keyCols = inputRS.getConf().getKeyCols(); + for (byte pos = 0; pos < op.getParentOperators().size(); pos++) { List valueCols = newValueExprs.get(pos); if (pos != mapJoinPos) { // remove values in key exprs for value table schema @@ -1113,7 +1125,7 @@ public static MapJoinDesc getMapJoinDesc(HiveConf hconf, List valueColsInValueExpr = new ArrayList(); for (int i = 0; i < valueIndex.length; i++) { ExprNodeDesc expr = valueCols.get(i); - int kindex = ExprNodeDescUtils.indexOf(expr, keyCols); + int kindex = ExprNodeDescUtils.indexOf(expr, keyExprMap.get(pos)); if (kindex >= 0) { valueIndex[i] = kindex; } else { @@ -1145,8 +1157,6 @@ public static MapJoinDesc getMapJoinDesc(HiveConf hconf, valueTableDescs.add(valueTableDesc); valueFilteredTableDescs.add(valueFilteredTableDesc); - - keyExprMap.put(pos, keyCols); } Map> filters = desc.getFilters(); diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/CommonMergeJoinDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/CommonMergeJoinDesc.java index b17de7f..25f4e62 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/plan/CommonMergeJoinDesc.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/CommonMergeJoinDesc.java @@ -19,9 +19,7 @@ package org.apache.hadoop.hive.ql.plan; import java.io.Serializable; -import java.util.Map; -import org.apache.hadoop.hive.ql.exec.Operator; @Explain(displayName = "Merge Join Operator") public class CommonMergeJoinDesc extends MapJoinDesc implements Serializable { diff --git a/ql/src/test/results/clientpositive/tez/auto_sortmerge_join_6.q.out b/ql/src/test/results/clientpositive/tez/auto_sortmerge_join_6.q.out index c446dbf..a611930 100644 --- a/ql/src/test/results/clientpositive/tez/auto_sortmerge_join_6.q.out +++ b/ql/src/test/results/clientpositive/tez/auto_sortmerge_join_6.q.out @@ -96,24 +96,11 @@ STAGE PLANS: Stage: Stage-1 Tez Edges: - Reducer 3 <- Map 2 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE) - Reducer 4 <- Reducer 3 (SIMPLE_EDGE) + Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE) + Reducer 3 <- Reducer 2 (SIMPLE_EDGE) #### A masked pattern was here #### Vertices: - Map 2 - Map Operator Tree: - TableScan - alias: c - Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: value (type: string) - sort order: + - Map-reduce partition columns: value (type: string) - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Map 5 + Map 1 Map Operator Tree: TableScan alias: b @@ -144,7 +131,20 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col1 (type: string) Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE - Reducer 3 + Map 5 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: value is not null (type: boolean) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: value (type: string) + sort order: + + Map-reduce partition columns: value (type: string) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + Reducer 2 Reduce Operator Tree: Merge Join Operator condition map: @@ -152,19 +152,20 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 _col1 (type: string) + 1 value (type: string) Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE - Select Operator - Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE - Group By Operator - aggregations: count() - mode: hash - outputColumnNames: _col0 + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: bigint) - Reducer 4 + value expressions: _col0 (type: bigint) + Reducer 3 Reduce Operator Tree: Group By Operator aggregations: count(VALUE._col0) @@ -227,19 +228,6 @@ STAGE PLANS: Map 1 Map Operator Tree: TableScan - alias: d - Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: value (type: string) - sort order: + - Map-reduce partition columns: value (type: string) - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Map 5 - Map Operator Tree: - TableScan alias: b Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE Filter Operator @@ -268,6 +256,19 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col1 (type: string) Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE + Map 5 + Map Operator Tree: + TableScan + alias: d + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: value is not null (type: boolean) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: value (type: string) + sort order: + + Map-reduce partition columns: value (type: string) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE Reducer 2 Reduce Operator Tree: Merge Join Operator @@ -276,18 +277,19 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 _col1 (type: string) + 1 value (type: string) Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE - Select Operator - Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE - Group By Operator - aggregations: count() - mode: hash - outputColumnNames: _col0 + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: bigint) + value expressions: _col0 (type: bigint) Reducer 3 Reduce Operator Tree: Group By Operator @@ -344,11 +346,11 @@ STAGE PLANS: Stage: Stage-1 Tez Edges: - Reducer 3 <- Map 2 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE) - Reducer 4 <- Reducer 3 (SIMPLE_EDGE) + Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE) + Reducer 3 <- Reducer 2 (SIMPLE_EDGE) #### A masked pattern was here #### Vertices: - Map 2 + Map 1 Map Operator Tree: TableScan alias: b @@ -392,7 +394,7 @@ STAGE PLANS: sort order: + Map-reduce partition columns: value (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Reducer 3 + Reducer 2 Reduce Operator Tree: Merge Join Operator condition map: @@ -400,19 +402,20 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 _col1 (type: string) + 1 value (type: string) Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE - Select Operator - Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE - Group By Operator - aggregations: count() - mode: hash - outputColumnNames: _col0 + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: bigint) - Reducer 4 + value expressions: _col0 (type: bigint) + Reducer 3 Reduce Operator Tree: Group By Operator aggregations: count(VALUE._col0) @@ -471,7 +474,7 @@ STAGE PLANS: Map 1 Map Operator Tree: TableScan - alias: b + alias: a Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE Filter Operator predicate: UDFToDouble(key) is not null (type: boolean) @@ -484,7 +487,7 @@ STAGE PLANS: Map 4 Map Operator Tree: TableScan - alias: c + alias: b Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE Filter Operator predicate: UDFToDouble(key) is not null (type: boolean) @@ -497,7 +500,7 @@ STAGE PLANS: Map 5 Map Operator Tree: TableScan - alias: a + alias: c Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE Filter Operator predicate: UDFToDouble(key) is not null (type: boolean) @@ -517,18 +520,20 @@ STAGE PLANS: 0 1 2 + keys: + 0 UDFToDouble(key) (type: double) + 1 UDFToDouble(key) (type: double) + 2 UDFToDouble(key) (type: double) Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE - Select Operator - Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE - Group By Operator - aggregations: count() - mode: hash - outputColumnNames: _col0 + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: bigint) + value expressions: _col0 (type: bigint) Reducer 3 Reduce Operator Tree: Group By Operator @@ -581,10 +586,10 @@ STAGE PLANS: Stage: Stage-1 Tez Edges: - Reducer 4 <- Map 3 (SIMPLE_EDGE) + Reducer 2 <- Map 1 (SIMPLE_EDGE) #### A masked pattern was here #### Vertices: - Map 3 + Map 1 Map Operator Tree: TableScan alias: b @@ -619,18 +624,16 @@ STAGE PLANS: 1 key (type: int) 2 key (type: int) Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE - Select Operator - Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE - Group By Operator - aggregations: count() - mode: hash - outputColumnNames: _col0 + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: bigint) - Reducer 4 + value expressions: _col0 (type: bigint) + Reducer 2 Reduce Operator Tree: Group By Operator aggregations: count(VALUE._col0) @@ -682,24 +685,11 @@ STAGE PLANS: Stage: Stage-1 Tez Edges: - Reducer 3 <- Map 2 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE) - Reducer 4 <- Reducer 3 (SIMPLE_EDGE) + Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE) + Reducer 3 <- Reducer 2 (SIMPLE_EDGE) #### A masked pattern was here #### Vertices: - Map 2 - Map Operator Tree: - TableScan - alias: c - Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: value (type: string) - sort order: + - Map-reduce partition columns: value (type: string) - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Map 5 + Map 1 Map Operator Tree: TableScan alias: b @@ -730,7 +720,20 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col1 (type: string) Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE - Reducer 3 + Map 5 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: value is not null (type: boolean) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: value (type: string) + sort order: + + Map-reduce partition columns: value (type: string) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + Reducer 2 Reduce Operator Tree: Merge Join Operator condition map: @@ -738,19 +741,20 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 _col1 (type: string) + 1 value (type: string) Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE - Select Operator - Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE - Group By Operator - aggregations: count() - mode: hash - outputColumnNames: _col0 + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: bigint) - Reducer 4 + value expressions: _col0 (type: bigint) + Reducer 3 Reduce Operator Tree: Group By Operator aggregations: count(VALUE._col0) @@ -802,24 +806,11 @@ STAGE PLANS: Stage: Stage-1 Tez Edges: - Reducer 3 <- Map 2 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE) - Reducer 4 <- Reducer 3 (SIMPLE_EDGE) + Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE) + Reducer 3 <- Reducer 2 (SIMPLE_EDGE) #### A masked pattern was here #### Vertices: - Map 2 - Map Operator Tree: - TableScan - alias: c - Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: value (type: string) - sort order: + - Map-reduce partition columns: value (type: string) - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Map 5 + Map 1 Map Operator Tree: TableScan alias: b @@ -850,7 +841,20 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col1 (type: string) Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE - Reducer 3 + Map 5 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: value is not null (type: boolean) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: value (type: string) + sort order: + + Map-reduce partition columns: value (type: string) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + Reducer 2 Reduce Operator Tree: Merge Join Operator condition map: @@ -858,19 +862,20 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 _col1 (type: string) + 1 value (type: string) Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE - Select Operator - Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE - Group By Operator - aggregations: count() - mode: hash - outputColumnNames: _col0 + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: bigint) - Reducer 4 + value expressions: _col0 (type: bigint) + Reducer 3 Reduce Operator Tree: Group By Operator aggregations: count(VALUE._col0) @@ -929,7 +934,7 @@ STAGE PLANS: Map 1 Map Operator Tree: TableScan - alias: b + alias: a Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE Filter Operator predicate: UDFToDouble(key) is not null (type: boolean) @@ -942,7 +947,7 @@ STAGE PLANS: Map 4 Map Operator Tree: TableScan - alias: c + alias: b Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE Filter Operator predicate: UDFToDouble(key) is not null (type: boolean) @@ -955,7 +960,7 @@ STAGE PLANS: Map 5 Map Operator Tree: TableScan - alias: a + alias: c Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE Filter Operator predicate: UDFToDouble(key) is not null (type: boolean) @@ -975,18 +980,20 @@ STAGE PLANS: 0 1 2 + keys: + 0 UDFToDouble(key) (type: double) + 1 UDFToDouble(key) (type: double) + 2 UDFToDouble(key) (type: double) Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE - Select Operator - Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE - Group By Operator - aggregations: count() - mode: hash - outputColumnNames: _col0 + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: bigint) + value expressions: _col0 (type: bigint) Reducer 3 Reduce Operator Tree: Group By Operator @@ -1039,10 +1046,10 @@ STAGE PLANS: Stage: Stage-1 Tez Edges: - Reducer 4 <- Map 3 (SIMPLE_EDGE) + Reducer 2 <- Map 1 (SIMPLE_EDGE) #### A masked pattern was here #### Vertices: - Map 3 + Map 1 Map Operator Tree: TableScan alias: b @@ -1077,18 +1084,16 @@ STAGE PLANS: 1 key (type: int) 2 key (type: int) Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE - Select Operator - Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE - Group By Operator - aggregations: count() - mode: hash - outputColumnNames: _col0 + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: bigint) - Reducer 4 + value expressions: _col0 (type: bigint) + Reducer 2 Reduce Operator Tree: Group By Operator aggregations: count(VALUE._col0) @@ -1140,24 +1145,11 @@ STAGE PLANS: Stage: Stage-1 Tez Edges: - Reducer 3 <- Map 2 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE) - Reducer 4 <- Reducer 3 (SIMPLE_EDGE) + Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE) + Reducer 3 <- Reducer 2 (SIMPLE_EDGE) #### A masked pattern was here #### Vertices: - Map 2 - Map Operator Tree: - TableScan - alias: c - Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: value (type: string) - sort order: + - Map-reduce partition columns: value (type: string) - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Map 5 + Map 1 Map Operator Tree: TableScan alias: b @@ -1188,7 +1180,20 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col1 (type: string) Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE - Reducer 3 + Map 5 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: value is not null (type: boolean) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: value (type: string) + sort order: + + Map-reduce partition columns: value (type: string) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + Reducer 2 Reduce Operator Tree: Merge Join Operator condition map: @@ -1196,19 +1201,20 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 _col1 (type: string) + 1 value (type: string) Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE - Select Operator - Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE - Group By Operator - aggregations: count() - mode: hash - outputColumnNames: _col0 + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: bigint) - Reducer 4 + value expressions: _col0 (type: bigint) + Reducer 3 Reduce Operator Tree: Group By Operator aggregations: count(VALUE._col0) diff --git a/ql/src/test/results/clientpositive/tez/correlationoptimizer1.q.out b/ql/src/test/results/clientpositive/tez/correlationoptimizer1.q.out index 245bf4a..b86a8f1 100644 --- a/ql/src/test/results/clientpositive/tez/correlationoptimizer1.q.out +++ b/ql/src/test/results/clientpositive/tez/correlationoptimizer1.q.out @@ -67,6 +67,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col0 Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -199,6 +202,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col0 Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -484,6 +490,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 key (type: string) + 1 _col0 (type: string) outputColumnNames: _col0 Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -625,6 +634,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 key (type: string) + 1 _col0 (type: string) outputColumnNames: _col0 Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -757,6 +769,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col0 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -883,6 +898,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col0 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -1015,6 +1033,9 @@ STAGE PLANS: condition expressions: 0 1 {KEY.reducesinkkey0} + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col5 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -1141,6 +1162,9 @@ STAGE PLANS: condition expressions: 0 1 {KEY.reducesinkkey0} + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col5 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -1270,6 +1294,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 {KEY.reducesinkkey1} + keys: + 0 key (type: string), value (type: string) + 1 key (type: string), value (type: string) outputColumnNames: _col0, _col6 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -1390,6 +1417,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 {KEY.reducesinkkey1} + keys: + 0 key (type: string), value (type: string) + 1 key (type: string), value (type: string) outputColumnNames: _col0, _col6 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -1519,6 +1549,9 @@ STAGE PLANS: condition expressions: 0 1 {KEY.reducesinkkey0} + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col5 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -1645,6 +1678,9 @@ STAGE PLANS: condition expressions: 0 1 {KEY.reducesinkkey0} + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col5 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -1777,6 +1813,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col0 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -1903,6 +1942,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col0 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -2037,6 +2079,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col0 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -2163,6 +2208,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col0 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -2298,6 +2346,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} {VALUE._col0} 1 + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -2431,6 +2482,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} {VALUE._col0} 1 + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -2565,6 +2619,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 key (type: string), value (type: string) + 1 key (type: string), value (type: string) outputColumnNames: _col0 Statistics: Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -2697,6 +2754,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 key (type: string), value (type: string) + 1 key (type: string), value (type: string) outputColumnNames: _col0 Statistics: Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE Group By Operator diff --git a/ql/src/test/results/clientpositive/tez/cross_join.q.out b/ql/src/test/results/clientpositive/tez/cross_join.q.out index e40ca8c..3330c0d 100644 --- a/ql/src/test/results/clientpositive/tez/cross_join.q.out +++ b/ql/src/test/results/clientpositive/tez/cross_join.q.out @@ -41,6 +41,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} 1 + keys: + 0 + 1 outputColumnNames: _col0 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -104,6 +107,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} 1 + keys: + 0 + 1 outputColumnNames: _col0 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -175,6 +181,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col0 Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE Select Operator diff --git a/ql/src/test/results/clientpositive/tez/cross_product_check_1.q.out b/ql/src/test/results/clientpositive/tez/cross_product_check_1.q.out index 98aa675..0b0c46e 100644 --- a/ql/src/test/results/clientpositive/tez/cross_product_check_1.q.out +++ b/ql/src/test/results/clientpositive/tez/cross_product_check_1.q.out @@ -66,6 +66,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} {VALUE._col1} 1 {VALUE._col0} {VALUE._col1} + keys: + 0 + 1 outputColumnNames: _col0, _col1, _col5, _col6 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -148,6 +151,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} {VALUE._col0} 1 {KEY.reducesinkkey0} {VALUE._col0} + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col0, _col1, _col5, _col6 Statistics: Num rows: 5 Data size: 57 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator @@ -162,6 +168,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} {VALUE._col1} {VALUE._col5} {VALUE._col6} 1 {VALUE._col0} {VALUE._col1} + keys: + 0 + 1 outputColumnNames: _col0, _col1, _col5, _col6, _col10, _col11 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -249,6 +258,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col0 Statistics: Num rows: 5 Data size: 57 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -280,6 +292,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} {VALUE._col1} 1 {VALUE._col0} + keys: + 0 + 1 outputColumnNames: _col0, _col1, _col5 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -353,6 +368,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} 1 + keys: + 0 + 1 outputColumnNames: _col0 Statistics: Num rows: 11 Data size: 114 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -384,6 +402,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} {VALUE._col1} 1 {VALUE._col0} + keys: + 0 + 1 outputColumnNames: _col0, _col1, _col5 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -491,6 +512,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} 1 {VALUE._col0} + keys: + 0 + 1 outputColumnNames: _col0, _col1 Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -512,6 +536,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col0 Statistics: Num rows: 5 Data size: 57 Basic stats: COMPLETE Column stats: NONE Group By Operator diff --git a/ql/src/test/results/clientpositive/tez/dynamic_partition_pruning.q.out b/ql/src/test/results/clientpositive/tez/dynamic_partition_pruning.q.out index ae9d130..6dba009 100644 --- a/ql/src/test/results/clientpositive/tez/dynamic_partition_pruning.q.out +++ b/ql/src/test/results/clientpositive/tez/dynamic_partition_pruning.q.out @@ -250,6 +250,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string) + 1 ds (type: string) Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -353,6 +356,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string) + 1 ds (type: string) Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -518,6 +524,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col2} 1 + keys: + 0 ds (type: string) + 1 ds (type: string) outputColumnNames: _col3 Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator @@ -533,6 +542,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 _col3 (type: string) + 1 hr (type: string) Statistics: Num rows: 2420 Data size: 25709 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -658,6 +670,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col2} 1 + keys: + 0 ds (type: string) + 1 ds (type: string) outputColumnNames: _col3 Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator @@ -673,6 +688,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 _col3 (type: string) + 1 hr (type: string) Statistics: Num rows: 2420 Data size: 25709 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -822,6 +840,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string), hr (type: string) + 1 ds (type: string), hr (type: string) Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -925,6 +946,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string), hr (type: string) + 1 ds (type: string), hr (type: string) Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -1056,6 +1080,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string) + 1 ds (type: string) Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -1159,6 +1186,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string) + 1 ds (type: string) Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -1291,6 +1321,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 UDFToDouble(hr) (type: double) + 1 UDFToDouble(UDFToInteger((hr / 2))) (type: double) Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -1412,6 +1445,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 (hr * 2) (type: double) + 1 hr (type: double) Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -1518,6 +1554,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 UDFToDouble(hr) (type: double) + 1 UDFToDouble(UDFToInteger((hr / 2))) (type: double) Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -1624,6 +1663,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 (hr * 2) (type: double) + 1 hr (type: double) Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -1758,6 +1800,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 UDFToString((hr * 2)) (type: string) + 1 UDFToString(hr) (type: string) Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -1910,6 +1955,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string) + 1 _col0 (type: string) Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -2024,6 +2072,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col2} {VALUE._col3} 1 {VALUE._col0} {VALUE._col2} + keys: + 0 + 1 outputColumnNames: _col2, _col3, _col7, _col9 Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Filter Operator @@ -2165,6 +2216,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} {KEY.reducesinkkey1} 1 {KEY.reducesinkkey0} {KEY.reducesinkkey1} + keys: + 0 ds (type: string), hr (type: string) + 1 ds (type: string), hr (type: string) outputColumnNames: _col2, _col3, _col7, _col9 Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Filter Operator @@ -2272,6 +2326,9 @@ STAGE PLANS: condition expressions: 0 1 {VALUE._col0} + keys: + 0 ds (type: string) + 1 ds (type: string) outputColumnNames: _col8 Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Filter Operator @@ -2376,6 +2433,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string) + 1 ds (type: string) Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -2458,6 +2518,9 @@ STAGE PLANS: condition expressions: 0 1 {VALUE._col0} + keys: + 0 ds (type: string) + 1 ds (type: string) outputColumnNames: _col8 Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Filter Operator @@ -2596,6 +2659,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string) + 1 ds (type: string) Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator key expressions: '11' (type: string) @@ -2609,6 +2675,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 '11' (type: string) + 1 '11' (type: string) Statistics: Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -2718,6 +2787,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string) + 1 ds (type: string) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE Reduce Output Operator key expressions: '13' (type: string) @@ -2731,6 +2803,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 '13' (type: string) + 1 '13' (type: string) Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -2856,6 +2931,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string) + 1 _col0 (type: string) Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -3039,6 +3117,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 ds (type: string) + 1 _col0 (type: string) outputColumnNames: _col2 Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -3297,6 +3378,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 _col0 (type: string) + 1 _col0 (type: string) outputColumnNames: _col0 Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -4561,6 +4645,9 @@ STAGE PLANS: condition expressions: 0 1 {VALUE._col0} + keys: + 0 ds (type: string) + 1 ds (type: string) outputColumnNames: _col8 Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Filter Operator diff --git a/ql/src/test/results/clientpositive/tez/filter_join_breaktask.q.out b/ql/src/test/results/clientpositive/tez/filter_join_breaktask.q.out index 33024b0..873aa0b 100644 --- a/ql/src/test/results/clientpositive/tez/filter_join_breaktask.q.out +++ b/ql/src/test/results/clientpositive/tez/filter_join_breaktask.q.out @@ -357,6 +357,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 {VALUE._col0} + keys: + 0 key (type: int) + 1 key (type: int) outputColumnNames: _col0, _col7 Position of Big Table: 0 Statistics: Num rows: 14 Data size: 119 Basic stats: COMPLETE Column stats: NONE @@ -377,6 +380,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} 1 {KEY.reducesinkkey0} + keys: + 0 _col7 (type: string) + 1 value (type: string) outputColumnNames: _col0, _col13 Position of Big Table: 0 Statistics: Num rows: 27 Data size: 232 Basic stats: COMPLETE Column stats: NONE diff --git a/ql/src/test/results/clientpositive/tez/join0.q.out b/ql/src/test/results/clientpositive/tez/join0.q.out index 391368e..ade034a 100644 --- a/ql/src/test/results/clientpositive/tez/join0.q.out +++ b/ql/src/test/results/clientpositive/tez/join0.q.out @@ -67,6 +67,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} {VALUE._col1} 1 {VALUE._col0} {VALUE._col1} + keys: + 0 + 1 outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 182 Data size: 1939 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator diff --git a/ql/src/test/results/clientpositive/tez/join1.q.out b/ql/src/test/results/clientpositive/tez/join1.q.out index 226bce5..ef3dcfe 100644 --- a/ql/src/test/results/clientpositive/tez/join1.q.out +++ b/ql/src/test/results/clientpositive/tez/join1.q.out @@ -66,6 +66,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 {VALUE._col0} + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col0, _col6 Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE Select Operator diff --git a/ql/src/test/results/clientpositive/tez/join_nullsafe.q.out b/ql/src/test/results/clientpositive/tez/join_nullsafe.q.out index 1639324..f86cde4 100644 --- a/ql/src/test/results/clientpositive/tez/join_nullsafe.q.out +++ b/ql/src/test/results/clientpositive/tez/join_nullsafe.q.out @@ -65,6 +65,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} {VALUE._col0} 1 {VALUE._col0} {KEY.reducesinkkey0} + keys: + 0 key (type: int) + 1 value (type: int) nullSafes: [true] outputColumnNames: _col0, _col1, _col5, _col6 Statistics: Num rows: 3 Data size: 28 Basic stats: COMPLETE Column stats: NONE @@ -172,6 +175,10 @@ STAGE PLANS: 0 {KEY.reducesinkkey0} {VALUE._col0} 1 {VALUE._col0} {KEY.reducesinkkey0} 2 {KEY.reducesinkkey0} {VALUE._col0} + keys: + 0 key (type: int) + 1 value (type: int) + 2 key (type: int) outputColumnNames: _col0, _col1, _col5, _col6, _col10, _col11 Statistics: Num rows: 4 Data size: 37 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -260,6 +267,10 @@ STAGE PLANS: 0 {KEY.reducesinkkey0} {VALUE._col0} 1 {VALUE._col0} {KEY.reducesinkkey0} 2 {KEY.reducesinkkey0} {VALUE._col0} + keys: + 0 key (type: int) + 1 value (type: int) + 2 key (type: int) nullSafes: [true] outputColumnNames: _col0, _col1, _col5, _col6, _col10, _col11 Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE Column stats: NONE @@ -382,6 +393,10 @@ STAGE PLANS: 0 {KEY.reducesinkkey0} {KEY.reducesinkkey1} 1 {KEY.reducesinkkey1} {KEY.reducesinkkey0} 2 {KEY.reducesinkkey0} {KEY.reducesinkkey1} + keys: + 0 key (type: int), value (type: int) + 1 value (type: int), key (type: int) + 2 key (type: int), value (type: int) nullSafes: [true, false] outputColumnNames: _col0, _col1, _col5, _col6, _col10, _col11 Statistics: Num rows: 4 Data size: 37 Basic stats: COMPLETE Column stats: NONE @@ -468,6 +483,10 @@ STAGE PLANS: 0 {KEY.reducesinkkey0} {KEY.reducesinkkey1} 1 {KEY.reducesinkkey1} {KEY.reducesinkkey0} 2 {KEY.reducesinkkey0} {KEY.reducesinkkey1} + keys: + 0 key (type: int), value (type: int) + 1 value (type: int), key (type: int) + 2 key (type: int), value (type: int) nullSafes: [true, true] outputColumnNames: _col0, _col1, _col5, _col6, _col10, _col11 Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE Column stats: NONE @@ -1601,6 +1620,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} 1 {VALUE._col0} + keys: + 0 null (type: void) + 1 null (type: void) nullSafes: [true] outputColumnNames: _col1, _col5 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE diff --git a/ql/src/test/results/clientpositive/tez/limit_pushdown.q.out b/ql/src/test/results/clientpositive/tez/limit_pushdown.q.out index 2324800..dd1e295 100644 --- a/ql/src/test/results/clientpositive/tez/limit_pushdown.q.out +++ b/ql/src/test/results/clientpositive/tez/limit_pushdown.q.out @@ -887,6 +887,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} {VALUE._col0} 1 {KEY.reducesinkkey0} {VALUE._col0} + keys: + 0 _col0 (type: string) + 1 _col0 (type: string) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE Select Operator diff --git a/ql/src/test/results/clientpositive/tez/metadataonly1.q.out b/ql/src/test/results/clientpositive/tez/metadataonly1.q.out index f7774fe..0dce3e8 100644 --- a/ql/src/test/results/clientpositive/tez/metadataonly1.q.out +++ b/ql/src/test/results/clientpositive/tez/metadataonly1.q.out @@ -872,6 +872,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string) + 1 _col0 (type: string) Position of Big Table: 0 Statistics: Num rows: 1 Data size: 92 Basic stats: COMPLETE Column stats: NONE Group By Operator diff --git a/ql/src/test/results/clientpositive/tez/mrr.q.out b/ql/src/test/results/clientpositive/tez/mrr.q.out index 93b7e81..2584514 100644 --- a/ql/src/test/results/clientpositive/tez/mrr.q.out +++ b/ql/src/test/results/clientpositive/tez/mrr.q.out @@ -441,6 +441,9 @@ STAGE PLANS: condition expressions: 0 1 {KEY.reducesinkkey0} {VALUE._col0} + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col5, _col6 Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -1394,6 +1397,10 @@ STAGE PLANS: 0 {KEY.reducesinkkey0} {VALUE._col0} 1 {KEY.reducesinkkey0} {VALUE._col0} 2 {KEY.reducesinkkey0} {VALUE._col0} + keys: + 0 _col0 (type: string) + 1 _col0 (type: string) + 2 _col0 (type: string) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator diff --git a/ql/src/test/results/clientpositive/tez/optimize_nullscan.q.out b/ql/src/test/results/clientpositive/tez/optimize_nullscan.q.out index 741eb4b..dbd6b9e 100644 --- a/ql/src/test/results/clientpositive/tez/optimize_nullscan.q.out +++ b/ql/src/test/results/clientpositive/tez/optimize_nullscan.q.out @@ -515,6 +515,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 {KEY.reducesinkkey0} + keys: + 0 _col0 (type: string) + 1 _col0 (type: string) outputColumnNames: _col0, _col1 Position of Big Table: 0 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE @@ -1382,6 +1385,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} 1 {VALUE._col0} + keys: + 0 + 1 outputColumnNames: _col0, _col1 Position of Big Table: 0 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE @@ -1688,6 +1694,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col0 Position of Big Table: 0 Select Operator @@ -1926,6 +1935,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} {KEY.reducesinkkey0} 1 {VALUE._col0} {KEY.reducesinkkey0} + keys: + 0 value (type: string) + 1 value (type: string) outputColumnNames: _col0, _col1, _col5, _col6 Position of Big Table: 0 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE diff --git a/ql/src/test/results/clientpositive/tez/skewjoin.q.out b/ql/src/test/results/clientpositive/tez/skewjoin.q.out index 7db7bce..ec4adb7 100644 --- a/ql/src/test/results/clientpositive/tez/skewjoin.q.out +++ b/ql/src/test/results/clientpositive/tez/skewjoin.q.out @@ -126,6 +126,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 {VALUE._col0} + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col0, _col6 Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -269,6 +272,11 @@ STAGE PLANS: 1 {KEY.reducesinkkey0} {VALUE._col0} 2 {KEY.reducesinkkey0} {VALUE._col0} 3 {KEY.reducesinkkey0} {VALUE._col0} + keys: + 0 key (type: string) + 1 key (type: string) + 2 key (type: string) + 3 key (type: string) outputColumnNames: _col0, _col1, _col5, _col6, _col10, _col11, _col15, _col16 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE Select Operator @@ -401,6 +409,11 @@ STAGE PLANS: 1 {KEY.reducesinkkey0} {VALUE._col0} 2 {KEY.reducesinkkey0} {VALUE._col0} 3 {KEY.reducesinkkey0} {VALUE._col0} + keys: + 0 key (type: string) + 1 key (type: string) + 2 key (type: string) + 3 key (type: string) outputColumnNames: _col0, _col1, _col5, _col6, _col10, _col11, _col15, _col16 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE Select Operator @@ -494,6 +507,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} {VALUE._col1} 1 {VALUE._col0} + keys: + 0 UDFToDouble(key) (type: double) + 1 (key + 1) (type: double) outputColumnNames: _col0, _col1, _col5 Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -610,6 +626,9 @@ STAGE PLANS: condition expressions: 0 1 {KEY.reducesinkkey0} {VALUE._col0} + keys: + 0 _col0 (type: string) + 1 _col0 (type: string) outputColumnNames: _col2, _col3 Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -734,6 +753,9 @@ STAGE PLANS: condition expressions: 0 1 {KEY.reducesinkkey0} {VALUE._col0} + keys: + 0 _col0 (type: string), UDFToDouble(substring(_col1, 5)) (type: double) + 1 _col0 (type: string), (substring(_col1, 5) + 1) (type: double) outputColumnNames: _col2, _col3 Statistics: Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -885,6 +907,10 @@ STAGE PLANS: 0 {KEY.reducesinkkey0} 1 {VALUE._col0} 2 + keys: + 0 _col0 (type: string) + 1 _col0 (type: string) + 2 _col0 (type: string) outputColumnNames: _col0, _col3 Statistics: Num rows: 121 Data size: 1284 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -994,6 +1020,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} 1 {VALUE._col1} + keys: + 0 (key + 1) (type: double) + 1 UDFToDouble(key) (type: double) outputColumnNames: _col0, _col6 Statistics: Num rows: 0 Data size: 33 Basic stats: PARTIAL Column stats: NONE Group By Operator diff --git a/ql/src/test/results/clientpositive/tez/subquery_exists.q.out b/ql/src/test/results/clientpositive/tez/subquery_exists.q.out index 15691b5..4a40d0b 100644 --- a/ql/src/test/results/clientpositive/tez/subquery_exists.q.out +++ b/ql/src/test/results/clientpositive/tez/subquery_exists.q.out @@ -76,6 +76,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey1} {KEY.reducesinkkey0} 1 + keys: + 0 value (type: string), key (type: string) + 1 _col0 (type: string), _col1 (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE Select Operator diff --git a/ql/src/test/results/clientpositive/tez/subquery_in.q.out b/ql/src/test/results/clientpositive/tez/subquery_in.q.out index 9aa8677..4d890f4 100644 --- a/ql/src/test/results/clientpositive/tez/subquery_in.q.out +++ b/ql/src/test/results/clientpositive/tez/subquery_in.q.out @@ -69,6 +69,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} {VALUE._col0} 1 + keys: + 0 key (type: string) + 1 _col0 (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -186,6 +189,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} {KEY.reducesinkkey1} 1 + keys: + 0 key (type: string), value (type: string) + 1 _col0 (type: string), _col1 (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -303,6 +309,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col1} {VALUE._col5} 1 + keys: + 0 UDFToDouble(p_size) (type: double) + 1 _col0 (type: double) outputColumnNames: _col1, _col5 Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -451,6 +460,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col1} {KEY.reducesinkkey1} {KEY.reducesinkkey0} 1 + keys: + 0 p_size (type: int), p_mfgr (type: string) + 1 _col0 (type: int), _col1 (type: string) outputColumnNames: _col1, _col2, _col5 Statistics: Num rows: 7 Data size: 931 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -616,6 +628,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} {KEY.reducesinkkey1} 1 + keys: + 0 key (type: string), value (type: string) + 1 _col0 (type: string), _col1 (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -807,6 +822,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 {VALUE._col0} {VALUE._col1} + keys: + 0 _col0 (type: int) + 1 l_partkey (type: int) outputColumnNames: _col0, _col1, _col3 Statistics: Num rows: 27 Data size: 3298 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator @@ -823,6 +841,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} {VALUE._col2} 1 + keys: + 0 _col1 (type: int) + 1 _col0 (type: int) outputColumnNames: _col0, _col3 Statistics: Num rows: 29 Data size: 3627 Basic stats: COMPLETE Column stats: NONE Select Operator diff --git a/ql/src/test/results/clientpositive/tez/tez_join_hash.q.out b/ql/src/test/results/clientpositive/tez/tez_join_hash.q.out index 05f39c1..f4ffac4 100644 --- a/ql/src/test/results/clientpositive/tez/tez_join_hash.q.out +++ b/ql/src/test/results/clientpositive/tez/tez_join_hash.q.out @@ -69,6 +69,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 {KEY.reducesinkkey0} + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col0, _col5 Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE Filter Operator diff --git a/ql/src/test/results/clientpositive/tez/tez_join_tests.q.out b/ql/src/test/results/clientpositive/tez/tez_join_tests.q.out index 66d8798..65b6e97 100644 --- a/ql/src/test/results/clientpositive/tez/tez_join_tests.q.out +++ b/ql/src/test/results/clientpositive/tez/tez_join_tests.q.out @@ -62,6 +62,9 @@ STAGE PLANS: condition expressions: 0 1 {KEY.reducesinkkey0} {VALUE._col0} + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col5, _col6 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -93,6 +96,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} {KEY.reducesinkkey0} 1 {VALUE._col0} {KEY.reducesinkkey0} + keys: + 0 _col1 (type: string) + 1 value (type: string) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator diff --git a/ql/src/test/results/clientpositive/tez/tez_joins_explain.q.out b/ql/src/test/results/clientpositive/tez/tez_joins_explain.q.out index dfd0a6f..e22f72c 100644 --- a/ql/src/test/results/clientpositive/tez/tez_joins_explain.q.out +++ b/ql/src/test/results/clientpositive/tez/tez_joins_explain.q.out @@ -62,6 +62,9 @@ STAGE PLANS: condition expressions: 0 1 {KEY.reducesinkkey0} {VALUE._col0} + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col5, _col6 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -93,6 +96,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} {KEY.reducesinkkey0} 1 {VALUE._col0} {KEY.reducesinkkey0} + keys: + 0 _col1 (type: string) + 1 value (type: string) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator diff --git a/ql/src/test/results/clientpositive/tez/tez_smb_main.q.out b/ql/src/test/results/clientpositive/tez/tez_smb_main.q.out index 6db7150..3eac704 100644 --- a/ql/src/test/results/clientpositive/tez/tez_smb_main.q.out +++ b/ql/src/test/results/clientpositive/tez/tez_smb_main.q.out @@ -51,6 +51,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} {VALUE._col0} 1 {KEY.reducesinkkey0} {VALUE._col0} + keys: + 0 key (type: string) + 1 key (type: string) outputColumnNames: _col0, _col1, _col5, _col6 Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -717,6 +720,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 value (type: string) + 1 value (type: string) Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -854,6 +860,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 _col0 (type: int) + 1 key (type: int) Statistics: Num rows: 279 Data size: 2963 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() diff --git a/ql/src/test/results/clientpositive/tez/tez_union.q.out b/ql/src/test/results/clientpositive/tez/tez_union.q.out index 8ac475e..be1fa06 100644 --- a/ql/src/test/results/clientpositive/tez/tez_union.q.out +++ b/ql/src/test/results/clientpositive/tez/tez_union.q.out @@ -223,6 +223,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 _col0 (type: string) + 1 _col0 (type: string) Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() diff --git a/ql/src/test/results/clientpositive/tez/tez_union_group_by.q.out b/ql/src/test/results/clientpositive/tez/tez_union_group_by.q.out index 256ec35..2e612fd 100644 --- a/ql/src/test/results/clientpositive/tez/tez_union_group_by.q.out +++ b/ql/src/test/results/clientpositive/tez/tez_union_group_by.q.out @@ -200,6 +200,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 {KEY.reducesinkkey0} + keys: + 0 _col0 (type: bigint) + 1 _col0 (type: bigint) outputColumnNames: _col0, _col2 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE Select Operator @@ -221,6 +224,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} 1 + keys: + 0 t (type: string), st (type: string) + 1 t (type: string), st (type: string) nullSafes: [false, true] outputColumnNames: _col0 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE diff --git a/ql/src/test/results/clientpositive/tez/vectorized_bucketmapjoin1.q.out b/ql/src/test/results/clientpositive/tez/vectorized_bucketmapjoin1.q.out index 7e3a9b2..db75685 100644 --- a/ql/src/test/results/clientpositive/tez/vectorized_bucketmapjoin1.q.out +++ b/ql/src/test/results/clientpositive/tez/vectorized_bucketmapjoin1.q.out @@ -149,6 +149,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} {VALUE._col0} 1 {KEY.reducesinkkey0} {VALUE._col0} + keys: + 0 key (type: int) + 1 key (type: int) outputColumnNames: _col0, _col1, _col5, _col6 Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -237,6 +240,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} {VALUE._col0} 1 {KEY.reducesinkkey0} {VALUE._col0} + keys: + 0 key (type: int) + 1 key (type: int) outputColumnNames: _col0, _col1, _col5, _col6 Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -335,6 +341,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} {VALUE._col0} 1 {KEY.reducesinkkey0} {VALUE._col0} + keys: + 0 key (type: int) + 1 key (type: int) outputColumnNames: _col0, _col1, _col5, _col6 Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE Select Operator diff --git a/ql/src/test/results/clientpositive/tez/vectorized_dynamic_partition_pruning.q.out b/ql/src/test/results/clientpositive/tez/vectorized_dynamic_partition_pruning.q.out index fd380fa..23322e8 100644 --- a/ql/src/test/results/clientpositive/tez/vectorized_dynamic_partition_pruning.q.out +++ b/ql/src/test/results/clientpositive/tez/vectorized_dynamic_partition_pruning.q.out @@ -252,6 +252,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string) + 1 ds (type: string) Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -357,6 +360,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string) + 1 ds (type: string) Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -524,6 +530,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col2} 1 + keys: + 0 ds (type: string) + 1 ds (type: string) outputColumnNames: _col3 Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator @@ -539,6 +548,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 _col3 (type: string) + 1 hr (type: string) Statistics: Num rows: 2420 Data size: 25709 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -666,6 +678,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col2} 1 + keys: + 0 ds (type: string) + 1 ds (type: string) outputColumnNames: _col3 Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator @@ -681,6 +696,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 _col3 (type: string) + 1 hr (type: string) Statistics: Num rows: 2420 Data size: 25709 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -831,6 +849,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string), hr (type: string) + 1 ds (type: string), hr (type: string) Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -935,6 +956,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string), hr (type: string) + 1 ds (type: string), hr (type: string) Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -1068,6 +1092,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string) + 1 ds (type: string) Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -1173,6 +1200,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string) + 1 ds (type: string) Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -1306,6 +1336,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 UDFToDouble(hr) (type: double) + 1 UDFToDouble(UDFToInteger((hr / 2))) (type: double) Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -1428,6 +1461,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 (hr * 2) (type: double) + 1 hr (type: double) Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -1535,6 +1571,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 UDFToDouble(hr) (type: double) + 1 UDFToDouble(UDFToInteger((hr / 2))) (type: double) Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -1642,6 +1681,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 (hr * 2) (type: double) + 1 hr (type: double) Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -1777,6 +1819,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 UDFToString((hr * 2)) (type: string) + 1 UDFToString(hr) (type: string) Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -1931,6 +1976,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string) + 1 _col0 (type: string) Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -2046,6 +2094,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col2} {VALUE._col3} 1 {VALUE._col0} {VALUE._col2} + keys: + 0 + 1 outputColumnNames: _col2, _col3, _col7, _col9 Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Filter Operator @@ -2188,6 +2239,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} {KEY.reducesinkkey1} 1 {KEY.reducesinkkey0} {KEY.reducesinkkey1} + keys: + 0 ds (type: string), hr (type: string) + 1 ds (type: string), hr (type: string) outputColumnNames: _col2, _col3, _col7, _col9 Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Filter Operator @@ -2297,6 +2351,9 @@ STAGE PLANS: condition expressions: 0 1 {VALUE._col0} + keys: + 0 ds (type: string) + 1 ds (type: string) outputColumnNames: _col8 Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Filter Operator @@ -2403,6 +2460,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string) + 1 ds (type: string) Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -2487,6 +2547,9 @@ STAGE PLANS: condition expressions: 0 1 {VALUE._col0} + keys: + 0 ds (type: string) + 1 ds (type: string) outputColumnNames: _col8 Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Filter Operator @@ -2627,6 +2690,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string) + 1 ds (type: string) Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator key expressions: '11' (type: string) @@ -2640,6 +2706,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 '11' (type: string) + 1 '11' (type: string) Statistics: Num rows: 1210 Data size: 12854 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -2751,6 +2820,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string) + 1 ds (type: string) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE Reduce Output Operator key expressions: '13' (type: string) @@ -2764,6 +2836,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 '13' (type: string) + 1 '13' (type: string) Statistics: Num rows: 1 Data size: 189 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -2890,6 +2965,9 @@ STAGE PLANS: condition expressions: 0 1 + keys: + 0 ds (type: string) + 1 _col0 (type: string) Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: count() @@ -3074,6 +3152,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 ds (type: string) + 1 _col0 (type: string) outputColumnNames: _col2 Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Group By Operator @@ -3334,6 +3415,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 + keys: + 0 _col0 (type: string) + 1 _col0 (type: string) outputColumnNames: _col0 Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -4614,6 +4698,9 @@ STAGE PLANS: condition expressions: 0 1 {VALUE._col0} + keys: + 0 ds (type: string) + 1 ds (type: string) outputColumnNames: _col8 Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE Filter Operator diff --git a/ql/src/test/results/clientpositive/tez/vectorized_ptf.q.out b/ql/src/test/results/clientpositive/tez/vectorized_ptf.q.out index 3c5b267..bee1644 100644 --- a/ql/src/test/results/clientpositive/tez/vectorized_ptf.q.out +++ b/ql/src/test/results/clientpositive/tez/vectorized_ptf.q.out @@ -662,6 +662,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} {VALUE._col0} {VALUE._col1} {VALUE._col2} {VALUE._col3} {VALUE._col4} {VALUE._col5} {VALUE._col6} {VALUE._col7} 1 + keys: + 0 p_partkey (type: int) + 1 p_partkey (type: int) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8 Position of Big Table: 0 Statistics: Num rows: 14 Data size: 8823 Basic stats: COMPLETE Column stats: NONE @@ -2104,6 +2107,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} {VALUE._col0} {VALUE._col1} {VALUE._col2} {VALUE._col3} {VALUE._col4} {VALUE._col5} {VALUE._col6} {VALUE._col7} 1 + keys: + 0 _col0 (type: int) + 1 p_partkey (type: int) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8 Position of Big Table: 0 Statistics: Num rows: 14 Data size: 8823 Basic stats: COMPLETE Column stats: NONE @@ -2395,6 +2401,9 @@ STAGE PLANS: condition expressions: 0 1 {KEY.reducesinkkey0} {VALUE._col0} {VALUE._col1} {VALUE._col2} {VALUE._col3} {VALUE._col4} {VALUE._col5} {VALUE._col6} {VALUE._col7} + keys: + 0 p_partkey (type: int) + 1 _col0 (type: int) outputColumnNames: _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20 Position of Big Table: 0 Statistics: Num rows: 14 Data size: 8823 Basic stats: COMPLETE Column stats: NONE @@ -4300,6 +4309,9 @@ STAGE PLANS: condition expressions: 0 {VALUE._col0} {VALUE._col1} {VALUE._col4} {VALUE._col6} 1 + keys: + 0 _col0 (type: int) + 1 p_partkey (type: int) outputColumnNames: _col1, _col2, _col5, _col7 Position of Big Table: 0 Statistics: Num rows: 14 Data size: 8823 Basic stats: COMPLETE Column stats: NONE diff --git a/ql/src/test/results/clientpositive/tez/vectorized_shufflejoin.q.out b/ql/src/test/results/clientpositive/tez/vectorized_shufflejoin.q.out index 726ac93..6ab1ff2 100644 --- a/ql/src/test/results/clientpositive/tez/vectorized_shufflejoin.q.out +++ b/ql/src/test/results/clientpositive/tez/vectorized_shufflejoin.q.out @@ -54,6 +54,9 @@ STAGE PLANS: condition expressions: 0 {KEY.reducesinkkey0} 1 {KEY.reducesinkkey0} + keys: + 0 cint (type: int) + 1 cint (type: int) outputColumnNames: _col2, _col17 Statistics: Num rows: 6758 Data size: 207479 Basic stats: COMPLETE Column stats: NONE Group By Operator