diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/OperatorUtils.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/OperatorUtils.java index f0b41f36f3..f966def841 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/OperatorUtils.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/OperatorUtils.java @@ -592,4 +592,23 @@ private static boolean areBacktrackedExprsCompatible(final List or } return currRS; } + + /*** + * Given group by operator on reduce side, this tries to get to the group by on map side (partial/merge). + * @param reduceSideGbOp Make sure this is group by side reducer + * @return map side gb if any, else null + */ + public static GroupByOperator findMapSideGb(final GroupByOperator reduceSideGbOp) { + Operator parentOp = reduceSideGbOp; + while(parentOp.getParentOperators() != null && parentOp.getParentOperators().size() > 0) { + if(parentOp.getParentOperators().size() > 1) { + return null; + } + parentOp = parentOp.getParentOperators().get(0); + if(parentOp instanceof GroupByOperator) { + return (GroupByOperator)parentOp; + } + } + return null; + } } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java index 32fba6c8ff..25a6f12253 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java @@ -113,7 +113,6 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import scala.math.Numeric; public class StatsRulesProcFactory { @@ -1382,7 +1381,8 @@ public Object process(Node nd, Stack stack, NodeProcessorCtx procCtx, } else { // Case 3: column stats, hash aggregation, NO grouping sets cardinality = Math.min(parentNumRows/2, StatsUtils.safeMult(ndvProduct, parallelism)); - long orgParentNumRows = getParentNumRows(gop, gop.getConf().getKeys(), conf); + long orgParentNumRows = StatsUtils.safeMult(getParentNumRows(gop, gop.getConf().getKeys(), conf), + parallelism); cardinality = Math.min(cardinality, orgParentNumRows); if (LOG.isDebugEnabled()) { @@ -1410,8 +1410,8 @@ public Object process(Node nd, Stack stack, NodeProcessorCtx procCtx, // in reduce side GBY, we don't know if the grouping set was present or not. so get it // from map side GBY - GroupByOperator mGop = OperatorUtils.findSingleOperatorUpstream(parent, GroupByOperator.class); - if (mGop != null) { + GroupByOperator mGop = OperatorUtils.findMapSideGb(gop); + if(mGop != null) { containsGroupingSet = mGop.getConf().isGroupingSetsPresent(); } @@ -1426,6 +1426,15 @@ public Object process(Node nd, Stack stack, NodeProcessorCtx procCtx, } else { // Case 9: column stats, NO grouping sets cardinality = Math.min(parentNumRows, ndvProduct); + // to get to the source number of rows we should be using original group by + GroupByOperator gOpStats = mGop; + if(gOpStats == null) { + // it could be NULL in case the plan has single group by (instead of merge and final) + // e.g. autogather stats + gOpStats = gop; + } + long orgParentNumRows = getParentNumRows(gOpStats, gOpStats.getConf().getKeys(), conf); + cardinality = Math.min(orgParentNumRows, cardinality); if (LOG.isDebugEnabled()) { LOG.debug("[Case 9] STATS-" + gop.toString() + ": cardinality: " + cardinality); diff --git a/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets2.q.out b/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets2.q.out index 7bee405977..135c531e7b 100644 --- a/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets2.q.out +++ b/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets2.q.out @@ -783,7 +783,7 @@ STAGE PLANS: keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint) mode: final outputColumnNames: _col0, _col1, _col3 - Statistics: Num rows: 9 Data size: 1674 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 12 Data size: 2232 Basic stats: COMPLETE Column stats: COMPLETE pruneGroupingSetId: true Select Operator expressions: _col0 (type: string), _col1 (type: string), _col3 (type: bigint) @@ -792,13 +792,13 @@ STAGE PLANS: className: VectorSelectOperator native: true projectedOutputColumnNums: [0, 1, 2] - Statistics: Num rows: 9 Data size: 1602 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 12 Data size: 2136 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false File Sink Vectorization: className: VectorFileSinkOperator native: false - Statistics: Num rows: 9 Data size: 1602 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 12 Data size: 2136 Basic stats: COMPLETE Column stats: COMPLETE table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query5.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query5.q.out index 32b0e3ec2a..ee794ad6f0 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query5.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query5.q.out @@ -306,13 +306,13 @@ Stage-0 File Output Operator [FS_300] Limit [LIM_299] (rows=100 width=619) Number of rows:100 - Select Operator [SEL_298] (rows=38846 width=619) + Select Operator [SEL_298] (rows=59581 width=619) Output:["_col0","_col1","_col2","_col3","_col4"] <-Reducer 7 [SIMPLE_EDGE] vectorized SHUFFLE [RS_297] - Select Operator [SEL_296] (rows=38846 width=619) + Select Operator [SEL_296] (rows=59581 width=619) Output:["_col0","_col1","_col2","_col3","_col4"] - Group By Operator [GBY_295] (rows=38846 width=627) + Group By Operator [GBY_295] (rows=59581 width=627) Output:["_col0","_col1","_col3","_col4","_col5"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2 <-Union 6 [SIMPLE_EDGE] <-Reducer 14 [CONTAINS] vectorized @@ -329,7 +329,7 @@ Stage-0 <-Reducer 13 [SIMPLE_EDGE] SHUFFLE [RS_45] PartitionCols:_col0 - Group By Operator [GBY_44] (rows=46000 width=548) + Group By Operator [GBY_44] (rows=2835758 width=548) Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col2)","sum(_col4)","sum(_col3)","sum(_col5)"],keys:_col8 Merge Join Operator [MERGEJOIN_219] (rows=34813117 width=535) Conds:RS_40._col0=RS_305._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col8"] @@ -398,7 +398,7 @@ Stage-0 <-Reducer 17 [SIMPLE_EDGE] SHUFFLE [RS_77] PartitionCols:_col0 - Group By Operator [GBY_76] (rows=84 width=548) + Group By Operator [GBY_76] (rows=3498 width=548) Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col2)","sum(_col4)","sum(_col3)","sum(_col5)"],keys:_col8 Merge Join Operator [MERGEJOIN_221] (rows=30966059 width=543) Conds:RS_72._col0=RS_312._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col8"] @@ -478,7 +478,7 @@ Stage-0 <-Reducer 4 [SIMPLE_EDGE] SHUFFLE [RS_21] PartitionCols:_col0 - Group By Operator [GBY_20] (rows=1704 width=548) + Group By Operator [GBY_20] (rows=78090 width=548) Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col2)","sum(_col4)","sum(_col3)","sum(_col5)"],keys:_col8 Merge Join Operator [MERGEJOIN_217] (rows=64325014 width=376) Conds:RS_16._col0=RS_289._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col8"] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query70.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query70.q.out index 184d281df0..2df373a2a9 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query70.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query70.q.out @@ -103,22 +103,22 @@ Stage-0 File Output Operator [FS_168] Limit [LIM_167] (rows=100 width=492) Number of rows:100 - Select Operator [SEL_166] (rows=240 width=492) + Select Operator [SEL_166] (rows=720 width=492) Output:["_col0","_col1","_col2","_col3","_col4"] <-Reducer 6 [SIMPLE_EDGE] vectorized SHUFFLE [RS_165] - Select Operator [SEL_164] (rows=240 width=492) + Select Operator [SEL_164] (rows=720 width=492) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - PTF Operator [PTF_163] (rows=240 width=304) + PTF Operator [PTF_163] (rows=720 width=304) Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col2 DESC NULLS LAST","partition by:":"(grouping(_col3, 1) + grouping(_col3, 0)), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END"}] - Select Operator [SEL_162] (rows=240 width=304) + Select Operator [SEL_162] (rows=720 width=304) Output:["_col0","_col1","_col2","_col3"] <-Reducer 5 [SIMPLE_EDGE] vectorized SHUFFLE [RS_161] PartitionCols:(grouping(_col3, 1) + grouping(_col3, 0)), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END - Select Operator [SEL_160] (rows=240 width=304) + Select Operator [SEL_160] (rows=720 width=304) Output:["_col0","_col1","_col2","_col3"] - Group By Operator [GBY_159] (rows=240 width=304) + Group By Operator [GBY_159] (rows=720 width=304) Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 <-Reducer 4 [SIMPLE_EDGE] SHUFFLE [RS_49] @@ -148,7 +148,7 @@ Stage-0 <-Reducer 8 [SIMPLE_EDGE] SHUFFLE [RS_26] PartitionCols:_col0 - Group By Operator [GBY_25] (rows=1704 width=198) + Group By Operator [GBY_25] (rows=2989 width=198) Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col5 Merge Join Operator [MERGEJOIN_133] (rows=91197860 width=168) Conds:RS_21._col1=RS_151._col0(Inner),Output:["_col2","_col5"] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query77.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query77.q.out index 78f7c28b7a..2e09c26c51 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query77.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query77.q.out @@ -264,15 +264,15 @@ Stage-0 Stage-1 Reducer 7 vectorized File Output Operator [FS_271] - Limit [LIM_270] (rows=24 width=437) + Limit [LIM_270] (rows=58 width=437) Number of rows:100 - Select Operator [SEL_269] (rows=24 width=437) + Select Operator [SEL_269] (rows=58 width=437) Output:["_col0","_col1","_col2","_col3","_col4"] <-Reducer 6 [SIMPLE_EDGE] vectorized SHUFFLE [RS_268] - Select Operator [SEL_267] (rows=24 width=437) + Select Operator [SEL_267] (rows=58 width=437) Output:["_col0","_col1","_col2","_col3","_col4"] - Group By Operator [GBY_266] (rows=24 width=445) + Group By Operator [GBY_266] (rows=58 width=445) Output:["_col0","_col1","_col3","_col4","_col5"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2 <-Union 5 [SIMPLE_EDGE] <-Reducer 14 [CONTAINS] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query80.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query80.q.out index dbaecf8fe8..ad1d2a2ba6 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query80.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query80.q.out @@ -258,13 +258,13 @@ Stage-0 File Output Operator [FS_452] Limit [LIM_451] (rows=100 width=619) Number of rows:100 - Select Operator [SEL_450] (rows=38846 width=619) + Select Operator [SEL_450] (rows=59581 width=619) Output:["_col0","_col1","_col2","_col3","_col4"] <-Reducer 9 [SIMPLE_EDGE] vectorized SHUFFLE [RS_449] - Select Operator [SEL_448] (rows=38846 width=619) + Select Operator [SEL_448] (rows=59581 width=619) Output:["_col0","_col1","_col2","_col3","_col4"] - Group By Operator [GBY_447] (rows=38846 width=627) + Group By Operator [GBY_447] (rows=59581 width=627) Output:["_col0","_col1","_col3","_col4","_col5"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2 <-Union 8 [SIMPLE_EDGE] <-Reducer 18 [CONTAINS] vectorized @@ -281,7 +281,7 @@ Stage-0 <-Reducer 17 [SIMPLE_EDGE] SHUFFLE [RS_71] PartitionCols:_col0 - Group By Operator [GBY_70] (rows=46000 width=436) + Group By Operator [GBY_70] (rows=427306 width=436) Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col1)","sum(_col2)","sum(_col3)"],keys:_col0 Select Operator [SEL_68] (rows=8592843 width=305) Output:["_col0","_col1","_col2","_col3"] @@ -512,7 +512,7 @@ Stage-0 <-Reducer 6 [SIMPLE_EDGE] SHUFFLE [RS_34] PartitionCols:_col0 - Group By Operator [GBY_33] (rows=1704 width=436) + Group By Operator [GBY_33] (rows=4932 width=436) Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col1)","sum(_col2)","sum(_col3)"],keys:_col0 Select Operator [SEL_31] (rows=15038783 width=100) Output:["_col0","_col1","_col2","_col3"] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query95.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query95.q.out index fd709f99dd..4dc9cd8cc0 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query95.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query95.q.out @@ -113,12 +113,12 @@ Stage-0 PARTITION_ONLY_SHUFFLE [RS_267] Group By Operator [GBY_266] (rows=1 width=232) Output:["_col0","_col1","_col2"],aggregations:["count(_col0)","sum(_col1)","sum(_col2)"] - Group By Operator [GBY_265] (rows=143895019 width=228) + Group By Operator [GBY_265] (rows=38111880083 width=228) Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0 <-Reducer 6 [SIMPLE_EDGE] SHUFFLE [RS_101] PartitionCols:_col0 - Group By Operator [GBY_100] (rows=143895019 width=228) + Group By Operator [GBY_100] (rows=38111880083 width=228) Output:["_col0","_col2","_col3"],aggregations:["sum(_col4)","sum(_col5)"],keys:_col3 Merge Join Operator [MERGEJOIN_227] (rows=83469759007 width=227) Conds:RS_47._col3=RS_48._col0(Inner),Output:["_col3","_col4","_col5"] diff --git a/ql/src/test/results/clientpositive/perf/tez/query5.q.out b/ql/src/test/results/clientpositive/perf/tez/query5.q.out index 2ce689b1bb..35acfc82b3 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query5.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query5.q.out @@ -306,13 +306,13 @@ Stage-0 File Output Operator [FS_304] Limit [LIM_303] (rows=100 width=619) Number of rows:100 - Select Operator [SEL_302] (rows=38846 width=619) + Select Operator [SEL_302] (rows=59581 width=619) Output:["_col0","_col1","_col2","_col3","_col4"] <-Reducer 7 [SIMPLE_EDGE] vectorized SHUFFLE [RS_301] - Select Operator [SEL_300] (rows=38846 width=619) + Select Operator [SEL_300] (rows=59581 width=619) Output:["_col0","_col1","_col2","_col3","_col4"] - Group By Operator [GBY_299] (rows=38846 width=627) + Group By Operator [GBY_299] (rows=59581 width=627) Output:["_col0","_col1","_col3","_col4","_col5"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2 <-Union 6 [SIMPLE_EDGE] <-Reducer 14 [CONTAINS] vectorized @@ -329,7 +329,7 @@ Stage-0 <-Reducer 13 [SIMPLE_EDGE] SHUFFLE [RS_47] PartitionCols:_col0 - Group By Operator [GBY_46] (rows=46000 width=548) + Group By Operator [GBY_46] (rows=2835758 width=548) Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col2)","sum(_col4)","sum(_col3)","sum(_col5)"],keys:_col8 Merge Join Operator [MERGEJOIN_222] (rows=34813117 width=535) Conds:RS_42._col0=RS_310._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col8"] @@ -400,7 +400,7 @@ Stage-0 <-Reducer 17 [SIMPLE_EDGE] SHUFFLE [RS_80] PartitionCols:_col0 - Group By Operator [GBY_79] (rows=84 width=548) + Group By Operator [GBY_79] (rows=3498 width=548) Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col2)","sum(_col4)","sum(_col3)","sum(_col5)"],keys:_col8 Merge Join Operator [MERGEJOIN_224] (rows=30966059 width=543) Conds:RS_75._col0=RS_318._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col8"] @@ -482,7 +482,7 @@ Stage-0 <-Reducer 4 [SIMPLE_EDGE] SHUFFLE [RS_22] PartitionCols:_col0 - Group By Operator [GBY_21] (rows=1704 width=548) + Group By Operator [GBY_21] (rows=78090 width=548) Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col2)","sum(_col4)","sum(_col3)","sum(_col5)"],keys:_col8 Merge Join Operator [MERGEJOIN_220] (rows=64325014 width=376) Conds:RS_17._col0=RS_293._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col8"] diff --git a/ql/src/test/results/clientpositive/perf/tez/query70.q.out b/ql/src/test/results/clientpositive/perf/tez/query70.q.out index 4650ef66fc..6d2528e474 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query70.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query70.q.out @@ -103,22 +103,22 @@ Stage-0 File Output Operator [FS_168] Limit [LIM_167] (rows=100 width=492) Number of rows:100 - Select Operator [SEL_166] (rows=240 width=492) + Select Operator [SEL_166] (rows=720 width=492) Output:["_col0","_col1","_col2","_col3","_col4"] <-Reducer 6 [SIMPLE_EDGE] vectorized SHUFFLE [RS_165] - Select Operator [SEL_164] (rows=240 width=492) + Select Operator [SEL_164] (rows=720 width=492) Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - PTF Operator [PTF_163] (rows=240 width=304) + PTF Operator [PTF_163] (rows=720 width=304) Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col2 DESC NULLS LAST","partition by:":"(grouping(_col3, 1) + grouping(_col3, 0)), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END"}] - Select Operator [SEL_162] (rows=240 width=304) + Select Operator [SEL_162] (rows=720 width=304) Output:["_col0","_col1","_col2","_col3"] <-Reducer 5 [SIMPLE_EDGE] vectorized SHUFFLE [RS_161] PartitionCols:(grouping(_col3, 1) + grouping(_col3, 0)), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END - Select Operator [SEL_160] (rows=240 width=304) + Select Operator [SEL_160] (rows=720 width=304) Output:["_col0","_col1","_col2","_col3"] - Group By Operator [GBY_159] (rows=240 width=304) + Group By Operator [GBY_159] (rows=720 width=304) Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2 <-Reducer 4 [SIMPLE_EDGE] SHUFFLE [RS_49] @@ -148,7 +148,7 @@ Stage-0 <-Reducer 8 [SIMPLE_EDGE] SHUFFLE [RS_26] PartitionCols:_col0 - Group By Operator [GBY_25] (rows=1704 width=198) + Group By Operator [GBY_25] (rows=2989 width=198) Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col5 Merge Join Operator [MERGEJOIN_133] (rows=91197860 width=168) Conds:RS_21._col1=RS_151._col0(Inner),Output:["_col2","_col5"] diff --git a/ql/src/test/results/clientpositive/perf/tez/query77.q.out b/ql/src/test/results/clientpositive/perf/tez/query77.q.out index 528c19cf61..545c01d372 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query77.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query77.q.out @@ -268,15 +268,15 @@ Stage-0 Stage-1 Reducer 8 vectorized File Output Operator [FS_367] - Limit [LIM_366] (rows=23 width=439) + Limit [LIM_366] (rows=52 width=439) Number of rows:100 - Select Operator [SEL_365] (rows=23 width=439) + Select Operator [SEL_365] (rows=52 width=439) Output:["_col0","_col1","_col2","_col3","_col4"] <-Reducer 7 [SIMPLE_EDGE] vectorized SHUFFLE [RS_364] - Select Operator [SEL_363] (rows=23 width=439) + Select Operator [SEL_363] (rows=52 width=439) Output:["_col0","_col1","_col2","_col3","_col4"] - Group By Operator [GBY_362] (rows=23 width=447) + Group By Operator [GBY_362] (rows=52 width=447) Output:["_col0","_col1","_col3","_col4","_col5"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2 <-Union 6 [SIMPLE_EDGE] <-Reducer 16 [CONTAINS] diff --git a/ql/src/test/results/clientpositive/perf/tez/query80.q.out b/ql/src/test/results/clientpositive/perf/tez/query80.q.out index 223e61aa24..b58acc015f 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query80.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query80.q.out @@ -258,13 +258,13 @@ Stage-0 File Output Operator [FS_460] Limit [LIM_459] (rows=100 width=619) Number of rows:100 - Select Operator [SEL_458] (rows=38846 width=619) + Select Operator [SEL_458] (rows=59581 width=619) Output:["_col0","_col1","_col2","_col3","_col4"] <-Reducer 9 [SIMPLE_EDGE] vectorized SHUFFLE [RS_457] - Select Operator [SEL_456] (rows=38846 width=619) + Select Operator [SEL_456] (rows=59581 width=619) Output:["_col0","_col1","_col2","_col3","_col4"] - Group By Operator [GBY_455] (rows=38846 width=627) + Group By Operator [GBY_455] (rows=59581 width=627) Output:["_col0","_col1","_col3","_col4","_col5"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2 <-Union 8 [SIMPLE_EDGE] <-Reducer 18 [CONTAINS] vectorized @@ -281,7 +281,7 @@ Stage-0 <-Reducer 17 [SIMPLE_EDGE] SHUFFLE [RS_75] PartitionCols:_col0 - Group By Operator [GBY_74] (rows=46000 width=436) + Group By Operator [GBY_74] (rows=427306 width=436) Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col1)","sum(_col2)","sum(_col3)"],keys:_col0 Select Operator [SEL_72] (rows=8592843 width=305) Output:["_col0","_col1","_col2","_col3"] @@ -520,7 +520,7 @@ Stage-0 <-Reducer 6 [SIMPLE_EDGE] SHUFFLE [RS_36] PartitionCols:_col0 - Group By Operator [GBY_35] (rows=1704 width=436) + Group By Operator [GBY_35] (rows=4932 width=436) Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col1)","sum(_col2)","sum(_col3)"],keys:_col0 Select Operator [SEL_33] (rows=15038783 width=100) Output:["_col0","_col1","_col2","_col3"]