HIVE-11794 : GBY vectorization appears to process COMPLETE reduce-side GBY incorrectly (Sergey Shelukhin, reviewed by Matt McCline)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/072c5a0b Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/072c5a0b Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/072c5a0b Branch: refs/heads/beeline-cli Commit: 072c5a0bce78cde0124d98a1243392cdee2f2f3e Parents: e82bf25 Author: Sergey Shelukhin <[email protected]> Authored: Tue Sep 22 18:13:15 2015 -0700 Committer: Sergey Shelukhin <[email protected]> Committed: Tue Sep 22 18:13:15 2015 -0700 ---------------------------------------------------------------------- .../ql/exec/vector/VectorGroupByOperator.java | 5 +- .../hive/ql/optimizer/physical/Vectorizer.java | 16 +- .../hive/ql/plan/ExprNodeGenericFuncDesc.java | 10 +- .../hadoop/hive/ql/plan/VectorGroupByDesc.java | 10 + .../clientpositive/vector_groupby_reduce.q | 62 +- .../clientpositive/vectorization_limit.q | 4 +- .../tez/vector_groupby_reduce.q.out | 1452 ++++++++++++++++- .../tez/vectorization_limit.q.out | 8 +- .../clientpositive/vector_groupby_reduce.q.out | 1466 +++++++++++++++++- .../clientpositive/vectorization_limit.q.out | 8 +- 10 files changed, 2958 insertions(+), 83 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/072c5a0b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorGroupByOperator.java ---------------------------------------------------------------------- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorGroupByOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorGroupByOperator.java index 917f406..7a552b8 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorGroupByOperator.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorGroupByOperator.java @@ -625,8 +625,7 @@ public class VectorGroupByOperator extends Operator<GroupByDesc> implements rowsToFlush[flushMark] = currentStreamingAggregators; if (keysToFlush[flushMark] == null) { keysToFlush[flushMark] = (VectorHashKeyWrapper) streamingKey.copyKey(); - } - else { + } else { streamingKey.duplicateTo(keysToFlush[flushMark]); } @@ -836,6 +835,8 @@ public class VectorGroupByOperator extends Operator<GroupByDesc> implements } else if (conf.getVectorDesc().isReduceMergePartial()) { // Sorted GroupBy of vector batches where an individual batch has the same group key (e.g. reduce). processingMode = this.new ProcessingModeReduceMergePartialKeys(); + } else if (conf.getVectorDesc().isReduceStreaming()) { + processingMode = this.new ProcessingModeUnsortedStreaming(); } else { // We start in hash mode and may dynamically switch to unsorted stream mode. processingMode = this.new ProcessingModeHashAggregate(); http://git-wip-us.apache.org/repos/asf/hive/blob/072c5a0b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java ---------------------------------------------------------------------- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java index 2e3bd76..0d4c1d8 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java @@ -1139,8 +1139,6 @@ public class Vectorizer implements PhysicalPlanResolver { return false; } - boolean isMergePartial = (desc.getMode() != GroupByDesc.Mode.HASH); - if (!isReduce) { // MapWork @@ -1153,12 +1151,15 @@ public class Vectorizer implements PhysicalPlanResolver { // ReduceWork - if (isMergePartial) { + boolean isComplete = desc.getMode() == GroupByDesc.Mode.COMPLETE; + if (desc.getMode() != GroupByDesc.Mode.HASH) { // Reduce Merge-Partial GROUP BY. // A merge-partial GROUP BY is fed by grouping by keys from reduce-shuffle. It is the // first (or root) operator for its reduce task. + // TODO: Technically, we should also handle FINAL, PARTIAL1, PARTIAL2 and PARTIALS + // that are not hash or complete, but aren't merge-partial, somehow. if (desc.isDistinct()) { LOG.info("Vectorized Reduce MergePartial GROUP BY does not support DISTINCT"); @@ -1174,7 +1175,7 @@ public class Vectorizer implements PhysicalPlanResolver { } if (hasKeys) { - if (op.getParentOperators().size() > 0) { + if (op.getParentOperators().size() > 0 && !isComplete) { LOG.info("Vectorized Reduce MergePartial GROUP BY keys can only handle a key group when it is fed by reduce-shuffle"); return false; } @@ -1187,7 +1188,11 @@ public class Vectorizer implements PhysicalPlanResolver { } else { LOG.info("Vectorized Reduce MergePartial GROUP BY will do global aggregation"); } - vectorDesc.setIsReduceMergePartial(true); + if (!isComplete) { + vectorDesc.setIsReduceMergePartial(true); + } else { + vectorDesc.setIsReduceStreaming(true); + } } else { // Reduce Hash GROUP BY or global aggregation. @@ -1259,6 +1264,7 @@ public class Vectorizer implements PhysicalPlanResolver { ExprNodeGenericFuncDesc d = (ExprNodeGenericFuncDesc) desc; boolean r = validateGenericUdf(d); if (!r) { + LOG.info("Cannot vectorize UDF " + d); return false; } } http://git-wip-us.apache.org/repos/asf/hive/blob/072c5a0b/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeGenericFuncDesc.java ---------------------------------------------------------------------- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeGenericFuncDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeGenericFuncDesc.java index 4b2c1ad..b5d2ddf 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeGenericFuncDesc.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeGenericFuncDesc.java @@ -136,11 +136,13 @@ public class ExprNodeGenericFuncDesc extends ExprNodeDesc implements StringBuilder sb = new StringBuilder(); sb.append(genericUDF.getClass().getSimpleName()); sb.append("("); - for (int i = 0; i < chidren.size(); i++) { - if (i > 0) { - sb.append(", "); + if (chidren != null) { + for (int i = 0; i < chidren.size(); i++) { + if (i > 0) { + sb.append(", "); + } + sb.append(chidren.get(i)); } - sb.append(chidren.get(i).toString()); } sb.append(")"); return sb.toString(); http://git-wip-us.apache.org/repos/asf/hive/blob/072c5a0b/ql/src/java/org/apache/hadoop/hive/ql/plan/VectorGroupByDesc.java ---------------------------------------------------------------------- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/VectorGroupByDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/VectorGroupByDesc.java index 7e791f2..e613a4e 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/plan/VectorGroupByDesc.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/VectorGroupByDesc.java @@ -34,6 +34,8 @@ public class VectorGroupByDesc extends AbstractVectorDesc { private boolean isVectorOutput; + private boolean isReduceStreaming; + public VectorGroupByDesc() { this.isReduceMergePartial = false; this.isVectorOutput = false; @@ -54,4 +56,12 @@ public class VectorGroupByDesc extends AbstractVectorDesc { public void setVectorOutput(boolean isVectorOutput) { this.isVectorOutput = isVectorOutput; } + + public void setIsReduceStreaming(boolean isReduceStreaming) { + this.isReduceStreaming = isReduceStreaming; + } + + public boolean isReduceStreaming() { + return isReduceStreaming; + } } http://git-wip-us.apache.org/repos/asf/hive/blob/072c5a0b/ql/src/test/queries/clientpositive/vector_groupby_reduce.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_groupby_reduce.q b/ql/src/test/queries/clientpositive/vector_groupby_reduce.q index 1438c29..8fe6b7e 100644 --- a/ql/src/test/queries/clientpositive/vector_groupby_reduce.q +++ b/ql/src/test/queries/clientpositive/vector_groupby_reduce.q @@ -105,12 +105,11 @@ from group by ss_ticket_number limit 20; --- The Reduce task has 2 MergePartial GROUP BY operators in a row. Currently, --- we don't issue startGroup with keys out of the 1st vectorized GROUP BY, so we can't --- vectorize the 2nd GROUP BY... + + explain select - min(ss_ticket_number) + min(ss_ticket_number) m from (select ss_ticket_number @@ -118,10 +117,10 @@ from store_sales group by ss_ticket_number) a group by ss_ticket_number -limit 20; +order by m; select - min(ss_ticket_number) + min(ss_ticket_number) m from (select ss_ticket_number @@ -129,5 +128,54 @@ from store_sales group by ss_ticket_number) a group by ss_ticket_number -limit 20; +order by m; + + + +explain +select + ss_ticket_number, sum(ss_item_sk), sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number +order by ss_ticket_number; + +select + ss_ticket_number, sum(ss_item_sk), sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number +order by ss_ticket_number; + + +explain +select + ss_ticket_number, ss_item_sk, sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number, ss_item_sk +order by ss_ticket_number, ss_item_sk; + +select + ss_ticket_number, ss_item_sk, sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number, ss_item_sk +order by ss_ticket_number, ss_item_sk; http://git-wip-us.apache.org/repos/asf/hive/blob/072c5a0b/ql/src/test/queries/clientpositive/vectorization_limit.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vectorization_limit.q b/ql/src/test/queries/clientpositive/vectorization_limit.q index 8799087..f261a36 100644 --- a/ql/src/test/queries/clientpositive/vectorization_limit.q +++ b/ql/src/test/queries/clientpositive/vectorization_limit.q @@ -23,8 +23,8 @@ select distinct(ctinyint) from alltypesorc limit 20; select distinct(ctinyint) from alltypesorc limit 20; explain -select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint limit 20; -select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint limit 20; +select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint order by ctinyint limit 20; +select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint order by ctinyint limit 20; -- limit zero explain http://git-wip-us.apache.org/repos/asf/hive/blob/072c5a0b/ql/src/test/results/clientpositive/tez/vector_groupby_reduce.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/tez/vector_groupby_reduce.q.out b/ql/src/test/results/clientpositive/tez/vector_groupby_reduce.q.out index 814ee39..fe7e829 100644 --- a/ql/src/test/results/clientpositive/tez/vector_groupby_reduce.q.out +++ b/ql/src/test/results/clientpositive/tez/vector_groupby_reduce.q.out @@ -321,12 +321,9 @@ POSTHOOK: Input: default@store_sales 18 19 20 -PREHOOK: query: -- The Reduce task has 2 MergePartial GROUP BY operators in a row. Currently, --- we don't issue startGroup with keys out of the 1st vectorized GROUP BY, so we can't --- vectorize the 2nd GROUP BY... -explain +PREHOOK: query: explain select - min(ss_ticket_number) + min(ss_ticket_number) m from (select ss_ticket_number @@ -334,14 +331,11 @@ from store_sales group by ss_ticket_number) a group by ss_ticket_number -limit 20 +order by m PREHOOK: type: QUERY -POSTHOOK: query: -- The Reduce task has 2 MergePartial GROUP BY operators in a row. Currently, --- we don't issue startGroup with keys out of the 1st vectorized GROUP BY, so we can't --- vectorize the 2nd GROUP BY... -explain +POSTHOOK: query: explain select - min(ss_ticket_number) + min(ss_ticket_number) m from (select ss_ticket_number @@ -349,7 +343,7 @@ from store_sales group by ss_ticket_number) a group by ss_ticket_number -limit 20 +order by m POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage @@ -360,6 +354,7 @@ STAGE PLANS: Tez Edges: Reducer 2 <- Map 1 (SIMPLE_EDGE) + Reducer 3 <- Reducer 2 (SIMPLE_EDGE) #### A masked pattern was here #### Vertices: Map 1 @@ -399,25 +394,34 @@ STAGE PLANS: expressions: _col1 (type: int) outputColumnNames: _col0 Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE - Limit - Number of rows: 20 - Statistics: Num rows: 20 Data size: 1760 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 20 Data size: 1760 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + Execution mode: vectorized + Reducer 3 + Reduce Operator Tree: + Select Operator + expressions: KEY.reducesinkkey0 (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized Stage: Stage-0 Fetch Operator - limit: 20 + limit: -1 Processor Tree: ListSink PREHOOK: query: select - min(ss_ticket_number) + min(ss_ticket_number) m from (select ss_ticket_number @@ -425,12 +429,12 @@ from store_sales group by ss_ticket_number) a group by ss_ticket_number -limit 20 +order by m PREHOOK: type: QUERY PREHOOK: Input: default@store_sales #### A masked pattern was here #### POSTHOOK: query: select - min(ss_ticket_number) + min(ss_ticket_number) m from (select ss_ticket_number @@ -438,7 +442,7 @@ from store_sales group by ss_ticket_number) a group by ss_ticket_number -limit 20 +order by m POSTHOOK: type: QUERY POSTHOOK: Input: default@store_sales #### A masked pattern was here #### @@ -462,3 +466,1397 @@ POSTHOOK: Input: default@store_sales 18 19 20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +PREHOOK: query: explain +select + ss_ticket_number, sum(ss_item_sk), sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number +order by ss_ticket_number +PREHOOK: type: QUERY +POSTHOOK: query: explain +select + ss_ticket_number, sum(ss_item_sk), sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number +order by ss_ticket_number +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Tez + Edges: + Reducer 2 <- Map 1 (SIMPLE_EDGE) + Reducer 3 <- Reducer 2 (SIMPLE_EDGE) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: store_sales + Statistics: Num rows: 1000 Data size: 88276 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ss_ticket_number (type: int), ss_item_sk (type: int), ss_quantity (type: int) + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 1000 Data size: 88276 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: min(_col2) + keys: _col0 (type: int), _col1 (type: int) + mode: hash + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 1000 Data size: 88276 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: int), _col1 (type: int) + sort order: ++ + Map-reduce partition columns: _col0 (type: int) + Statistics: Num rows: 1000 Data size: 88276 Basic stats: COMPLETE Column stats: NONE + value expressions: _col2 (type: int) + Execution mode: vectorized + Reducer 2 + Reduce Operator Tree: + Group By Operator + aggregations: min(VALUE._col0) + keys: KEY._col0 (type: int), KEY._col1 (type: int) + mode: mergepartial + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 500 Data size: 44138 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: sum(_col1), sum(_col2) + keys: _col0 (type: int) + mode: complete + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: bigint), _col2 (type: bigint) + Execution mode: vectorized + Reducer 3 + Reduce Operator Tree: + Select Operator + expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: bigint), VALUE._col1 (type: bigint) + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select + ss_ticket_number, sum(ss_item_sk), sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number +order by ss_ticket_number +PREHOOK: type: QUERY +PREHOOK: Input: default@store_sales +#### A masked pattern was here #### +POSTHOOK: query: select + ss_ticket_number, sum(ss_item_sk), sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number +order by ss_ticket_number +POSTHOOK: type: QUERY +POSTHOOK: Input: default@store_sales +#### A masked pattern was here #### +1 85411 816 +2 157365 812 +3 147948 710 +4 69545 411 +5 163232 840 +6 86307 627 +7 114874 563 +8 117953 662 +9 173250 690 +10 60338 602 +11 138545 657 +12 97181 586 +13 109484 555 +14 137333 442 +15 176829 652 +16 115004 654 +17 105008 460 +18 165135 738 +19 128252 831 +20 104789 374 +21 72771 469 +22 128153 449 +23 110253 603 +24 100662 1029 +25 118714 760 +26 81596 502 +27 164068 871 +28 58632 409 +29 133777 417 +30 130451 772 +31 114967 586 +32 142021 592 +33 151818 691 +34 112559 662 +35 137027 780 +36 118285 538 +37 94528 401 +38 81368 521 +39 101064 937 +40 84435 480 +41 112444 688 +42 95731 840 +43 57298 410 +44 159880 839 +45 68919 474 +46 111212 374 +47 78210 416 +48 94459 445 +49 90879 589 +50 37821 407 +51 124927 612 +52 98099 489 +53 138706 609 +54 87478 354 +55 90290 406 +56 78812 372 +57 101175 597 +58 88044 202 +59 104582 753 +60 99218 900 +61 66514 392 +62 126713 527 +63 98778 648 +64 131659 380 +65 86990 494 +66 108808 492 +67 75250 711 +68 91671 548 +69 92821 405 +70 75021 319 +71 124484 748 +72 161470 744 +73 104358 621 +74 88609 688 +75 92940 649 +76 75853 580 +77 124755 873 +78 98285 573 +79 160595 581 +80 151471 704 +81 105109 429 +82 55611 254 +PREHOOK: query: explain +select + ss_ticket_number, ss_item_sk, sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number, ss_item_sk +order by ss_ticket_number, ss_item_sk +PREHOOK: type: QUERY +POSTHOOK: query: explain +select + ss_ticket_number, ss_item_sk, sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number, ss_item_sk +order by ss_ticket_number, ss_item_sk +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Tez + Edges: + Reducer 2 <- Map 1 (SIMPLE_EDGE) + Reducer 3 <- Reducer 2 (SIMPLE_EDGE) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: store_sales + Statistics: Num rows: 1000 Data size: 88276 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ss_ticket_number (type: int), ss_item_sk (type: int), ss_quantity (type: int) + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 1000 Data size: 88276 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: min(_col2) + keys: _col0 (type: int), _col1 (type: int) + mode: hash + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 1000 Data size: 88276 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: int), _col1 (type: int) + sort order: ++ + Map-reduce partition columns: _col0 (type: int), _col1 (type: int) + Statistics: Num rows: 1000 Data size: 88276 Basic stats: COMPLETE Column stats: NONE + value expressions: _col2 (type: int) + Execution mode: vectorized + Reducer 2 + Reduce Operator Tree: + Group By Operator + aggregations: min(VALUE._col0) + keys: KEY._col0 (type: int), KEY._col1 (type: int) + mode: mergepartial + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 500 Data size: 44138 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: sum(_col2) + keys: _col0 (type: int), _col1 (type: int) + mode: complete + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: int), _col1 (type: int) + sort order: ++ + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + value expressions: _col2 (type: bigint) + Execution mode: vectorized + Reducer 3 + Reduce Operator Tree: + Select Operator + expressions: KEY.reducesinkkey0 (type: int), KEY.reducesinkkey1 (type: int), VALUE._col0 (type: bigint) + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select + ss_ticket_number, ss_item_sk, sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number, ss_item_sk +order by ss_ticket_number, ss_item_sk +PREHOOK: type: QUERY +PREHOOK: Input: default@store_sales +#### A masked pattern was here #### +POSTHOOK: query: select + ss_ticket_number, ss_item_sk, sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number, ss_item_sk +order by ss_ticket_number, ss_item_sk +POSTHOOK: type: QUERY +POSTHOOK: Input: default@store_sales +#### A masked pattern was here #### +1 49 5 +1 173 65 +1 1553 50 +1 3248 58 +1 3617 79 +1 4553 100 +1 4583 72 +1 4682 44 +1 5527 88 +1 5981 14 +1 10993 91 +1 13283 37 +1 13538 14 +1 13631 99 +2 1363 4 +2 2930 36 +2 3740 49 +2 6928 65 +2 7654 25 +2 9436 79 +2 10768 30 +2 12068 74 +2 12223 78 +2 13340 71 +2 13927 93 +2 14701 58 +2 15085 88 +2 15782 62 +2 17420 NULL +3 246 96 +3 1531 NULL +3 3525 42 +3 4698 98 +3 5355 53 +3 10693 27 +3 12447 82 +3 13021 64 +3 14100 79 +3 14443 4 +3 15786 56 +3 16869 4 +3 17263 17 +3 17971 88 +4 163 17 +4 1576 74 +4 5350 86 +4 5515 23 +4 6988 23 +4 7990 56 +4 8452 27 +4 9685 21 +4 11036 41 +4 12790 43 +5 1808 NULL +5 1940 60 +5 5842 50 +5 6068 76 +5 6466 36 +5 11324 52 +5 11590 15 +5 12650 66 +5 13562 64 +5 13958 60 +5 14599 83 +5 14686 91 +5 15752 66 +5 16195 50 +5 16792 71 +6 2549 62 +6 2647 100 +6 3049 31 +6 3291 100 +6 6437 72 +6 8621 NULL +6 10355 94 +6 10895 1 +6 11705 61 +6 13245 64 +6 13513 42 +7 4627 9 +7 4795 73 +7 4833 88 +7 5183 51 +7 5905 69 +7 8955 54 +7 9751 4 +7 10487 52 +7 12571 82 +7 15179 12 +7 15333 NULL +7 17255 69 +8 665 31 +8 4183 90 +8 5929 83 +8 7115 54 +8 11365 7 +8 11893 95 +8 12041 95 +8 13427 87 +8 16671 20 +8 17119 51 +8 17545 49 +9 69 11 +9 889 6 +9 1185 62 +9 4623 34 +9 7945 83 +9 8334 71 +9 12027 27 +9 12969 59 +9 13483 NULL +9 13717 53 +9 15133 15 +9 16083 32 +9 16363 54 +9 16461 66 +9 16659 84 +9 17310 33 +10 755 74 +10 1425 92 +10 1511 76 +10 3433 83 +10 3933 52 +10 4357 17 +10 5863 47 +10 9811 28 +10 13803 66 +10 15447 67 +11 157 84 +11 1315 70 +11 7519 68 +11 7608 66 +11 9901 57 +11 10699 33 +11 11490 NULL +11 11991 38 +11 12438 16 +11 15157 96 +11 15649 33 +11 17226 11 +11 17395 85 +12 373 57 +12 1591 82 +12 4888 56 +12 6148 36 +12 6248 36 +12 9616 66 +12 9788 73 +12 13399 46 +12 14746 26 +12 14944 9 +12 15440 99 +13 868 NULL +13 1760 12 +13 1898 NULL +13 2108 9 +13 2191 NULL +13 4430 73 +13 5971 80 +13 6085 58 +13 6140 15 +13 6682 80 +13 7640 48 +13 7723 27 +13 10096 12 +13 11758 34 +13 16894 87 +13 17240 20 +14 177 41 +14 769 20 +14 4507 4 +14 10175 19 +14 11549 6 +14 11653 60 +14 11817 81 +14 12587 NULL +14 13069 77 +14 13515 57 +14 13845 17 +14 16741 46 +14 16929 14 +15 4241 21 +15 4505 59 +15 4777 28 +15 7391 98 +15 8336 15 +15 8353 NULL +15 8690 32 +15 8707 21 +15 10361 39 +15 11659 80 +15 13172 25 +15 16619 81 +15 17267 7 +15 17330 82 +15 17564 26 +15 17857 38 +16 457 60 +16 1888 4 +16 4144 94 +16 6008 59 +16 7504 51 +16 8887 35 +16 9769 42 +16 9790 17 +16 9997 94 +16 11168 86 +16 11920 29 +16 16226 13 +16 17246 70 +17 2092 37 +17 4678 34 +17 6811 70 +17 9214 57 +17 10543 54 +17 11203 21 +17 13177 45 +17 13826 32 +17 15781 76 +17 17683 34 +18 2440 40 +18 5251 41 +18 7378 94 +18 8779 9 +18 8884 18 +18 9886 62 +18 11584 76 +18 11890 7 +18 12602 81 +18 12826 93 +18 12860 18 +18 14011 95 +18 14372 76 +18 14377 15 +18 17995 13 +19 1094 48 +19 3133 96 +19 3376 84 +19 4882 84 +19 6772 97 +19 7087 1 +19 7814 29 +19 8662 97 +19 9094 49 +19 9346 39 +19 10558 82 +19 10651 46 +19 11914 59 +19 16330 NULL +19 17539 20 +20 1451 89 +20 2618 4 +20 5312 9 +20 5425 15 +20 5483 8 +20 6026 21 +20 7207 90 +20 8714 NULL +20 9086 4 +20 9800 32 +20 13601 17 +20 14935 NULL +20 15131 85 +21 230 48 +21 1810 59 +21 2870 50 +21 5170 45 +21 5998 51 +21 6476 49 +21 9187 14 +21 12266 47 +21 14368 18 +21 14396 88 +22 9985 70 +22 10474 31 +22 11599 66 +22 12415 10 +22 15310 15 +22 16396 85 +22 16922 88 +22 17392 14 +22 17660 70 +23 319 86 +23 7242 37 +23 8181 13 +23 8413 1 +23 9093 38 +23 9097 81 +23 11220 91 +23 11257 64 +23 12397 80 +23 15403 96 +23 17631 16 +24 407 53 +24 1389 72 +24 1795 21 +24 2497 85 +24 3103 73 +24 4425 57 +24 4749 28 +24 4873 41 +24 5653 92 +24 6043 1 +24 6751 82 +24 7375 97 +24 10265 93 +24 11551 48 +24 13303 97 +24 16483 89 +25 1333 55 +25 2150 100 +25 2608 76 +25 3454 100 +25 4880 29 +25 5954 34 +25 6955 40 +25 7874 65 +25 9472 48 +25 10159 24 +25 14488 26 +25 14635 68 +25 17000 40 +25 17752 55 +26 1989 26 +26 5053 4 +26 5385 97 +26 5721 81 +26 6647 64 +26 7337 45 +26 9679 18 +26 11895 77 +26 12851 56 +26 15039 34 +27 1305 44 +27 2137 96 +27 2671 92 +27 5831 61 +27 7139 59 +27 8167 28 +27 10757 15 +27 11441 15 +27 11509 65 +27 12237 89 +27 12749 31 +27 13885 66 +27 15025 26 +27 16029 59 +27 16419 65 +27 16767 60 +28 1807 98 +28 2817 8 +28 2967 29 +28 4483 78 +28 5437 15 +28 6411 3 +28 7965 93 +28 8043 58 +28 8407 14 +28 10295 13 +29 20 18 +29 1363 75 +29 2930 23 +29 3740 5 +29 7654 20 +29 9458 33 +29 10795 33 +29 12068 37 +29 12223 59 +29 13340 21 +29 13693 NULL +29 15085 40 +29 15626 NULL +29 15782 53 +30 217 91 +30 1951 59 +30 3238 16 +30 3506 15 +30 3928 87 +30 5431 77 +30 6752 69 +30 7870 7 +30 8666 21 +30 12572 33 +30 12670 20 +30 13579 75 +30 14848 62 +30 17348 62 +30 17875 78 +31 913 54 +31 4963 67 +31 6617 11 +31 6917 4 +31 7513 82 +31 11739 95 +31 14575 97 +31 14727 41 +31 15341 31 +31 15411 53 +31 16251 51 +32 1115 61 +32 2095 34 +32 2887 8 +32 4339 6 +32 4537 22 +32 4808 NULL +32 5798 87 +32 7547 24 +32 9683 26 +32 11005 46 +32 11348 41 +32 12134 21 +32 15001 57 +32 15644 34 +32 16421 74 +32 17659 51 +33 4798 27 +33 7300 3 +33 9649 36 +33 10376 21 +33 11119 92 +33 11756 26 +33 12643 89 +33 12760 54 +33 12964 80 +33 14125 66 +33 14158 82 +33 14692 93 +33 15478 22 +34 1526 91 +34 1717 53 +34 2312 6 +34 4118 88 +34 5197 63 +34 5449 9 +34 6193 61 +34 9325 3 +34 9766 83 +34 12016 42 +34 12290 53 +34 12512 60 +34 13814 20 +34 16324 30 +35 411 51 +35 2377 52 +35 3667 97 +35 4325 56 +35 5179 83 +35 11635 87 +35 11661 81 +35 14239 55 +35 15619 45 +35 15757 9 +35 17341 92 +35 17365 65 +35 17451 7 +36 1115 80 +36 2095 43 +36 2887 31 +36 7547 46 +36 11005 49 +36 11349 80 +36 15001 54 +36 15645 23 +36 16421 25 +36 17561 16 +36 17659 91 +37 2997 94 +37 7283 87 +37 10715 52 +37 10929 88 +37 13171 6 +37 15337 62 +37 16971 12 +37 17125 NULL +38 757 2 +38 2164 17 +38 3439 84 +38 4154 35 +38 5113 73 +38 6220 98 +38 7018 15 +38 7784 56 +38 8870 15 +38 9710 7 +38 10441 62 +38 15698 57 +39 386 89 +39 1598 64 +39 3476 73 +39 3943 64 +39 4190 86 +39 4957 24 +39 5393 98 +39 7097 78 +39 7118 67 +39 7604 49 +39 7697 24 +39 8078 54 +39 8411 96 +39 15491 54 +39 15625 17 +40 2854 71 +40 3490 65 +40 3985 63 +40 5098 35 +40 5318 87 +40 10094 80 +40 10912 23 +40 12050 NULL +40 13658 53 +40 16976 3 +41 10 50 +41 64 29 +41 3380 88 +41 5566 11 +41 6310 90 +41 7402 69 +41 7603 94 +41 9322 8 +41 10915 81 +41 14788 15 +41 15242 87 +41 15328 46 +41 16514 20 +42 619 69 +42 976 100 +42 1436 94 +42 2314 74 +42 2392 14 +42 2602 30 +42 3346 74 +42 3613 30 +42 6058 30 +42 6134 92 +42 8462 23 +42 9740 52 +42 10016 57 +42 10471 19 +42 12550 41 +42 15002 41 +43 2923 16 +43 3344 22 +43 3911 26 +43 4364 77 +43 4691 41 +43 5773 85 +43 5852 16 +43 11771 30 +43 14669 97 +44 2351 56 +44 2623 18 +44 7303 14 +44 7527 67 +44 9059 68 +44 11707 83 +44 12341 20 +44 13331 98 +44 13449 45 +44 14149 80 +44 15803 81 +44 16491 56 +44 16837 92 +44 16909 61 +45 811 62 +45 1479 49 +45 3265 98 +45 5309 18 +45 7363 87 +45 10115 68 +45 11095 40 +45 13133 46 +45 16349 6 +46 1960 12 +46 3010 67 +46 7040 33 +46 8065 NULL +46 11426 72 +46 13042 58 +46 15595 32 +46 16540 30 +46 17150 57 +46 17384 13 +47 254 NULL +47 481 30 +47 1132 66 +47 1916 71 +47 3085 51 +47 3202 7 +47 3878 NULL +47 4774 11 +47 5008 82 +47 5305 NULL +47 5468 7 +47 7214 1 +47 9770 33 +47 13246 47 +47 13477 10 +48 1761 22 +48 2820 4 +48 2829 65 +48 4431 39 +48 5971 29 +48 6085 1 +48 6684 44 +48 9199 88 +48 11259 NULL +48 12468 62 +48 13153 74 +48 17799 17 +49 749 60 +49 2135 4 +49 5342 69 +49 5852 47 +49 6805 40 +49 7141 94 +49 9049 68 +49 9553 71 +49 12737 48 +49 15155 84 +49 16361 4 +50 1280 69 +50 1312 30 +50 1909 53 +50 1984 40 +50 3097 64 +50 5023 NULL +50 7135 69 +50 16081 82 +51 422 21 +51 3091 28 +51 4687 6 +51 5029 12 +51 5059 51 +51 6565 33 +51 8384 79 +51 9311 90 +51 10133 54 +51 11234 NULL +51 12625 53 +51 13199 97 +51 17483 22 +51 17705 66 +52 2420 90 +52 3334 73 +52 6098 NULL +52 7606 45 +52 11488 76 +52 15649 29 +52 16646 48 +52 17402 91 +52 17456 37 +53 1114 40 +53 2095 62 +53 2786 70 +53 2887 39 +53 7546 58 +53 11348 38 +53 13220 76 +53 13795 38 +53 15991 37 +53 16420 14 +53 16648 79 +53 17296 43 +53 17560 15 +54 702 40 +54 825 50 +54 1165 62 +54 3861 NULL +54 6517 40 +54 9159 75 +54 14737 38 +54 16059 15 +54 16974 NULL +54 17479 34 +55 1339 16 +55 3001 7 +55 5137 33 +55 9703 44 +55 12170 92 +55 12205 90 +55 14135 36 +55 14923 71 +55 17677 17 +56 4242 2 +56 4506 57 +56 8353 35 +56 8691 59 +56 8707 68 +56 10362 54 +56 16620 23 +56 17331 74 +57 3253 71 +57 4028 88 +57 4933 22 +57 12596 91 +57 12721 62 +57 12740 52 +57 15182 86 +57 17729 26 +57 17993 99 +58 1829 52 +58 3848 6 +58 5117 2 +58 7649 19 +58 9743 62 +58 10802 14 +58 15635 6 +58 16472 6 +58 16949 35 +59 3133 92 +59 3546 22 +59 5772 70 +59 7087 80 +59 8010 46 +59 8335 36 +59 9348 62 +59 9397 92 +59 10651 100 +59 11916 19 +59 12858 90 +59 14529 44 +60 97 50 +60 555 62 +60 633 71 +60 999 43 +60 1117 78 +60 1573 90 +60 4041 25 +60 4235 28 +60 4513 72 +60 4937 22 +60 7231 95 +60 10277 62 +60 10393 75 +60 13975 14 +60 16887 25 +60 17755 88 +61 1106 4 +61 2264 36 +61 3362 48 +61 4567 26 +61 5528 78 +61 6380 77 +61 7591 78 +61 8924 11 +61 10330 8 +61 16462 26 +62 4093 94 +62 6403 NULL +62 8457 37 +62 10149 75 +62 12163 29 +62 12199 5 +62 12407 NULL +62 13559 80 +62 15399 74 +62 15733 40 +62 16151 93 +63 4488 73 +63 5079 79 +63 5217 66 +63 5658 99 +63 9319 80 +63 11370 38 +63 11946 85 +63 13339 19 +63 15793 40 +63 16569 69 +64 1213 NULL +64 3090 87 +64 3963 NULL +64 11835 82 +64 13224 NULL +64 14407 8 +64 15867 59 +64 15936 30 +64 16921 19 +64 17586 78 +64 17617 17 +65 2287 100 +65 4227 42 +65 9625 51 +65 9847 54 +65 13897 40 +65 14905 85 +65 15177 55 +65 17025 67 +66 6507 76 +66 7033 65 +66 7227 66 +66 8197 41 +66 9237 29 +66 10019 10 +66 11419 66 +66 15629 20 +66 16745 91 +66 16795 28 +67 757 77 +67 2133 74 +67 3439 73 +67 4155 87 +67 5113 NULL +67 7020 79 +67 7507 77 +67 8469 59 +67 8871 71 +67 12087 70 +67 15699 44 +68 1387 74 +68 1603 57 +68 1820 54 +68 2035 22 +68 2296 52 +68 2564 83 +68 5162 23 +68 6763 77 +68 7765 NULL +68 12526 3 +68 12724 88 +68 17426 2 +68 17600 13 +69 322 45 +69 337 34 +69 4208 9 +69 4267 10 +69 6136 7 +69 7264 67 +69 7822 30 +69 8599 53 +69 11137 68 +69 13489 66 +69 13792 NULL +69 15448 16 +70 1592 53 +70 2462 NULL +70 3296 48 +70 3947 NULL +70 6185 82 +70 6425 NULL +70 8893 17 +70 9857 20 +70 14549 4 +70 17815 95 +71 457 75 +71 1888 4 +71 2098 51 +71 4144 49 +71 5858 NULL +71 6008 54 +71 7504 3 +71 8887 10 +71 9274 36 +71 9769 79 +71 9790 96 +71 9997 26 +71 10108 66 +71 10288 30 +71 11168 79 +71 17246 90 +72 1535 9 +72 5917 85 +72 6113 45 +72 6671 13 +72 9860 26 +72 10427 66 +72 10753 16 +72 11741 62 +72 12788 29 +72 12901 57 +72 13085 94 +72 13423 62 +72 13904 37 +72 15587 87 +72 16765 56 +73 247 53 +73 1063 37 +73 3205 82 +73 4946 54 +73 6862 58 +73 10051 49 +73 12502 75 +73 15109 38 +73 16519 97 +73 16585 38 +73 17269 40 +74 326 29 +74 3104 78 +74 3175 23 +74 3278 NULL +74 3542 96 +74 3754 26 +74 5492 54 +74 7694 17 +74 8653 12 +74 9620 95 +74 10069 99 +74 13208 87 +74 16694 72 +75 607 20 +75 2948 25 +75 4625 73 +75 6938 89 +75 6953 71 +75 8726 6 +75 9905 54 +75 10217 85 +75 11039 70 +75 14186 63 +75 16796 93 +76 257 5 +76 465 2 +76 1107 16 +76 1503 97 +76 2265 98 +76 2869 32 +76 3363 25 +76 4237 48 +76 4567 40 +76 5529 78 +76 6381 50 +76 7591 27 +76 8925 6 +76 10331 3 +76 16463 53 +77 992 62 +77 1399 34 +77 2713 85 +77 3868 89 +77 6289 30 +77 7339 88 +77 7448 95 +77 7486 49 +77 8686 38 +77 9220 90 +77 11918 36 +77 12439 95 +77 13456 48 +77 14815 18 +77 16687 16 +78 901 3 +78 3304 50 +78 3856 27 +78 5965 78 +78 6044 59 +78 6110 43 +78 6500 76 +78 7576 87 +78 8611 79 +78 10507 6 +78 11209 7 +78 12706 19 +78 14996 39 +79 247 NULL +79 1063 85 +79 3205 48 +79 4947 35 +79 6864 1 +79 10051 10 +79 10524 36 +79 12504 81 +79 14322 41 +79 15109 NULL +79 15498 3 +79 15888 58 +79 16519 9 +79 16585 93 +79 17269 81 +80 998 93 +80 1519 25 +80 1573 40 +80 4040 66 +80 4513 NULL +80 4622 1 +80 7231 49 +80 7610 37 +80 10393 5 +80 12968 NULL +80 13717 91 +80 13975 13 +80 16363 84 +80 16886 77 +80 17308 29 +80 17755 94 +81 4486 31 +81 5078 75 +81 5216 64 +81 5656 24 +81 7166 7 +81 7663 79 +81 8918 37 +81 9319 36 +81 11107 36 +81 11368 26 +81 13339 6 +81 15793 8 +82 2572 53 +82 7862 75 +82 13138 59 +82 14998 49 +82 17041 18 http://git-wip-us.apache.org/repos/asf/hive/blob/072c5a0b/ql/src/test/results/clientpositive/tez/vectorization_limit.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/tez/vectorization_limit.q.out b/ql/src/test/results/clientpositive/tez/vectorization_limit.q.out index 33f7ed9..fec2d2c 100644 --- a/ql/src/test/results/clientpositive/tez/vectorization_limit.q.out +++ b/ql/src/test/results/clientpositive/tez/vectorization_limit.q.out @@ -319,10 +319,10 @@ NULL -47 -46 PREHOOK: query: explain -select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint limit 20 +select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint order by ctinyint limit 20 PREHOOK: type: QUERY POSTHOOK: query: explain -select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint limit 20 +select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint order by ctinyint limit 20 POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage @@ -385,11 +385,11 @@ STAGE PLANS: Processor Tree: ListSink -PREHOOK: query: select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint limit 20 +PREHOOK: query: select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint order by ctinyint limit 20 PREHOOK: type: QUERY PREHOOK: Input: default@alltypesorc #### A masked pattern was here #### -POSTHOOK: query: select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint limit 20 +POSTHOOK: query: select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint order by ctinyint limit 20 POSTHOOK: type: QUERY POSTHOOK: Input: default@alltypesorc #### A masked pattern was here #### http://git-wip-us.apache.org/repos/asf/hive/blob/072c5a0b/ql/src/test/results/clientpositive/vector_groupby_reduce.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/vector_groupby_reduce.q.out b/ql/src/test/results/clientpositive/vector_groupby_reduce.q.out index 331ba4f..fc1997c 100644 --- a/ql/src/test/results/clientpositive/vector_groupby_reduce.q.out +++ b/ql/src/test/results/clientpositive/vector_groupby_reduce.q.out @@ -314,12 +314,9 @@ POSTHOOK: Input: default@store_sales 18 19 20 -PREHOOK: query: -- The Reduce task has 2 MergePartial GROUP BY operators in a row. Currently, --- we don't issue startGroup with keys out of the 1st vectorized GROUP BY, so we can't --- vectorize the 2nd GROUP BY... -explain +PREHOOK: query: explain select - min(ss_ticket_number) + min(ss_ticket_number) m from (select ss_ticket_number @@ -327,14 +324,11 @@ from store_sales group by ss_ticket_number) a group by ss_ticket_number -limit 20 +order by m PREHOOK: type: QUERY -POSTHOOK: query: -- The Reduce task has 2 MergePartial GROUP BY operators in a row. Currently, --- we don't issue startGroup with keys out of the 1st vectorized GROUP BY, so we can't --- vectorize the 2nd GROUP BY... -explain +POSTHOOK: query: explain select - min(ss_ticket_number) + min(ss_ticket_number) m from (select ss_ticket_number @@ -342,11 +336,12 @@ from store_sales group by ss_ticket_number) a group by ss_ticket_number -limit 20 +order by m POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-0 depends on stages: Stage-1 + Stage-2 depends on stages: Stage-1 + Stage-0 depends on stages: Stage-2 STAGE PLANS: Stage: Stage-1 @@ -386,25 +381,42 @@ STAGE PLANS: expressions: _col1 (type: int) outputColumnNames: _col0 Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE - Limit - Number of rows: 20 - Statistics: Num rows: 20 Data size: 1760 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 20 Data size: 1760 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + File Output Operator + compressed: false + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe + + Stage: Stage-2 + Map Reduce + Map Operator Tree: + TableScan + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + Reduce Operator Tree: + Select Operator + expressions: KEY.reducesinkkey0 (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator - limit: 20 + limit: -1 Processor Tree: ListSink PREHOOK: query: select - min(ss_ticket_number) + min(ss_ticket_number) m from (select ss_ticket_number @@ -412,12 +424,12 @@ from store_sales group by ss_ticket_number) a group by ss_ticket_number -limit 20 +order by m PREHOOK: type: QUERY PREHOOK: Input: default@store_sales #### A masked pattern was here #### POSTHOOK: query: select - min(ss_ticket_number) + min(ss_ticket_number) m from (select ss_ticket_number @@ -425,7 +437,7 @@ from store_sales group by ss_ticket_number) a group by ss_ticket_number -limit 20 +order by m POSTHOOK: type: QUERY POSTHOOK: Input: default@store_sales #### A masked pattern was here #### @@ -449,3 +461,1401 @@ POSTHOOK: Input: default@store_sales 18 19 20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +PREHOOK: query: explain +select + ss_ticket_number, sum(ss_item_sk), sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number +order by ss_ticket_number +PREHOOK: type: QUERY +POSTHOOK: query: explain +select + ss_ticket_number, sum(ss_item_sk), sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number +order by ss_ticket_number +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-2 depends on stages: Stage-1 + Stage-0 depends on stages: Stage-2 + +STAGE PLANS: + Stage: Stage-1 + Map Reduce + Map Operator Tree: + TableScan + alias: store_sales + Statistics: Num rows: 1000 Data size: 88276 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ss_ticket_number (type: int), ss_item_sk (type: int), ss_quantity (type: int) + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 1000 Data size: 88276 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: min(_col2) + keys: _col0 (type: int), _col1 (type: int) + mode: hash + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 1000 Data size: 88276 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: int), _col1 (type: int) + sort order: ++ + Map-reduce partition columns: _col0 (type: int) + Statistics: Num rows: 1000 Data size: 88276 Basic stats: COMPLETE Column stats: NONE + value expressions: _col2 (type: int) + Execution mode: vectorized + Reduce Operator Tree: + Group By Operator + aggregations: min(VALUE._col0) + keys: KEY._col0 (type: int), KEY._col1 (type: int) + mode: mergepartial + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 500 Data size: 44138 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: sum(_col1), sum(_col2) + keys: _col0 (type: int) + mode: complete + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe + + Stage: Stage-2 + Map Reduce + Map Operator Tree: + TableScan + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: bigint), _col2 (type: bigint) + Reduce Operator Tree: + Select Operator + expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: bigint), VALUE._col1 (type: bigint) + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select + ss_ticket_number, sum(ss_item_sk), sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number +order by ss_ticket_number +PREHOOK: type: QUERY +PREHOOK: Input: default@store_sales +#### A masked pattern was here #### +POSTHOOK: query: select + ss_ticket_number, sum(ss_item_sk), sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number +order by ss_ticket_number +POSTHOOK: type: QUERY +POSTHOOK: Input: default@store_sales +#### A masked pattern was here #### +1 85411 816 +2 157365 812 +3 147948 710 +4 69545 411 +5 163232 840 +6 86307 627 +7 114874 563 +8 117953 662 +9 173250 690 +10 60338 602 +11 138545 657 +12 97181 586 +13 109484 555 +14 137333 442 +15 176829 652 +16 115004 654 +17 105008 460 +18 165135 738 +19 128252 831 +20 104789 374 +21 72771 469 +22 128153 449 +23 110253 603 +24 100662 1029 +25 118714 760 +26 81596 502 +27 164068 871 +28 58632 409 +29 133777 417 +30 130451 772 +31 114967 586 +32 142021 592 +33 151818 691 +34 112559 662 +35 137027 780 +36 118285 538 +37 94528 401 +38 81368 521 +39 101064 937 +40 84435 480 +41 112444 688 +42 95731 840 +43 57298 410 +44 159880 839 +45 68919 474 +46 111212 374 +47 78210 416 +48 94459 445 +49 90879 589 +50 37821 407 +51 124927 612 +52 98099 489 +53 138706 609 +54 87478 354 +55 90290 406 +56 78812 372 +57 101175 597 +58 88044 202 +59 104582 753 +60 99218 900 +61 66514 392 +62 126713 527 +63 98778 648 +64 131659 380 +65 86990 494 +66 108808 492 +67 75250 711 +68 91671 548 +69 92821 405 +70 75021 319 +71 124484 748 +72 161470 744 +73 104358 621 +74 88609 688 +75 92940 649 +76 75853 580 +77 124755 873 +78 98285 573 +79 160595 581 +80 151471 704 +81 105109 429 +82 55611 254 +PREHOOK: query: explain +select + ss_ticket_number, ss_item_sk, sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number, ss_item_sk +order by ss_ticket_number, ss_item_sk +PREHOOK: type: QUERY +POSTHOOK: query: explain +select + ss_ticket_number, ss_item_sk, sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number, ss_item_sk +order by ss_ticket_number, ss_item_sk +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-2 depends on stages: Stage-1 + Stage-0 depends on stages: Stage-2 + +STAGE PLANS: + Stage: Stage-1 + Map Reduce + Map Operator Tree: + TableScan + alias: store_sales + Statistics: Num rows: 1000 Data size: 88276 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ss_ticket_number (type: int), ss_item_sk (type: int), ss_quantity (type: int) + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 1000 Data size: 88276 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: min(_col2) + keys: _col0 (type: int), _col1 (type: int) + mode: hash + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 1000 Data size: 88276 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: int), _col1 (type: int) + sort order: ++ + Map-reduce partition columns: _col0 (type: int), _col1 (type: int) + Statistics: Num rows: 1000 Data size: 88276 Basic stats: COMPLETE Column stats: NONE + value expressions: _col2 (type: int) + Execution mode: vectorized + Reduce Operator Tree: + Group By Operator + aggregations: min(VALUE._col0) + keys: KEY._col0 (type: int), KEY._col1 (type: int) + mode: mergepartial + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 500 Data size: 44138 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: sum(_col2) + keys: _col0 (type: int), _col1 (type: int) + mode: complete + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe + + Stage: Stage-2 + Map Reduce + Map Operator Tree: + TableScan + Reduce Output Operator + key expressions: _col0 (type: int), _col1 (type: int) + sort order: ++ + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + value expressions: _col2 (type: bigint) + Reduce Operator Tree: + Select Operator + expressions: KEY.reducesinkkey0 (type: int), KEY.reducesinkkey1 (type: int), VALUE._col0 (type: bigint) + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 250 Data size: 22069 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select + ss_ticket_number, ss_item_sk, sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number, ss_item_sk +order by ss_ticket_number, ss_item_sk +PREHOOK: type: QUERY +PREHOOK: Input: default@store_sales +#### A masked pattern was here #### +POSTHOOK: query: select + ss_ticket_number, ss_item_sk, sum(q) +from + (select + ss_ticket_number, ss_item_sk, min(ss_quantity) q + from + store_sales + group by ss_ticket_number, ss_item_sk) a +group by ss_ticket_number, ss_item_sk +order by ss_ticket_number, ss_item_sk +POSTHOOK: type: QUERY +POSTHOOK: Input: default@store_sales +#### A masked pattern was here #### +1 49 5 +1 173 65 +1 1553 50 +1 3248 58 +1 3617 79 +1 4553 100 +1 4583 72 +1 4682 44 +1 5527 88 +1 5981 14 +1 10993 91 +1 13283 37 +1 13538 14 +1 13631 99 +2 1363 4 +2 2930 36 +2 3740 49 +2 6928 65 +2 7654 25 +2 9436 79 +2 10768 30 +2 12068 74 +2 12223 78 +2 13340 71 +2 13927 93 +2 14701 58 +2 15085 88 +2 15782 62 +2 17420 NULL +3 246 96 +3 1531 NULL +3 3525 42 +3 4698 98 +3 5355 53 +3 10693 27 +3 12447 82 +3 13021 64 +3 14100 79 +3 14443 4 +3 15786 56 +3 16869 4 +3 17263 17 +3 17971 88 +4 163 17 +4 1576 74 +4 5350 86 +4 5515 23 +4 6988 23 +4 7990 56 +4 8452 27 +4 9685 21 +4 11036 41 +4 12790 43 +5 1808 NULL +5 1940 60 +5 5842 50 +5 6068 76 +5 6466 36 +5 11324 52 +5 11590 15 +5 12650 66 +5 13562 64 +5 13958 60 +5 14599 83 +5 14686 91 +5 15752 66 +5 16195 50 +5 16792 71 +6 2549 62 +6 2647 100 +6 3049 31 +6 3291 100 +6 6437 72 +6 8621 NULL +6 10355 94 +6 10895 1 +6 11705 61 +6 13245 64 +6 13513 42 +7 4627 9 +7 4795 73 +7 4833 88 +7 5183 51 +7 5905 69 +7 8955 54 +7 9751 4 +7 10487 52 +7 12571 82 +7 15179 12 +7 15333 NULL +7 17255 69 +8 665 31 +8 4183 90 +8 5929 83 +8 7115 54 +8 11365 7 +8 11893 95 +8 12041 95 +8 13427 87 +8 16671 20 +8 17119 51 +8 17545 49 +9 69 11 +9 889 6 +9 1185 62 +9 4623 34 +9 7945 83 +9 8334 71 +9 12027 27 +9 12969 59 +9 13483 NULL +9 13717 53 +9 15133 15 +9 16083 32 +9 16363 54 +9 16461 66 +9 16659 84 +9 17310 33 +10 755 74 +10 1425 92 +10 1511 76 +10 3433 83 +10 3933 52 +10 4357 17 +10 5863 47 +10 9811 28 +10 13803 66 +10 15447 67 +11 157 84 +11 1315 70 +11 7519 68 +11 7608 66 +11 9901 57 +11 10699 33 +11 11490 NULL +11 11991 38 +11 12438 16 +11 15157 96 +11 15649 33 +11 17226 11 +11 17395 85 +12 373 57 +12 1591 82 +12 4888 56 +12 6148 36 +12 6248 36 +12 9616 66 +12 9788 73 +12 13399 46 +12 14746 26 +12 14944 9 +12 15440 99 +13 868 NULL +13 1760 12 +13 1898 NULL +13 2108 9 +13 2191 NULL +13 4430 73 +13 5971 80 +13 6085 58 +13 6140 15 +13 6682 80 +13 7640 48 +13 7723 27 +13 10096 12 +13 11758 34 +13 16894 87 +13 17240 20 +14 177 41 +14 769 20 +14 4507 4 +14 10175 19 +14 11549 6 +14 11653 60 +14 11817 81 +14 12587 NULL +14 13069 77 +14 13515 57 +14 13845 17 +14 16741 46 +14 16929 14 +15 4241 21 +15 4505 59 +15 4777 28 +15 7391 98 +15 8336 15 +15 8353 NULL +15 8690 32 +15 8707 21 +15 10361 39 +15 11659 80 +15 13172 25 +15 16619 81 +15 17267 7 +15 17330 82 +15 17564 26 +15 17857 38 +16 457 60 +16 1888 4 +16 4144 94 +16 6008 59 +16 7504 51 +16 8887 35 +16 9769 42 +16 9790 17 +16 9997 94 +16 11168 86 +16 11920 29 +16 16226 13 +16 17246 70 +17 2092 37 +17 4678 34 +17 6811 70 +17 9214 57 +17 10543 54 +17 11203 21 +17 13177 45 +17 13826 32 +17 15781 76 +17 17683 34 +18 2440 40 +18 5251 41 +18 7378 94 +18 8779 9 +18 8884 18 +18 9886 62 +18 11584 76 +18 11890 7 +18 12602 81 +18 12826 93 +18 12860 18 +18 14011 95 +18 14372 76 +18 14377 15 +18 17995 13 +19 1094 48 +19 3133 96 +19 3376 84 +19 4882 84 +19 6772 97 +19 7087 1 +19 7814 29 +19 8662 97 +19 9094 49 +19 9346 39 +19 10558 82 +19 10651 46 +19 11914 59 +19 16330 NULL +19 17539 20 +20 1451 89 +20 2618 4 +20 5312 9 +20 5425 15 +20 5483 8 +20 6026 21 +20 7207 90 +20 8714 NULL +20 9086 4 +20 9800 32 +20 13601 17 +20 14935 NULL +20 15131 85 +21 230 48 +21 1810 59 +21 2870 50 +21 5170 45 +21 5998 51 +21 6476 49 +21 9187 14 +21 12266 47 +21 14368 18 +21 14396 88 +22 9985 70 +22 10474 31 +22 11599 66 +22 12415 10 +22 15310 15 +22 16396 85 +22 16922 88 +22 17392 14 +22 17660 70 +23 319 86 +23 7242 37 +23 8181 13 +23 8413 1 +23 9093 38 +23 9097 81 +23 11220 91 +23 11257 64 +23 12397 80 +23 15403 96 +23 17631 16 +24 407 53 +24 1389 72 +24 1795 21 +24 2497 85 +24 3103 73 +24 4425 57 +24 4749 28 +24 4873 41 +24 5653 92 +24 6043 1 +24 6751 82 +24 7375 97 +24 10265 93 +24 11551 48 +24 13303 97 +24 16483 89 +25 1333 55 +25 2150 100 +25 2608 76 +25 3454 100 +25 4880 29 +25 5954 34 +25 6955 40 +25 7874 65 +25 9472 48 +25 10159 24 +25 14488 26 +25 14635 68 +25 17000 40 +25 17752 55 +26 1989 26 +26 5053 4 +26 5385 97 +26 5721 81 +26 6647 64 +26 7337 45 +26 9679 18 +26 11895 77 +26 12851 56 +26 15039 34 +27 1305 44 +27 2137 96 +27 2671 92 +27 5831 61 +27 7139 59 +27 8167 28 +27 10757 15 +27 11441 15 +27 11509 65 +27 12237 89 +27 12749 31 +27 13885 66 +27 15025 26 +27 16029 59 +27 16419 65 +27 16767 60 +28 1807 98 +28 2817 8 +28 2967 29 +28 4483 78 +28 5437 15 +28 6411 3 +28 7965 93 +28 8043 58 +28 8407 14 +28 10295 13 +29 20 18 +29 1363 75 +29 2930 23 +29 3740 5 +29 7654 20 +29 9458 33 +29 10795 33 +29 12068 37 +29 12223 59 +29 13340 21 +29 13693 NULL +29 15085 40 +29 15626 NULL +29 15782 53 +30 217 91 +30 1951 59 +30 3238 16 +30 3506 15 +30 3928 87 +30 5431 77 +30 6752 69 +30 7870 7 +30 8666 21 +30 12572 33 +30 12670 20 +30 13579 75 +30 14848 62 +30 17348 62 +30 17875 78 +31 913 54 +31 4963 67 +31 6617 11 +31 6917 4 +31 7513 82 +31 11739 95 +31 14575 97 +31 14727 41 +31 15341 31 +31 15411 53 +31 16251 51 +32 1115 61 +32 2095 34 +32 2887 8 +32 4339 6 +32 4537 22 +32 4808 NULL +32 5798 87 +32 7547 24 +32 9683 26 +32 11005 46 +32 11348 41 +32 12134 21 +32 15001 57 +32 15644 34 +32 16421 74 +32 17659 51 +33 4798 27 +33 7300 3 +33 9649 36 +33 10376 21 +33 11119 92 +33 11756 26 +33 12643 89 +33 12760 54 +33 12964 80 +33 14125 66 +33 14158 82 +33 14692 93 +33 15478 22 +34 1526 91 +34 1717 53 +34 2312 6 +34 4118 88 +34 5197 63 +34 5449 9 +34 6193 61 +34 9325 3 +34 9766 83 +34 12016 42 +34 12290 53 +34 12512 60 +34 13814 20 +34 16324 30 +35 411 51 +35 2377 52 +35 3667 97 +35 4325 56 +35 5179 83 +35 11635 87 +35 11661 81 +35 14239 55 +35 15619 45 +35 15757 9 +35 17341 92 +35 17365 65 +35 17451 7 +36 1115 80 +36 2095 43 +36 2887 31 +36 7547 46 +36 11005 49 +36 11349 80 +36 15001 54 +36 15645 23 +36 16421 25 +36 17561 16 +36 17659 91 +37 2997 94 +37 7283 87 +37 10715 52 +37 10929 88 +37 13171 6 +37 15337 62 +37 16971 12 +37 17125 NULL +38 757 2 +38 2164 17 +38 3439 84 +38 4154 35 +38 5113 73 +38 6220 98 +38 7018 15 +38 7784 56 +38 8870 15 +38 9710 7 +38 10441 62 +38 15698 57 +39 386 89 +39 1598 64 +39 3476 73 +39 3943 64 +39 4190 86 +39 4957 24 +39 5393 98 +39 7097 78 +39 7118 67 +39 7604 49 +39 7697 24 +39 8078 54 +39 8411 96 +39 15491 54 +39 15625 17 +40 2854 71 +40 3490 65 +40 3985 63 +40 5098 35 +40 5318 87 +40 10094 80 +40 10912 23 +40 12050 NULL +40 13658 53 +40 16976 3 +41 10 50 +41 64 29 +41 3380 88 +41 5566 11 +41 6310 90 +41 7402 69 +41 7603 94 +41 9322 8 +41 10915 81 +41 14788 15 +41 15242 87 +41 15328 46 +41 16514 20 +42 619 69 +42 976 100 +42 1436 94 +42 2314 74 +42 2392 14 +42 2602 30 +42 3346 74 +42 3613 30 +42 6058 30 +42 6134 92 +42 8462 23 +42 9740 52 +42 10016 57 +42 10471 19 +42 12550 41 +42 15002 41 +43 2923 16 +43 3344 22 +43 3911 26 +43 4364 77 +43 4691 41 +43 5773 85 +43 5852 16 +43 11771 30 +43 14669 97 +44 2351 56 +44 2623 18 +44 7303 14 +44 7527 67 +44 9059 68 +44 11707 83 +44 12341 20 +44 13331 98 +44 13449 45 +44 14149 80 +44 15803 81 +44 16491 56 +44 16837 92 +44 16909 61 +45 811 62 +45 1479 49 +45 3265 98 +45 5309 18 +45 7363 87 +45 10115 68 +45 11095 40 +45 13133 46 +45 16349 6 +46 1960 12 +46 3010 67 +46 7040 33 +46 8065 NULL +46 11426 72 +46 13042 58 +46 15595 32 +46 16540 30 +46 17150 57 +46 17384 13 +47 254 NULL +47 481 30 +47 1132 66 +47 1916 71 +47 3085 51 +47 3202 7 +47 3878 NULL +47 4774 11 +47 5008 82 +47 5305 NULL +47 5468 7 +47 7214 1 +47 9770 33 +47 13246 47 +47 13477 10 +48 1761 22 +48 2820 4 +48 2829 65 +48 4431 39 +48 5971 29 +48 6085 1 +48 6684 44 +48 9199 88 +48 11259 NULL +48 12468 62 +48 13153 74 +48 17799 17 +49 749 60 +49 2135 4 +49 5342 69 +49 5852 47 +49 6805 40 +49 7141 94 +49 9049 68 +49 9553 71 +49 12737 48 +49 15155 84 +49 16361 4 +50 1280 69 +50 1312 30 +50 1909 53 +50 1984 40 +50 3097 64 +50 5023 NULL +50 7135 69 +50 16081 82 +51 422 21 +51 3091 28 +51 4687 6 +51 5029 12 +51 5059 51 +51 6565 33 +51 8384 79 +51 9311 90 +51 10133 54 +51 11234 NULL +51 12625 53 +51 13199 97 +51 17483 22 +51 17705 66 +52 2420 90 +52 3334 73 +52 6098 NULL +52 7606 45 +52 11488 76 +52 15649 29 +52 16646 48 +52 17402 91 +52 17456 37 +53 1114 40 +53 2095 62 +53 2786 70 +53 2887 39 +53 7546 58 +53 11348 38 +53 13220 76 +53 13795 38 +53 15991 37 +53 16420 14 +53 16648 79 +53 17296 43 +53 17560 15 +54 702 40 +54 825 50 +54 1165 62 +54 3861 NULL +54 6517 40 +54 9159 75 +54 14737 38 +54 16059 15 +54 16974 NULL +54 17479 34 +55 1339 16 +55 3001 7 +55 5137 33 +55 9703 44 +55 12170 92 +55 12205 90 +55 14135 36 +55 14923 71 +55 17677 17 +56 4242 2 +56 4506 57 +56 8353 35 +56 8691 59 +56 8707 68 +56 10362 54 +56 16620 23 +56 17331 74 +57 3253 71 +57 4028 88 +57 4933 22 +57 12596 91 +57 12721 62 +57 12740 52 +57 15182 86 +57 17729 26 +57 17993 99 +58 1829 52 +58 3848 6 +58 5117 2 +58 7649 19 +58 9743 62 +58 10802 14 +58 15635 6 +58 16472 6 +58 16949 35 +59 3133 92 +59 3546 22 +59 5772 70 +59 7087 80 +59 8010 46 +59 8335 36 +59 9348 62 +59 9397 92 +59 10651 100 +59 11916 19 +59 12858 90 +59 14529 44 +60 97 50 +60 555 62 +60 633 71 +60 999 43 +60 1117 78 +60 1573 90 +60 4041 25 +60 4235 28 +60 4513 72 +60 4937 22 +60 7231 95 +60 10277 62 +60 10393 75 +60 13975 14 +60 16887 25 +60 17755 88 +61 1106 4 +61 2264 36 +61 3362 48 +61 4567 26 +61 5528 78 +61 6380 77 +61 7591 78 +61 8924 11 +61 10330 8 +61 16462 26 +62 4093 94 +62 6403 NULL +62 8457 37 +62 10149 75 +62 12163 29 +62 12199 5 +62 12407 NULL +62 13559 80 +62 15399 74 +62 15733 40 +62 16151 93 +63 4488 73 +63 5079 79 +63 5217 66 +63 5658 99 +63 9319 80 +63 11370 38 +63 11946 85 +63 13339 19 +63 15793 40 +63 16569 69 +64 1213 NULL +64 3090 87 +64 3963 NULL +64 11835 82 +64 13224 NULL +64 14407 8 +64 15867 59 +64 15936 30 +64 16921 19 +64 17586 78 +64 17617 17 +65 2287 100 +65 4227 42 +65 9625 51 +65 9847 54 +65 13897 40 +65 14905 85 +65 15177 55 +65 17025 67 +66 6507 76 +66 7033 65 +66 7227 66 +66 8197 41 +66 9237 29 +66 10019 10 +66 11419 66 +66 15629 20 +66 16745 91 +66 16795 28 +67 757 77 +67 2133 74 +67 3439 73 +67 4155 87 +67 5113 NULL +67 7020 79 +67 7507 77 +67 8469 59 +67 8871 71 +67 12087 70 +67 15699 44 +68 1387 74 +68 1603 57 +68 1820 54 +68 2035 22 +68 2296 52 +68 2564 83 +68 5162 23 +68 6763 77 +68 7765 NULL +68 12526 3 +68 12724 88 +68 17426 2 +68 17600 13 +69 322 45 +69 337 34 +69 4208 9 +69 4267 10 +69 6136 7 +69 7264 67 +69 7822 30 +69 8599 53 +69 11137 68 +69 13489 66 +69 13792 NULL +69 15448 16 +70 1592 53 +70 2462 NULL +70 3296 48 +70 3947 NULL +70 6185 82 +70 6425 NULL +70 8893 17 +70 9857 20 +70 14549 4 +70 17815 95 +71 457 75 +71 1888 4 +71 2098 51 +71 4144 49 +71 5858 NULL +71 6008 54 +71 7504 3 +71 8887 10 +71 9274 36 +71 9769 79 +71 9790 96 +71 9997 26 +71 10108 66 +71 10288 30 +71 11168 79 +71 17246 90 +72 1535 9 +72 5917 85 +72 6113 45 +72 6671 13 +72 9860 26 +72 10427 66 +72 10753 16 +72 11741 62 +72 12788 29 +72 12901 57 +72 13085 94 +72 13423 62 +72 13904 37 +72 15587 87 +72 16765 56 +73 247 53 +73 1063 37 +73 3205 82 +73 4946 54 +73 6862 58 +73 10051 49 +73 12502 75 +73 15109 38 +73 16519 97 +73 16585 38 +73 17269 40 +74 326 29 +74 3104 78 +74 3175 23 +74 3278 NULL +74 3542 96 +74 3754 26 +74 5492 54 +74 7694 17 +74 8653 12 +74 9620 95 +74 10069 99 +74 13208 87 +74 16694 72 +75 607 20 +75 2948 25 +75 4625 73 +75 6938 89 +75 6953 71 +75 8726 6 +75 9905 54 +75 10217 85 +75 11039 70 +75 14186 63 +75 16796 93 +76 257 5 +76 465 2 +76 1107 16 +76 1503 97 +76 2265 98 +76 2869 32 +76 3363 25 +76 4237 48 +76 4567 40 +76 5529 78 +76 6381 50 +76 7591 27 +76 8925 6 +76 10331 3 +76 16463 53 +77 992 62 +77 1399 34 +77 2713 85 +77 3868 89 +77 6289 30 +77 7339 88 +77 7448 95 +77 7486 49 +77 8686 38 +77 9220 90 +77 11918 36 +77 12439 95 +77 13456 48 +77 14815 18 +77 16687 16 +78 901 3 +78 3304 50 +78 3856 27 +78 5965 78 +78 6044 59 +78 6110 43 +78 6500 76 +78 7576 87 +78 8611 79 +78 10507 6 +78 11209 7 +78 12706 19 +78 14996 39 +79 247 NULL +79 1063 85 +79 3205 48 +79 4947 35 +79 6864 1 +79 10051 10 +79 10524 36 +79 12504 81 +79 14322 41 +79 15109 NULL +79 15498 3 +79 15888 58 +79 16519 9 +79 16585 93 +79 17269 81 +80 998 93 +80 1519 25 +80 1573 40 +80 4040 66 +80 4513 NULL +80 4622 1 +80 7231 49 +80 7610 37 +80 10393 5 +80 12968 NULL +80 13717 91 +80 13975 13 +80 16363 84 +80 16886 77 +80 17308 29 +80 17755 94 +81 4486 31 +81 5078 75 +81 5216 64 +81 5656 24 +81 7166 7 +81 7663 79 +81 8918 37 +81 9319 36 +81 11107 36 +81 11368 26 +81 13339 6 +81 15793 8 +82 2572 53 +82 7862 75 +82 13138 59 +82 14998 49 +82 17041 18 http://git-wip-us.apache.org/repos/asf/hive/blob/072c5a0b/ql/src/test/results/clientpositive/vectorization_limit.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/vectorization_limit.q.out b/ql/src/test/results/clientpositive/vectorization_limit.q.out index 9ff888c..2400baa 100644 --- a/ql/src/test/results/clientpositive/vectorization_limit.q.out +++ b/ql/src/test/results/clientpositive/vectorization_limit.q.out @@ -316,10 +316,10 @@ NULL -47 -46 PREHOOK: query: explain -select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint limit 20 +select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint order by ctinyint limit 20 PREHOOK: type: QUERY POSTHOOK: query: explain -select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint limit 20 +select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint order by ctinyint limit 20 POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage @@ -373,11 +373,11 @@ STAGE PLANS: Processor Tree: ListSink -PREHOOK: query: select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint limit 20 +PREHOOK: query: select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint order by ctinyint limit 20 PREHOOK: type: QUERY PREHOOK: Input: default@alltypesorc #### A masked pattern was here #### -POSTHOOK: query: select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint limit 20 +POSTHOOK: query: select ctinyint, count(distinct(cdouble)) from alltypesorc group by ctinyint order by ctinyint limit 20 POSTHOOK: type: QUERY POSTHOOK: Input: default@alltypesorc #### A masked pattern was here ####
