HIVE-19500: Prevent multiple selectivity estimations for the same variable in conjuctions (Zoltan Haindrich reviewed by Ashutosh Chauhan)
Signed-off-by: Zoltan Haindrich <k...@rxd.hu> Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/fdb8a70c Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/fdb8a70c Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/fdb8a70c Branch: refs/heads/master Commit: fdb8a70cd548b702801c8abc3464604c04addf63 Parents: 5502537 Author: Zoltan Haindrich <k...@rxd.hu> Authored: Fri May 25 14:07:04 2018 +0200 Committer: Zoltan Haindrich <k...@rxd.hu> Committed: Fri May 25 14:07:04 2018 +0200 ---------------------------------------------------------------------- .../stats/annotation/StatsRulesProcFactory.java | 12 +- .../clientpositive/stat_estimate_related_col.q | 43 + .../annotate_stats_deep_filters.q.out | 4 +- .../annotate_stats_join_pkfk.q.out | 48 +- .../llap/bucketsortoptimize_insert_7.q.out | 20 +- .../clientpositive/llap/explainuser_1.q.out | 64 +- .../llap/orc_predicate_pushdown.q.out | 20 +- .../llap/parquet_predicate_pushdown.q.out | 20 +- .../clientpositive/llap/subquery_multi.q.out | 26 +- .../llap/vector_decimal_cast.q.out | 4 +- .../clientpositive/llap/vector_if_expr.q.out | 10 +- .../llap/vector_mapjoin_reduce.q.out | 14 +- .../clientpositive/llap/vectorization_0.q.out | 12 +- .../llap/vectorization_short_regress.q.out | 8 +- .../llap/vectorized_nested_mapjoin.q.out | 12 +- .../spark/spark_explainuser_1.q.out | 68 +- .../stat_estimate_related_col.q.out | 784 +++++++++++++++++++ 17 files changed, 998 insertions(+), 171 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/fdb8a70c/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java ---------------------------------------------------------------------- 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 c59128d..91cccfb 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 @@ -349,12 +349,12 @@ public class StatsRulesProcFactory { for (ExprNodeDesc child : genFunc.getChildren()) { evaluatedRowCount = evaluateChildExpr(aspCtx.getAndExprStats(), child, aspCtx, neededCols, op, evaluatedRowCount); - } - newNumRows = evaluatedRowCount; - if (satisfyPrecondition(aspCtx.getAndExprStats())) { - updateStats(aspCtx.getAndExprStats(), newNumRows, true, op); - } else { - updateStats(aspCtx.getAndExprStats(), newNumRows, false, op); + newNumRows = evaluatedRowCount; + if (satisfyPrecondition(aspCtx.getAndExprStats())) { + updateStats(aspCtx.getAndExprStats(), newNumRows, true, op); + } else { + updateStats(aspCtx.getAndExprStats(), newNumRows, false, op); + } } } else if (udf instanceof GenericUDFOPOr) { // for OR condition independently compute and update stats. http://git-wip-us.apache.org/repos/asf/hive/blob/fdb8a70c/ql/src/test/queries/clientpositive/stat_estimate_related_col.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/stat_estimate_related_col.q b/ql/src/test/queries/clientpositive/stat_estimate_related_col.q new file mode 100644 index 0000000..52da2f7 --- /dev/null +++ b/ql/src/test/queries/clientpositive/stat_estimate_related_col.q @@ -0,0 +1,43 @@ +set hive.explain.user=true; +set hive.strict.checks.cartesian.product=false; +set hive.stats.fetch.column.stats=true; + +drop table if exists t1; +drop table if exists t8; + +create table t1 (a integer,b integer); +create table t8 like t1; + +insert into t1 values (1,1),(2,2),(3,3),(4,4),(5,5); + +insert into t8 +select * from t1 union all select * from t1 union all select * from t1 union all select * from t1 union all +select * from t1 union all select * from t1 union all select * from t1 union all select * from t1 +; + +analyze table t1 compute statistics for columns; +analyze table t8 compute statistics for columns; + +explain analyze select sum(a) from t8 where b in (2,3) group by b; +explain analyze select sum(a) from t8 where b=2 group by b; + +explain analyze select sum(a) from t1 where 2=b and b=2 group by b; + +explain analyze select sum(a) from t1 where b in (2,3) and b=2 group by b; +explain analyze select sum(a) from t8 where b in (2,3) and b=2 group by b; + + +explain analyze select count(*) from t8 ta, t8 tb where ta.a = tb.b and ta.a=3; + + +explain analyze select sum(a) from t8 where b in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,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) and b=2 and b=2 and 2=b group by b; + +explain analyze select sum(a) from t8 where b=2 and (b = 1 or b=2) group by b; +explain analyze select sum(a) from t8 where b=2 and (b = 1 or b=2) and (b=1 or b=3) group by b; + +explain analyze select sum(a) from t8 where + b=2 and (b = 1 or b=2) +and + a=3 and (a = 3 or a=4) +group by b; + http://git-wip-us.apache.org/repos/asf/hive/blob/fdb8a70c/ql/src/test/results/clientpositive/annotate_stats_deep_filters.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/annotate_stats_deep_filters.q.out b/ql/src/test/results/clientpositive/annotate_stats_deep_filters.q.out index dfdfe39..5f68009 100644 --- a/ql/src/test/results/clientpositive/annotate_stats_deep_filters.q.out +++ b/ql/src/test/results/clientpositive/annotate_stats_deep_filters.q.out @@ -123,9 +123,9 @@ STAGE PLANS: Statistics: Num rows: 2098 Data size: 16744 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (((t = 10Y) and (si = 11S)) or ((t = 11Y) and (si = 12S)) or ((t = 12Y) and (si = 13S)) or ((t = 13Y) and (si = 14S)) or ((t = 14Y) and (si = 15S)) or ((t = 15Y) and (si = 16S)) or ((t = 16Y) and (si = 17S)) or ((t = 17Y) and (si = 18S)) or ((t = 1Y) and (si = 2S)) or ((t = 27Y) and (si = 28S)) or ((t = 2Y) and (si = 3S)) or ((t = 37Y) and (si = 38S)) or ((t = 3Y) and (si = 4S)) or ((t = 47Y) and (si = 48S)) or ((t = 4Y) and (si = 5S)) or ((t = 52Y) and (si = 53S)) or ((t = 5Y) and (si = 6S)) or ((t = 6Y) and (si = 7S)) or ((t = 7Y) and (si = 8S)) or ((t = 9Y) and (si = 10S))) (type: boolean) - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 160 Data size: 1280 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 160 Data size: 1280 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: count() mode: hash http://git-wip-us.apache.org/repos/asf/hive/blob/fdb8a70c/ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out b/ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out index aa5dba0..d9f6bad 100644 --- a/ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out +++ b/ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out @@ -585,16 +585,16 @@ STAGE PLANS: Statistics: Num rows: 1000 Data size: 7676 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((ss_quantity > 10) and ss_store_sk is not null) (type: boolean) - Statistics: Num rows: 297 Data size: 2284 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 321 Data size: 2468 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ss_store_sk (type: int) outputColumnNames: _col0 - Statistics: Num rows: 297 Data size: 2284 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 321 Data size: 2468 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: int) sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 297 Data size: 2284 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 321 Data size: 2468 Basic stats: COMPLETE Column stats: COMPLETE Reduce Operator Tree: Join Operator condition map: @@ -603,10 +603,10 @@ STAGE PLANS: 0 _col0 (type: int) 1 _col0 (type: int) outputColumnNames: _col0 - Statistics: Num rows: 297 Data size: 1188 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 321 Data size: 1284 Basic stats: COMPLETE Column stats: PARTIAL File Output Operator compressed: false - Statistics: Num rows: 297 Data size: 1188 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 321 Data size: 1284 Basic stats: COMPLETE Column stats: PARTIAL table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat @@ -715,16 +715,16 @@ STAGE PLANS: Statistics: Num rows: 1000 Data size: 7676 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((ss_quantity > 10) and ss_store_sk is not null) (type: boolean) - Statistics: Num rows: 297 Data size: 2284 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 321 Data size: 2468 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ss_store_sk (type: int) outputColumnNames: _col0 - Statistics: Num rows: 297 Data size: 2284 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 321 Data size: 2468 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: int) sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 297 Data size: 2284 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 321 Data size: 2468 Basic stats: COMPLETE Column stats: COMPLETE Reduce Operator Tree: Join Operator condition map: @@ -733,10 +733,10 @@ STAGE PLANS: 0 _col0 (type: int) 1 _col0 (type: int) outputColumnNames: _col0 - Statistics: Num rows: 297 Data size: 1188 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 321 Data size: 1284 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false - Statistics: Num rows: 297 Data size: 1188 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 321 Data size: 1284 Basic stats: COMPLETE Column stats: COMPLETE table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat @@ -1023,16 +1023,16 @@ STAGE PLANS: Statistics: Num rows: 1000 Data size: 7676 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((ss_quantity > 10) and ss_store_sk is not null) (type: boolean) - Statistics: Num rows: 297 Data size: 2284 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 321 Data size: 2468 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ss_store_sk (type: int) outputColumnNames: _col0 - Statistics: Num rows: 297 Data size: 2284 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 321 Data size: 2468 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: int) sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 297 Data size: 2284 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 321 Data size: 2468 Basic stats: COMPLETE Column stats: COMPLETE TableScan alias: s Statistics: Num rows: 12 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE @@ -1073,14 +1073,14 @@ STAGE PLANS: 1 _col0 (type: int) 2 _col0 (type: int) outputColumnNames: _col2 - Statistics: Num rows: 297 Data size: 1188 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 321 Data size: 1284 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col2 (type: int) outputColumnNames: _col0 - Statistics: Num rows: 297 Data size: 1188 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 321 Data size: 1284 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false - Statistics: Num rows: 297 Data size: 1188 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 321 Data size: 1284 Basic stats: COMPLETE Column stats: COMPLETE table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat @@ -1110,16 +1110,16 @@ STAGE PLANS: Statistics: Num rows: 1000 Data size: 7664 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (ss_addr_sk is not null and ss_store_sk is not null) (type: boolean) - Statistics: Num rows: 914 Data size: 7004 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 916 Data size: 7020 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ss_addr_sk (type: int), ss_store_sk (type: int) outputColumnNames: _col0, _col1 - Statistics: Num rows: 914 Data size: 7004 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 916 Data size: 7020 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col1 (type: int) sort order: + Map-reduce partition columns: _col1 (type: int) - Statistics: Num rows: 914 Data size: 7004 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 916 Data size: 7020 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col0 (type: int) TableScan alias: s @@ -1144,7 +1144,7 @@ STAGE PLANS: 0 _col1 (type: int) 1 _col0 (type: int) outputColumnNames: _col0, _col2 - Statistics: Num rows: 914 Data size: 7132 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 916 Data size: 7148 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false table: @@ -1160,7 +1160,7 @@ STAGE PLANS: key expressions: _col0 (type: int) sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 914 Data size: 7132 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 916 Data size: 7148 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col2 (type: int) TableScan alias: ca @@ -1185,14 +1185,14 @@ STAGE PLANS: 0 _col0 (type: int) 1 _col0 (type: int) outputColumnNames: _col2 - Statistics: Num rows: 243 Data size: 972 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 241 Data size: 964 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col2 (type: int) outputColumnNames: _col0 - Statistics: Num rows: 243 Data size: 972 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 241 Data size: 964 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false - Statistics: Num rows: 243 Data size: 972 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 241 Data size: 964 Basic stats: COMPLETE Column stats: COMPLETE table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat http://git-wip-us.apache.org/repos/asf/hive/blob/fdb8a70c/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_7.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_7.q.out b/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_7.q.out index 0246833..cf7e442 100644 --- a/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_7.q.out +++ b/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_7.q.out @@ -518,22 +518,22 @@ STAGE PLANS: Statistics: Num rows: 84 Data size: 7896 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (((key = 0) or (key = 5)) and (key < 8)) (type: boolean) - Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE Map Operator Tree: TableScan alias: test_table1_n20 Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (((key = 0) or (key = 5)) and (key < 8)) (type: boolean) - Statistics: Num rows: 2 Data size: 186 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 279 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 2 Data size: 186 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 279 Basic stats: COMPLETE Column stats: COMPLETE Merge Join Operator condition map: Inner Join 0 to 1 @@ -541,16 +541,16 @@ STAGE PLANS: 0 _col0 (type: int) 1 _col0 (type: int) outputColumnNames: _col0, _col1, _col3 - Statistics: Num rows: 1 Data size: 183 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 549 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int), concat(_col1, _col3) (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 564 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: int) sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 564 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: string) Execution mode: llap Reducer 2 @@ -559,10 +559,10 @@ STAGE PLANS: Select Operator expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 564 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false - Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 564 Basic stats: COMPLETE Column stats: COMPLETE table: input format: org.apache.hadoop.mapred.TextInputFormat output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat @@ -571,7 +571,7 @@ STAGE PLANS: Select Operator expressions: _col0 (type: int), _col1 (type: string), '1' (type: string) outputColumnNames: key, value, ds - Statistics: Num rows: 1 Data size: 273 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 819 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: compute_stats(key, 'hll'), compute_stats(value, 'hll') keys: ds (type: string) http://git-wip-us.apache.org/repos/asf/hive/blob/fdb8a70c/ql/src/test/results/clientpositive/llap/explainuser_1.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/llap/explainuser_1.q.out b/ql/src/test/results/clientpositive/llap/explainuser_1.q.out index f4852d2..0c339e5 100644 --- a/ql/src/test/results/clientpositive/llap/explainuser_1.q.out +++ b/ql/src/test/results/clientpositive/llap/explainuser_1.q.out @@ -419,25 +419,25 @@ Stage-0 <-Map 5 [SIMPLE_EDGE] llap SHUFFLE [RS_7] PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_6] (rows=1 width=101) + Group By Operator [GBY_6] (rows=2 width=101) Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float - Filter Operator [FIL_37] (rows=4 width=93) + Filter Operator [FIL_37] (rows=5 width=93) predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and key is not null) TableScan [TS_3] (rows=20 width=88) default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] <-Reducer 8 [SIMPLE_EDGE] llap SHUFFLE [RS_19] PartitionCols:_col0 - Select Operator [SEL_16] (rows=1 width=89) + Select Operator [SEL_16] (rows=2 width=89) Output:["_col0","_col1"] - Group By Operator [GBY_15] (rows=1 width=93) + Group By Operator [GBY_15] (rows=2 width=93) Output:["_col0","_col1","_col2"],keys:KEY._col0, KEY._col1, KEY._col2 <-Map 7 [SIMPLE_EDGE] llap SHUFFLE [RS_14] PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_13] (rows=1 width=93) + Group By Operator [GBY_13] (rows=2 width=93) Output:["_col0","_col1","_col2"],keys:key, c_int, c_float - Filter Operator [FIL_38] (rows=4 width=93) + Filter Operator [FIL_38] (rows=5 width=93) predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and key is not null) TableScan [TS_10] (rows=20 width=88) default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] @@ -1119,25 +1119,25 @@ Stage-0 Stage-1 Reducer 2 llap File Output Operator [FS_14] - Select Operator [SEL_13] (rows=48 width=101) + Select Operator [SEL_13] (rows=40 width=101) Output:["_col0","_col1","_col2","_col3","_col4"] - Merge Join Operator [MERGEJOIN_24] (rows=48 width=101) + Merge Join Operator [MERGEJOIN_24] (rows=40 width=101) Conds:RS_9._col0=RS_10._col0(Inner),RS_9._col0=RS_11._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col6"],residual filter predicates:{((_col1 + _col4) = 2)} {((_col1 > 0) or (_col6 >= 0))} <-Map 1 [SIMPLE_EDGE] llap SHUFFLE [RS_9] PartitionCols:_col0 - Select Operator [SEL_2] (rows=8 width=93) + Select Operator [SEL_2] (rows=9 width=93) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_21] (rows=8 width=93) + Filter Operator [FIL_21] (rows=9 width=93) predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0)) and key is not null) TableScan [TS_0] (rows=20 width=88) default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] <-Map 3 [SIMPLE_EDGE] llap SHUFFLE [RS_10] PartitionCols:_col0 - Select Operator [SEL_5] (rows=8 width=89) + Select Operator [SEL_5] (rows=9 width=89) Output:["_col0","_col1"] - Filter Operator [FIL_22] (rows=8 width=93) + Filter Operator [FIL_22] (rows=9 width=93) predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0)) and key is not null) TableScan [TS_3] (rows=20 width=88) default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] @@ -1166,25 +1166,25 @@ Stage-0 Stage-1 Reducer 2 llap File Output Operator [FS_14] - Select Operator [SEL_13] (rows=48 width=101) + Select Operator [SEL_13] (rows=40 width=101) Output:["_col0","_col1","_col2","_col3","_col4"] - Merge Join Operator [MERGEJOIN_24] (rows=48 width=101) + Merge Join Operator [MERGEJOIN_24] (rows=40 width=101) Conds:RS_9._col0=RS_10._col0(Inner),RS_9._col0=RS_11._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col6"],residual filter predicates:{((_col1 + _col4) = 2)} {((_col1 > 0) or (_col6 >= 0))} <-Map 1 [SIMPLE_EDGE] llap SHUFFLE [RS_9] PartitionCols:_col0 - Select Operator [SEL_2] (rows=8 width=93) + Select Operator [SEL_2] (rows=9 width=93) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_21] (rows=8 width=93) + Filter Operator [FIL_21] (rows=9 width=93) predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0)) and key is not null) TableScan [TS_0] (rows=20 width=88) default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] <-Map 3 [SIMPLE_EDGE] llap SHUFFLE [RS_10] PartitionCols:_col0 - Select Operator [SEL_5] (rows=8 width=89) + Select Operator [SEL_5] (rows=9 width=89) Output:["_col0","_col1"] - Filter Operator [FIL_22] (rows=8 width=93) + Filter Operator [FIL_22] (rows=9 width=93) predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0)) and key is not null) TableScan [TS_3] (rows=20 width=88) default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] @@ -1447,16 +1447,16 @@ Stage-0 Stage-1 Reducer 2 llap File Output Operator [FS_12] - Select Operator [SEL_11] (rows=8 width=4) + Select Operator [SEL_11] (rows=9 width=4) Output:["_col0"] - Merge Join Operator [MERGEJOIN_17] (rows=8 width=4) + Merge Join Operator [MERGEJOIN_17] (rows=9 width=4) Conds:RS_8._col0=RS_9._col0(Left Semi),Output:["_col1"] <-Map 1 [SIMPLE_EDGE] llap SHUFFLE [RS_8] PartitionCols:_col0 - Select Operator [SEL_2] (rows=8 width=93) + Select Operator [SEL_2] (rows=9 width=93) Output:["_col0","_col1"] - Filter Operator [FIL_15] (rows=8 width=93) + Filter Operator [FIL_15] (rows=9 width=93) predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0)) and key is not null) TableScan [TS_0] (rows=20 width=88) default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] @@ -1494,20 +1494,20 @@ Stage-0 <-Map 1 [SIMPLE_EDGE] llap SHUFFLE [RS_13] PartitionCols:_col0 - Select Operator [SEL_2] (rows=8 width=93) + Select Operator [SEL_2] (rows=9 width=93) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_25] (rows=8 width=93) + Filter Operator [FIL_25] (rows=9 width=93) predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0)) and key is not null) TableScan [TS_0] (rows=20 width=88) default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] <-Map 3 [SIMPLE_EDGE] llap SHUFFLE [RS_14] PartitionCols:_col0 - Group By Operator [GBY_10] (rows=3 width=85) + Group By Operator [GBY_10] (rows=4 width=85) Output:["_col0"],keys:_col0 - Select Operator [SEL_5] (rows=8 width=85) + Select Operator [SEL_5] (rows=9 width=85) Output:["_col0"] - Filter Operator [FIL_26] (rows=8 width=93) + Filter Operator [FIL_26] (rows=9 width=93) predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0)) and key is not null) TableScan [TS_3] (rows=20 width=88) default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] @@ -1992,18 +1992,18 @@ Stage-0 Stage-1 Reducer 4 llap File Output Operator [FS_22] - Select Operator [SEL_21] (rows=3 width=8) + Select Operator [SEL_21] (rows=7 width=8) Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_32] (rows=3 width=8) + Merge Join Operator [MERGEJOIN_32] (rows=7 width=8) Conds:RS_18._col1, _col4=RS_19._col0, _col1(Left Semi),Output:["_col0","_col3"] <-Map 6 [SIMPLE_EDGE] llap SHUFFLE [RS_19] PartitionCols:_col0, _col1 - Group By Operator [GBY_17] (rows=1 width=8) + Group By Operator [GBY_17] (rows=4 width=8) Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_12] (rows=2 width=8) + Select Operator [SEL_12] (rows=14 width=8) Output:["_col0","_col1"] - Filter Operator [FIL_30] (rows=2 width=96) + Filter Operator [FIL_30] (rows=14 width=96) predicate:((l_linenumber = 1) and (l_shipmode = 'AIR') and l_orderkey is not null) TableScan [TS_10] (rows=100 width=96) default@lineitem,lineitem,Tbl:COMPLETE,Col:COMPLETE,Output:["l_orderkey","l_linenumber","l_shipmode"] http://git-wip-us.apache.org/repos/asf/hive/blob/fdb8a70c/ql/src/test/results/clientpositive/llap/orc_predicate_pushdown.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/llap/orc_predicate_pushdown.q.out b/ql/src/test/results/clientpositive/llap/orc_predicate_pushdown.q.out index af7b0ba..e29c3d9 100644 --- a/ql/src/test/results/clientpositive/llap/orc_predicate_pushdown.q.out +++ b/ql/src/test/results/clientpositive/llap/orc_predicate_pushdown.q.out @@ -592,15 +592,15 @@ STAGE PLANS: Statistics: Num rows: 1049 Data size: 105941 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((not (t) IN (-1, -2, -3)) and (s like 'bob%') and s is not null and t BETWEEN 25 AND 30) (type: boolean) - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: t (type: tinyint), s (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: tinyint), _col1 (type: string) sort order: ++ - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE Execution mode: llap LLAP IO: all inputs Reducer 2 @@ -609,10 +609,10 @@ STAGE PLANS: Select Operator expressions: KEY.reducesinkkey0 (type: tinyint), KEY.reducesinkkey1 (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat @@ -658,15 +658,15 @@ STAGE PLANS: Statistics: Num rows: 1049 Data size: 105941 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((not (t) IN (-1, -2, -3)) and (s like 'bob%') and s is not null and t BETWEEN 25 AND 30) (type: boolean) - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: t (type: tinyint), s (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: tinyint), _col1 (type: string) sort order: ++ - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE Execution mode: llap LLAP IO: all inputs Reducer 2 @@ -675,10 +675,10 @@ STAGE PLANS: Select Operator expressions: KEY.reducesinkkey0 (type: tinyint), KEY.reducesinkkey1 (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat http://git-wip-us.apache.org/repos/asf/hive/blob/fdb8a70c/ql/src/test/results/clientpositive/llap/parquet_predicate_pushdown.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/llap/parquet_predicate_pushdown.q.out b/ql/src/test/results/clientpositive/llap/parquet_predicate_pushdown.q.out index 84c5b2f..eaa7e5d 100644 --- a/ql/src/test/results/clientpositive/llap/parquet_predicate_pushdown.q.out +++ b/ql/src/test/results/clientpositive/llap/parquet_predicate_pushdown.q.out @@ -530,15 +530,15 @@ STAGE PLANS: Statistics: Num rows: 1049 Data size: 105941 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((not (t) IN (-1, -2, -3)) and (s like 'bob%') and s is not null and t BETWEEN 25 AND 30) (type: boolean) - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: t (type: tinyint), s (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: tinyint), _col1 (type: string) sort order: ++ - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE Execution mode: llap LLAP IO: all inputs (cache only) Reducer 2 @@ -547,10 +547,10 @@ STAGE PLANS: Select Operator expressions: KEY.reducesinkkey0 (type: tinyint), KEY.reducesinkkey1 (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat @@ -596,15 +596,15 @@ STAGE PLANS: Statistics: Num rows: 1049 Data size: 105941 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((not (t) IN (-1, -2, -3)) and (s like 'bob%') and s is not null and t BETWEEN 25 AND 30) (type: boolean) - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: t (type: tinyint), s (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: tinyint), _col1 (type: string) sort order: ++ - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE Execution mode: llap LLAP IO: all inputs (cache only) Reducer 2 @@ -613,10 +613,10 @@ STAGE PLANS: Select Operator expressions: KEY.reducesinkkey0 (type: tinyint), KEY.reducesinkkey1 (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false - Statistics: Num rows: 56 Data size: 5656 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 55 Data size: 5555 Basic stats: COMPLETE Column stats: COMPLETE table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat http://git-wip-us.apache.org/repos/asf/hive/blob/fdb8a70c/ql/src/test/results/clientpositive/llap/subquery_multi.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/llap/subquery_multi.q.out b/ql/src/test/results/clientpositive/llap/subquery_multi.q.out index c573b8c..988a8f4 100644 --- a/ql/src/test/results/clientpositive/llap/subquery_multi.q.out +++ b/ql/src/test/results/clientpositive/llap/subquery_multi.q.out @@ -2867,14 +2867,14 @@ STAGE PLANS: Statistics: Num rows: 100 Data size: 10400 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((l_linenumber = 1) and (l_shipmode = 'AIR') and l_orderkey is not null) (type: boolean) - Statistics: Num rows: 2 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 14 Data size: 1456 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: l_orderkey (type: int), l_quantity (type: double) outputColumnNames: _col0, _col2 - Statistics: Num rows: 2 Data size: 206 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 14 Data size: 1442 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator sort order: - Statistics: Num rows: 2 Data size: 206 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 14 Data size: 1442 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col0 (type: int), _col2 (type: double) Execution mode: vectorized, llap LLAP IO: no inputs @@ -2969,14 +2969,14 @@ STAGE PLANS: 0 _col1 (type: int), _col4 (type: int) 1 _col0 (type: int), _col1 (type: int) outputColumnNames: _col0, _col3 - Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 7 Data size: 56 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int), _col3 (type: int) outputColumnNames: _col0, _col1 - Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 7 Data size: 56 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false - Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 7 Data size: 56 Basic stats: COMPLETE Column stats: COMPLETE table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat @@ -2991,12 +2991,12 @@ STAGE PLANS: 0 1 outputColumnNames: _col0, _col2, _col4, _col5 - Statistics: Num rows: 2 Data size: 56 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 14 Data size: 392 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col2 (type: double) sort order: + Map-reduce partition columns: _col2 (type: double) - Statistics: Num rows: 2 Data size: 56 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 14 Data size: 392 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col0 (type: int), _col4 (type: bigint), _col5 (type: bigint) Reducer 8 Execution mode: llap @@ -3008,24 +3008,24 @@ STAGE PLANS: 0 _col2 (type: double) 1 _col0 (type: double) outputColumnNames: _col0, _col2, _col4, _col5, _col7 - Statistics: Num rows: 2 Data size: 64 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 14 Data size: 404 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((_col4 = 0L) or (_col7 is null and _col2 is not null and (_col5 >= _col4))) (type: boolean) - Statistics: Num rows: 2 Data size: 64 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 14 Data size: 404 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int), 1 (type: int) outputColumnNames: _col0, _col1 - Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 14 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator keys: _col0 (type: int), _col1 (type: int) mode: hash outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 4 Data size: 32 Basic stats: COMPLETE Column stats: COMPLETE 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: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 4 Data size: 32 Basic stats: COMPLETE Column stats: COMPLETE Stage: Stage-0 Fetch Operator http://git-wip-us.apache.org/repos/asf/hive/blob/fdb8a70c/ql/src/test/results/clientpositive/llap/vector_decimal_cast.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/llap/vector_decimal_cast.q.out b/ql/src/test/results/clientpositive/llap/vector_decimal_cast.q.out index 9e5885e..67630b4 100644 --- a/ql/src/test/results/clientpositive/llap/vector_decimal_cast.q.out +++ b/ql/src/test/results/clientpositive/llap/vector_decimal_cast.q.out @@ -29,7 +29,7 @@ STAGE PLANS: native: true predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 5:double), SelectColumnIsNotNull(col 2:int), SelectColumnIsNotNull(col 10:boolean), SelectColumnIsNotNull(col 8:timestamp)) predicate: (cboolean1 is not null and cdouble is not null and cint is not null and ctimestamp1 is not null) (type: boolean) - Statistics: Num rows: 2945 Data size: 152996 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 5112 Data size: 265564 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cdouble (type: double), cint (type: int), cboolean1 (type: boolean), ctimestamp1 (type: timestamp), CAST( cdouble AS decimal(20,10)) (type: decimal(20,10)), CAST( cint AS decimal(23,14)) (type: decimal(23,14)), CAST( cboolean1 AS decimal(5,2)) (type: decimal(5,2)), CAST( ctimestamp1 AS decimal(15,0)) (type: decimal(15,0)) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 @@ -38,7 +38,7 @@ STAGE PLANS: native: true projectedOutputColumnNums: [5, 2, 10, 8, 13, 14, 15, 16] selectExpressions: CastDoubleToDecimal(col 5:double) -> 13:decimal(20,10), CastLongToDecimal(col 2:int) -> 14:decimal(23,14), CastLongToDecimal(col 10:boolean) -> 15:decimal(5,2), CastTimestampToDecimal(col 8:timestamp) -> 16:decimal(15,0) - Statistics: Num rows: 2945 Data size: 1388804 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 5112 Data size: 2410700 Basic stats: COMPLETE Column stats: COMPLETE Limit Number of rows: 10 Limit Vectorization: http://git-wip-us.apache.org/repos/asf/hive/blob/fdb8a70c/ql/src/test/results/clientpositive/llap/vector_if_expr.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/llap/vector_if_expr.q.out b/ql/src/test/results/clientpositive/llap/vector_if_expr.q.out index fb5cdb5..d2edc1f 100644 --- a/ql/src/test/results/clientpositive/llap/vector_if_expr.q.out +++ b/ql/src/test/results/clientpositive/llap/vector_if_expr.q.out @@ -33,7 +33,7 @@ STAGE PLANS: native: true predicateExpression: FilterExprAndExpr(children: SelectColumnIsTrue(col 10:boolean), SelectColumnIsNotNull(col 10:boolean)) predicate: (cboolean1 and cboolean1 is not null) (type: boolean) - Statistics: Num rows: 3030 Data size: 9052 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 4587 Data size: 13704 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cboolean1 (type: boolean), if(cboolean1, 'first', 'second') (type: string) outputColumnNames: _col0, _col1 @@ -42,7 +42,7 @@ STAGE PLANS: native: true projectedOutputColumnNums: [10, 13] selectExpressions: IfExprStringScalarStringScalar(col 10:boolean, val first, val second) -> 13:string - Statistics: Num rows: 3030 Data size: 566572 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 4587 Data size: 857712 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: boolean) sort order: + @@ -50,7 +50,7 @@ STAGE PLANS: className: VectorReduceSinkObjectHashOperator native: true nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true - Statistics: Num rows: 3030 Data size: 566572 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 4587 Data size: 857712 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: string) Execution mode: vectorized, llap LLAP IO: all inputs @@ -79,13 +79,13 @@ STAGE PLANS: className: VectorSelectOperator native: true projectedOutputColumnNums: [0, 1] - Statistics: Num rows: 3030 Data size: 566572 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 4587 Data size: 857712 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false File Sink Vectorization: className: VectorFileSinkOperator native: false - Statistics: Num rows: 3030 Data size: 566572 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 4587 Data size: 857712 Basic stats: COMPLETE Column stats: COMPLETE table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat http://git-wip-us.apache.org/repos/asf/hive/blob/fdb8a70c/ql/src/test/results/clientpositive/llap/vector_mapjoin_reduce.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/llap/vector_mapjoin_reduce.q.out b/ql/src/test/results/clientpositive/llap/vector_mapjoin_reduce.q.out index 37821fb..09a53d0 100644 --- a/ql/src/test/results/clientpositive/llap/vector_mapjoin_reduce.q.out +++ b/ql/src/test/results/clientpositive/llap/vector_mapjoin_reduce.q.out @@ -403,7 +403,7 @@ STAGE PLANS: native: true predicateExpression: FilterExprAndExpr(children: FilterStringGroupColEqualStringScalar(col 14:string, val AIR), FilterLongColEqualLongScalar(col 3:int, val 1), SelectColumnIsNotNull(col 0:int)) predicate: ((l_linenumber = 1) and (l_shipmode = 'AIR') and l_orderkey is not null) (type: boolean) - Statistics: Num rows: 2 Data size: 192 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 14 Data size: 1344 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: l_orderkey (type: int), 1 (type: int) outputColumnNames: _col0, _col1 @@ -412,7 +412,7 @@ STAGE PLANS: native: true projectedOutputColumnNums: [0, 17] selectExpressions: ConstantVectorExpression(val 1) -> 17:int - Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 14 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator Group By Vectorization: className: VectorGroupByOperator @@ -424,7 +424,7 @@ STAGE PLANS: keys: _col0 (type: int), _col1 (type: int) mode: hash outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 4 Data size: 32 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: int), _col1 (type: int) sort order: ++ @@ -433,7 +433,7 @@ STAGE PLANS: className: VectorReduceSinkMultiKeyOperator native: true nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true - Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 4 Data size: 32 Basic stats: COMPLETE Column stats: COMPLETE Execution mode: vectorized, llap LLAP IO: no inputs Map Vectorization: @@ -494,7 +494,7 @@ STAGE PLANS: outputColumnNames: _col0, _col3 input vertices: 1 Map 4 - Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 7 Data size: 56 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int), _col3 (type: int) outputColumnNames: _col0, _col1 @@ -502,13 +502,13 @@ STAGE PLANS: className: VectorSelectOperator native: true projectedOutputColumnNums: [0, 2] - Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 7 Data size: 56 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false File Sink Vectorization: className: VectorFileSinkOperator native: false - Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 7 Data size: 56 Basic stats: COMPLETE Column stats: COMPLETE table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat http://git-wip-us.apache.org/repos/asf/hive/blob/fdb8a70c/ql/src/test/results/clientpositive/llap/vectorization_0.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/llap/vectorization_0.q.out b/ql/src/test/results/clientpositive/llap/vectorization_0.q.out index 4206569..c3d810e 100644 --- a/ql/src/test/results/clientpositive/llap/vectorization_0.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorization_0.q.out @@ -30622,17 +30622,17 @@ STAGE PLANS: Filter Operator isSamplingPred: false predicate: (((cint = 45) and (cfloat = 3.02)) or ((cint = 47) and (cfloat = 2.09)) or ((cint = 49) and (cfloat = 3.5))) (type: boolean) - Statistics: Num rows: 1 Data size: 310 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 6 Data size: 1630 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11 - Statistics: Num rows: 1 Data size: 310 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 6 Data size: 1630 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 310 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 6 Data size: 1630 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -30856,17 +30856,17 @@ STAGE PLANS: Filter Operator isSamplingPred: false predicate: (((cint = 45) or (cfloat = 3.02)) and ((cint = 47) or (cfloat = 2.09)) and ((cint = 49) or (cfloat = 3.5))) (type: boolean) - Statistics: Num rows: 1 Data size: 310 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 27 Data size: 6990 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11 - Statistics: Num rows: 1 Data size: 310 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 27 Data size: 6990 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 310 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 27 Data size: 6990 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat http://git-wip-us.apache.org/repos/asf/hive/blob/fdb8a70c/ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out b/ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out index a6a0371..7362b04 100644 --- a/ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out @@ -617,7 +617,7 @@ STAGE PLANS: native: true predicateExpression: FilterExprOrExpr(children: FilterTimestampColEqualTimestampColumn(col 8:timestamp, col 9:timestamp), FilterDoubleColEqualDoubleScalar(col 4:float, val 762.0), FilterStringGroupColEqualStringScalar(col 6:string, val ss), FilterExprAndExpr(children: FilterLongColLessEqualLongColumn(col 1:bigint, col 3:bigint)(children: col 1:smallint), FilterLongColEqualLongScalar(col 11:boolean, val 1)), FilterExprAndExpr(children: SelectColumnIsNotNull(col 10:boolean), SelectColumnIsNotNull(col 9:timestamp), FilterStringGroupColGreaterStringScalar(col 7:string, val a))) predicate: (((UDFToLong(csmallint) <= cbigint) and (cboolean2 = 1)) or (cboolean1 is not null and ctimestamp2 is not null and (cstring2 > 'a')) or (cfloat = 762) or (cstring1 = 'ss') or (ctimestamp1 = ctimestamp2)) (type: boolean) - Statistics: Num rows: 11346 Data size: 2856120 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cbigint (type: bigint), ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cdouble (type: double), UDFToDouble(cbigint) (type: double), (UDFToDouble(cbigint) * UDFToDouble(cbigint)) (type: double), UDFToDouble(csmallint) (type: double), (UDFToDouble(csmallint) * UDFToDouble(csmallint)) (type: double), (cdouble * cdouble) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9 @@ -626,7 +626,7 @@ STAGE PLANS: native: true projectedOutputColumnNums: [3, 0, 1, 2, 5, 13, 16, 14, 18, 15] selectExpressions: CastLongToDouble(col 3:bigint) -> 13:double, DoubleColMultiplyDoubleColumn(col 14:double, col 15:double)(children: CastLongToDouble(col 3:bigint) -> 14:double, CastLongToDouble(col 3:bigint) -> 15:double) -> 16:double, CastLongToDouble(col 1:smallint) -> 14:double, DoubleColMultiplyDoubleColumn(col 15:double, col 17:double)(children: CastLongToDouble(col 1:smallint) -> 15:double, CastLongToDouble(col 1:smallint) -> 17:double) -> 18:double, DoubleColMultiplyDoubleColumn(col 5:double, col 5:double) -> 15:double - Statistics: Num rows: 11346 Data size: 2856120 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: sum(_col6), sum(_col5), count(_col0), count(), max(_col1), sum(_col8), sum(_col7), count(_col2), max(_col3), sum(_col9), sum(_col4), count(_col4), count(_col1), sum(_col1) Group By Vectorization: @@ -3184,7 +3184,7 @@ STAGE PLANS: native: true predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 1:smallint) -> 13:double), FilterLongColEqualLongColumn(col 11:boolean, col 10:boolean), FilterDecimalColLessEqualDecimalScalar(col 14:decimal(22,3), val -863.257)(children: CastLongToDecimal(col 3:bigint) -> 14:decimal(22,3))), FilterExprAndExpr(children: FilterLongColGreaterEqualLongScalar(col 2:int, val -257), SelectColumnIsNotNull(col 6:string), FilterLongColGreaterEqualLongScalar(col 10:boolean, val 1)), FilterStringColRegExpStringScalar(col 7:string, pattern b), FilterExprAndExpr(children: FilterLongColGreaterEqualLongColumn(col 1:smallint, col 0:smallint)(children: col 0:tinyint), SelectColumnIsNull(col 9:timestamp))), SelectColumnIsNotNull(col 10:boolean)) predicate: ((((cdouble < UDFToDouble(csmallint)) and (cboolean2 = cboolean1) and (CAST( cbigint AS decimal(22,3)) <= -863.257)) or ((cint >= -257) and cstring1 is not null and (cboolean1 >= 1)) or cstring2 regexp 'b' or ((csmallint >= UDFToShort(ctinyint)) and ctimestamp2 is null)) and cboolean1 is not null) (type: boolean) - Statistics: Num rows: 7153 Data size: 1514550 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 7845 Data size: 1661020 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cboolean1 (type: boolean), cfloat (type: float), cbigint (type: bigint), cint (type: int), cdouble (type: double), ctinyint (type: tinyint), csmallint (type: smallint), UDFToDouble(cint) (type: double), (UDFToDouble(cint) * UDFToDouble(cint)) (type: double), UDFToDouble(cbigint) (type: double), (UDFToDouble(cbigint) * UDFToDouble(cbigint)) (type: double), UDFToDouble(ctinyint) (type: double), (UDFToDouble(ctinyint) * UDFToDouble(ctinyint)) (type: double), UDFToDouble(csmallint) (type: double), (UDFToDouble(csmallint) * UDFToDouble(csmallint)) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14 @@ -3193,7 +3193,7 @@ STAGE PLANS: native: true projectedOutputColumnNums: [10, 4, 3, 2, 5, 0, 1, 13, 17, 15, 19, 16, 21, 18, 23] selectExpressions: CastLongToDouble(col 2:int) -> 13:double, DoubleColMultiplyDoubleColumn(col 15:double, col 16:double)(children: CastLongToDouble(col 2:int) -> 15:double, CastLongToDouble(col 2:int) -> 16:double) -> 17:double, CastLongToDouble(col 3:bigint) -> 15:double, DoubleColMultiplyDoubleColumn(col 16:double, col 18:double)(children: CastLongToDouble(col 3:bigint) -> 16:double, CastLongToDouble(col 3:bigint) -> 18:double) -> 19:double, CastLongToDouble(col 0:tinyint) -> 16:double, DoubleColMultiplyDoubleColumn(col 18:double, col 20:double)(children: CastLongToDouble(col 0:tinyint) -> 18:double, CastLongToDouble(col 0:tinyint) -> 20:double) -> 21:double, CastLongToDouble(col 1:smallint) -> 18:double, DoubleColMultiplyDoubleColumn(col 20:double, col 22:double)(children: CastLongToDouble(col 1:smallint) -> 20:double, CastLongToDouble(col 1:smallint) -> 22:double) -> 23:double - Statistics: Num rows: 7153 Data size: 1514550 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 7845 Data size: 1661020 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: max(_col1), sum(_col2), sum(_col8), sum(_col7), count(_col3), sum(_col4), count(_col4), min(_col2), sum(_col10), sum(_col9), count(_col2), sum(_col3), sum(_col12), sum(_col11), count(_col5), sum(_col14), sum(_col13), count(_col6) Group By Vectorization: http://git-wip-us.apache.org/repos/asf/hive/blob/fdb8a70c/ql/src/test/results/clientpositive/llap/vectorized_nested_mapjoin.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/llap/vectorized_nested_mapjoin.q.out b/ql/src/test/results/clientpositive/llap/vectorized_nested_mapjoin.q.out index 80e1cab..a2ca7f8 100644 --- a/ql/src/test/results/clientpositive/llap/vectorized_nested_mapjoin.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorized_nested_mapjoin.q.out @@ -40,11 +40,11 @@ STAGE PLANS: outputColumnNames: _col2, _col3 input vertices: 1 Map 3 - Statistics: Num rows: 585044 Data size: 7002120 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 661228 Data size: 7913928 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col2 (type: smallint), _col3 (type: double) outputColumnNames: _col0, _col1 - Statistics: Num rows: 585044 Data size: 7002120 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 661228 Data size: 7913928 Basic stats: COMPLETE Column stats: COMPLETE Map Join Operator condition map: Inner Join 0 to 1 @@ -54,7 +54,7 @@ STAGE PLANS: outputColumnNames: _col1 input vertices: 1 Map 4 - Statistics: Num rows: 1284939 Data size: 10267240 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 1452263 Data size: 11604232 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: sum(_col1) mode: hash @@ -82,16 +82,16 @@ STAGE PLANS: Statistics: Num rows: 12288 Data size: 146796 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (csmallint is not null and ctinyint is not null) (type: boolean) - Statistics: Num rows: 6059 Data size: 72396 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 6848 Data size: 81820 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ctinyint (type: tinyint), csmallint (type: smallint), cdouble (type: double) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 6059 Data size: 72396 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 6848 Data size: 81820 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: tinyint) sort order: + Map-reduce partition columns: _col0 (type: tinyint) - Statistics: Num rows: 6059 Data size: 72396 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 6848 Data size: 81820 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: smallint), _col2 (type: double) Execution mode: vectorized, llap LLAP IO: all inputs http://git-wip-us.apache.org/repos/asf/hive/blob/fdb8a70c/ql/src/test/results/clientpositive/spark/spark_explainuser_1.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/spark/spark_explainuser_1.q.out b/ql/src/test/results/clientpositive/spark/spark_explainuser_1.q.out index a47f51d..bdf9857 100644 --- a/ql/src/test/results/clientpositive/spark/spark_explainuser_1.q.out +++ b/ql/src/test/results/clientpositive/spark/spark_explainuser_1.q.out @@ -387,25 +387,25 @@ Stage-0 <-Map 5 [GROUP] GROUP [RS_7] PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_6] (rows=1 width=101) + Group By Operator [GBY_6] (rows=2 width=101) Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float - Filter Operator [FIL_33] (rows=4 width=93) + Filter Operator [FIL_33] (rows=5 width=93) predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and key is not null) TableScan [TS_3] (rows=20 width=88) default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] <-Reducer 8 [PARTITION-LEVEL SORT] PARTITION-LEVEL SORT [RS_19] PartitionCols:_col0 - Select Operator [SEL_16] (rows=1 width=89) + Select Operator [SEL_16] (rows=2 width=89) Output:["_col0","_col1"] - Group By Operator [GBY_15] (rows=1 width=93) + Group By Operator [GBY_15] (rows=2 width=93) Output:["_col0","_col1","_col2"],keys:KEY._col0, KEY._col1, KEY._col2 <-Map 7 [GROUP] GROUP [RS_14] PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_13] (rows=1 width=93) + Group By Operator [GBY_13] (rows=2 width=93) Output:["_col0","_col1","_col2"],keys:key, c_int, c_float - Filter Operator [FIL_34] (rows=4 width=93) + Filter Operator [FIL_34] (rows=5 width=93) predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and key is not null) TableScan [TS_10] (rows=20 width=88) default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] @@ -1093,27 +1093,27 @@ Stage-0 Stage-1 Reducer 2 File Output Operator [FS_16] - Select Operator [SEL_15] (rows=48 width=101) + Select Operator [SEL_15] (rows=40 width=101) Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_13] (rows=48 width=101) + Filter Operator [FIL_13] (rows=40 width=101) predicate:(((_col1 + _col4) = 2) and ((_col1 > 0) or (_col6 >= 0))) - Join Operator [JOIN_12] (rows=96 width=100) + Join Operator [JOIN_12] (rows=81 width=100) Output:["_col1","_col2","_col3","_col4","_col6"],condition map:[{"":"{\"type\":\"Inner\",\"left\":0,\"right\":1}"},{"":"{\"type\":\"Inner\",\"left\":0,\"right\":2}"}],keys:{"0":"_col0","1":"_col0","2":"_col0"} <-Map 1 [PARTITION-LEVEL SORT] PARTITION-LEVEL SORT [RS_9] PartitionCols:_col0 - Select Operator [SEL_2] (rows=8 width=93) + Select Operator [SEL_2] (rows=9 width=93) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_17] (rows=8 width=93) + Filter Operator [FIL_17] (rows=9 width=93) predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0)) and key is not null) TableScan [TS_0] (rows=20 width=88) default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] <-Map 3 [PARTITION-LEVEL SORT] PARTITION-LEVEL SORT [RS_10] PartitionCols:_col0 - Select Operator [SEL_5] (rows=8 width=89) + Select Operator [SEL_5] (rows=9 width=89) Output:["_col0","_col1"] - Filter Operator [FIL_18] (rows=8 width=93) + Filter Operator [FIL_18] (rows=9 width=93) predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0)) and key is not null) TableScan [TS_3] (rows=20 width=88) default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] @@ -1142,27 +1142,27 @@ Stage-0 Stage-1 Reducer 2 File Output Operator [FS_16] - Select Operator [SEL_15] (rows=48 width=101) + Select Operator [SEL_15] (rows=40 width=101) Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_13] (rows=48 width=101) + Filter Operator [FIL_13] (rows=40 width=101) predicate:(((_col1 + _col4) = 2) and ((_col1 > 0) or (_col6 >= 0))) - Join Operator [JOIN_12] (rows=96 width=100) + Join Operator [JOIN_12] (rows=81 width=100) Output:["_col1","_col2","_col3","_col4","_col6"],condition map:[{"":"{\"type\":\"Inner\",\"left\":0,\"right\":1}"},{"":"{\"type\":\"Inner\",\"left\":0,\"right\":2}"}],keys:{"0":"_col0","1":"_col0","2":"_col0"} <-Map 1 [PARTITION-LEVEL SORT] PARTITION-LEVEL SORT [RS_9] PartitionCols:_col0 - Select Operator [SEL_2] (rows=8 width=93) + Select Operator [SEL_2] (rows=9 width=93) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_17] (rows=8 width=93) + Filter Operator [FIL_17] (rows=9 width=93) predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0)) and key is not null) TableScan [TS_0] (rows=20 width=88) default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] <-Map 3 [PARTITION-LEVEL SORT] PARTITION-LEVEL SORT [RS_10] PartitionCols:_col0 - Select Operator [SEL_5] (rows=8 width=89) + Select Operator [SEL_5] (rows=9 width=89) Output:["_col0","_col1"] - Filter Operator [FIL_18] (rows=8 width=93) + Filter Operator [FIL_18] (rows=9 width=93) predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0)) and key is not null) TableScan [TS_3] (rows=20 width=88) default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] @@ -1427,16 +1427,16 @@ Stage-0 Stage-1 Reducer 2 File Output Operator [FS_12] - Select Operator [SEL_11] (rows=8 width=4) + Select Operator [SEL_11] (rows=9 width=4) Output:["_col0"] - Join Operator [JOIN_10] (rows=8 width=4) + Join Operator [JOIN_10] (rows=9 width=4) Output:["_col1"],condition map:[{"":"{\"type\":\"Left Semi\",\"left\":0,\"right\":1}"}],keys:{"0":"_col0","1":"_col0"} <-Map 1 [PARTITION-LEVEL SORT] PARTITION-LEVEL SORT [RS_8] PartitionCols:_col0 - Select Operator [SEL_2] (rows=8 width=93) + Select Operator [SEL_2] (rows=9 width=93) Output:["_col0","_col1"] - Filter Operator [FIL_13] (rows=8 width=93) + Filter Operator [FIL_13] (rows=9 width=93) predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0)) and key is not null) TableScan [TS_0] (rows=20 width=88) default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] @@ -1474,20 +1474,20 @@ Stage-0 <-Map 1 [PARTITION-LEVEL SORT] PARTITION-LEVEL SORT [RS_13] PartitionCols:_col0 - Select Operator [SEL_2] (rows=8 width=93) + Select Operator [SEL_2] (rows=9 width=93) Output:["_col0","_col1","_col2"] - Filter Operator [FIL_19] (rows=8 width=93) + Filter Operator [FIL_19] (rows=9 width=93) predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0)) and key is not null) TableScan [TS_0] (rows=20 width=88) default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] <-Map 3 [PARTITION-LEVEL SORT] PARTITION-LEVEL SORT [RS_14] PartitionCols:_col0 - Group By Operator [GBY_10] (rows=3 width=85) + Group By Operator [GBY_10] (rows=4 width=85) Output:["_col0"],keys:_col0 - Select Operator [SEL_5] (rows=8 width=85) + Select Operator [SEL_5] (rows=9 width=85) Output:["_col0"] - Filter Operator [FIL_20] (rows=8 width=93) + Filter Operator [FIL_20] (rows=9 width=93) predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0)) and key is not null) TableScan [TS_3] (rows=20 width=88) default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] @@ -1974,18 +1974,18 @@ Stage-0 Stage-1 Reducer 4 File Output Operator [FS_22] - Select Operator [SEL_21] (rows=3 width=8) + Select Operator [SEL_21] (rows=7 width=8) Output:["_col0","_col1"] - Join Operator [JOIN_20] (rows=3 width=8) + Join Operator [JOIN_20] (rows=7 width=8) Output:["_col0","_col3"],condition map:[{"":"{\"type\":\"Left Semi\",\"left\":0,\"right\":1}"}],keys:{"0":"_col1, _col4","1":"_col0, _col1"} <-Map 6 [PARTITION-LEVEL SORT] PARTITION-LEVEL SORT [RS_19] PartitionCols:_col0, _col1 - Group By Operator [GBY_17] (rows=1 width=8) + Group By Operator [GBY_17] (rows=4 width=8) Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_12] (rows=2 width=8) + Select Operator [SEL_12] (rows=14 width=8) Output:["_col0","_col1"] - Filter Operator [FIL_25] (rows=2 width=96) + Filter Operator [FIL_25] (rows=14 width=96) predicate:((l_linenumber = 1) and (l_shipmode = 'AIR') and l_orderkey is not null) TableScan [TS_10] (rows=100 width=96) default@lineitem,lineitem,Tbl:COMPLETE,Col:COMPLETE,Output:["l_orderkey","l_linenumber","l_shipmode"]