You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by se...@apache.org on 2017/10/13 00:07:09 UTC
[18/23] hive git commit: HIVE-17726: Using exists may lead to
incorrect results (Vineet Garg, reviewed by Ashutosh Chauhan)
http://git-wip-us.apache.org/repos/asf/hive/blob/9375cf3c/ql/src/test/results/clientpositive/perf/tez/query94.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query94.q.out b/ql/src/test/results/clientpositive/perf/tez/query94.q.out
index 8a9e5ca..7674aa7 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query94.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query94.q.out
@@ -1,3 +1,4 @@
+Warning: Shuffle Join MERGEJOIN[113][tables = [$hdt$_2, $hdt$_3, $hdt$_1, $hdt$_4]] in Stage 'Reducer 18' is a cross product
PREHOOK: query: explain
select
count(distinct ws_order_number) as `order count`
@@ -57,132 +58,180 @@ POSTHOOK: type: QUERY
Plan optimized by CBO.
Vertex dependency in root stage
-Reducer 13 <- Map 12 (SIMPLE_EDGE)
-Reducer 15 <- Map 14 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 9 (SIMPLE_EDGE)
-Reducer 3 <- Map 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Reducer 13 (ONE_TO_ONE_EDGE), Reducer 15 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
-Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
-Reducer 7 <- Reducer 6 (CUSTOM_SIMPLE_EDGE)
-Reducer 8 <- Reducer 7 (SIMPLE_EDGE)
+Reducer 14 <- Map 13 (SIMPLE_EDGE)
+Reducer 16 <- Map 15 (SIMPLE_EDGE), Reducer 19 (SIMPLE_EDGE)
+Reducer 17 <- Reducer 16 (SIMPLE_EDGE)
+Reducer 18 <- Map 15 (CUSTOM_SIMPLE_EDGE), Map 20 (CUSTOM_SIMPLE_EDGE), Map 21 (CUSTOM_SIMPLE_EDGE), Map 22 (CUSTOM_SIMPLE_EDGE)
+Reducer 19 <- Reducer 18 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 10 (SIMPLE_EDGE)
+Reducer 3 <- Map 11 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 12 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Reducer 14 (ONE_TO_ONE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 6 <- Reducer 17 (ONE_TO_ONE_EDGE), Reducer 5 (SIMPLE_EDGE)
+Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
+Reducer 8 <- Reducer 7 (CUSTOM_SIMPLE_EDGE)
+Reducer 9 <- Reducer 8 (SIMPLE_EDGE)
Stage-0
Fetch Operator
limit:-1
Stage-1
- Reducer 8
- File Output Operator [FS_50]
- Limit [LIM_48] (rows=1 width=344)
+ Reducer 9
+ File Output Operator [FS_74]
+ Limit [LIM_72] (rows=1 width=344)
Number of rows:100
- Select Operator [SEL_47] (rows=1 width=344)
+ Select Operator [SEL_71] (rows=1 width=344)
Output:["_col0","_col1","_col2"]
- <-Reducer 7 [SIMPLE_EDGE]
- SHUFFLE [RS_46]
- Select Operator [SEL_45] (rows=1 width=344)
+ <-Reducer 8 [SIMPLE_EDGE]
+ SHUFFLE [RS_70]
+ Select Operator [SEL_69] (rows=1 width=344)
Output:["_col1","_col2","_col3"]
- Group By Operator [GBY_78] (rows=1 width=344)
+ Group By Operator [GBY_112] (rows=1 width=344)
Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"]
- <-Reducer 6 [CUSTOM_SIMPLE_EDGE]
- PARTITION_ONLY_SHUFFLE [RS_77]
- Group By Operator [GBY_76] (rows=1 width=344)
+ <-Reducer 7 [CUSTOM_SIMPLE_EDGE]
+ PARTITION_ONLY_SHUFFLE [RS_111]
+ Group By Operator [GBY_110] (rows=1 width=344)
Output:["_col0","_col1","_col2"],aggregations:["count(_col0)","sum(_col1)","sum(_col2)"]
- Group By Operator [GBY_75] (rows=210834322 width=135)
+ Group By Operator [GBY_109] (rows=1395035081047425024 width=1)
Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0
- <-Reducer 5 [SIMPLE_EDGE]
- SHUFFLE [RS_74]
+ <-Reducer 6 [SIMPLE_EDGE]
+ SHUFFLE [RS_108]
PartitionCols:_col0
- Group By Operator [GBY_73] (rows=210834322 width=135)
+ Group By Operator [GBY_107] (rows=1395035081047425024 width=1)
Output:["_col0","_col2","_col3"],aggregations:["sum(_col5)","sum(_col6)"],keys:_col4
- Select Operator [SEL_41] (rows=210834322 width=135)
+ Select Operator [SEL_65] (rows=1395035081047425024 width=1)
Output:["_col4","_col5","_col6"]
- Filter Operator [FIL_40] (rows=210834322 width=135)
+ Filter Operator [FIL_64] (rows=1395035081047425024 width=1)
predicate:_col16 is null
- Select Operator [SEL_39] (rows=421668645 width=135)
+ Select Operator [SEL_63] (rows=2790070162094850048 width=1)
Output:["_col4","_col5","_col6","_col16"]
- Merge Join Operator [MERGEJOIN_82] (rows=421668645 width=135)
- Conds:RS_35._col4=RS_36._col0(Left Outer),RS_35._col4=RS_37._col1(Inner),Output:["_col3","_col4","_col5","_col6","_col14","_col15"],residual filter predicates:{(_col3 <> _col15)}
- <-Reducer 13 [ONE_TO_ONE_EDGE]
- FORWARD [RS_36]
- PartitionCols:_col0
- Select Operator [SEL_18] (rows=7199233 width=92)
- Output:["_col0","_col1"]
- Group By Operator [GBY_17] (rows=7199233 width=92)
- Output:["_col0"],keys:KEY._col0
- <-Map 12 [SIMPLE_EDGE]
- SHUFFLE [RS_16]
- PartitionCols:_col0
- Group By Operator [GBY_15] (rows=14398467 width=92)
- Output:["_col0"],keys:wr_order_number
- Filter Operator [FIL_71] (rows=14398467 width=92)
- predicate:wr_order_number is not null
- TableScan [TS_12] (rows=14398467 width=92)
- default@web_returns,wr1,Tbl:COMPLETE,Col:NONE,Output:["wr_order_number"]
- <-Reducer 15 [SIMPLE_EDGE]
- SHUFFLE [RS_37]
- PartitionCols:_col1
- Select Operator [SEL_25] (rows=72001334 width=135)
- Output:["_col0","_col1"]
- Group By Operator [GBY_24] (rows=72001334 width=135)
- Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
- <-Map 14 [SIMPLE_EDGE]
- SHUFFLE [RS_23]
- PartitionCols:_col0, _col1
- Group By Operator [GBY_22] (rows=144002668 width=135)
- Output:["_col0","_col1"],keys:ws_order_number, ws_warehouse_sk
- Filter Operator [FIL_72] (rows=144002668 width=135)
- predicate:(ws_order_number is not null and ws_warehouse_sk is not null)
- TableScan [TS_19] (rows=144002668 width=135)
- default@web_sales,ws2,Tbl:COMPLETE,Col:NONE,Output:["ws_warehouse_sk","ws_order_number"]
- <-Reducer 4 [SIMPLE_EDGE]
- SHUFFLE [RS_35]
- PartitionCols:_col4
- Merge Join Operator [MERGEJOIN_81] (rows=191667562 width=135)
- Conds:RS_32._col2=RS_33._col0(Inner),Output:["_col3","_col4","_col5","_col6"]
- <-Map 11 [SIMPLE_EDGE]
- SHUFFLE [RS_33]
+ Merge Join Operator [MERGEJOIN_119] (rows=2790070162094850048 width=1)
+ Conds:RS_60._col3, _col4=RS_61._col0, _col1(Inner),Output:["_col4","_col5","_col6","_col14"]
+ <-Reducer 17 [ONE_TO_ONE_EDGE]
+ FORWARD [RS_61]
+ PartitionCols:_col0, _col1
+ Group By Operator [GBY_46] (rows=2536427365110644736 width=1)
+ Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
+ <-Reducer 16 [SIMPLE_EDGE]
+ SHUFFLE [RS_45]
+ PartitionCols:_col0, _col1
+ Group By Operator [GBY_44] (rows=5072854730221289472 width=1)
+ Output:["_col0","_col1"],keys:_col2, _col3
+ Select Operator [SEL_43] (rows=5072854730221289472 width=1)
+ Output:["_col2","_col3"]
+ Filter Operator [FIL_42] (rows=5072854730221289472 width=1)
+ predicate:(_col2 <> _col0)
+ Merge Join Operator [MERGEJOIN_117] (rows=5072854730221289472 width=1)
+ Conds:RS_39._col1=RS_40._col1(Inner),Output:["_col0","_col2","_col3"]
+ <-Map 15 [SIMPLE_EDGE]
+ PARTITION_ONLY_SHUFFLE [RS_39]
+ PartitionCols:_col1
+ Select Operator [SEL_20] (rows=144002668 width=135)
+ Output:["_col0","_col1"]
+ TableScan [TS_19] (rows=144002668 width=135)
+ default@web_sales,ws2,Tbl:COMPLETE,Col:NONE,Output:["ws_warehouse_sk","ws_order_number"]
+ <-Reducer 19 [SIMPLE_EDGE]
+ SHUFFLE [RS_40]
+ PartitionCols:_col1
+ Select Operator [SEL_38] (rows=4611686018427387903 width=1)
+ Output:["_col0","_col1"]
+ Group By Operator [GBY_37] (rows=4611686018427387903 width=1)
+ Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
+ <-Reducer 18 [SIMPLE_EDGE]
+ SHUFFLE [RS_36]
+ PartitionCols:_col0, _col1
+ Group By Operator [GBY_35] (rows=9223372036854775807 width=1)
+ Output:["_col0","_col1"],keys:_col4, _col3
+ Merge Join Operator [MERGEJOIN_113] (rows=9223372036854775807 width=1)
+ Conds:(Inner),(Inner),(Inner),Output:["_col3","_col4"]
+ <-Map 15 [CUSTOM_SIMPLE_EDGE]
+ PARTITION_ONLY_SHUFFLE [RS_32]
+ Please refer to the previous Select Operator [SEL_20]
+ <-Map 20 [CUSTOM_SIMPLE_EDGE]
+ PARTITION_ONLY_SHUFFLE [RS_29]
+ Select Operator [SEL_22] (rows=73049 width=4)
+ TableScan [TS_21] (rows=73049 width=1119)
+ default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE
+ <-Map 21 [CUSTOM_SIMPLE_EDGE]
+ PARTITION_ONLY_SHUFFLE [RS_30]
+ Select Operator [SEL_24] (rows=84 width=4)
+ TableScan [TS_23] (rows=84 width=1850)
+ default@web_site,web_site,Tbl:COMPLETE,Col:COMPLETE
+ <-Map 22 [CUSTOM_SIMPLE_EDGE]
+ PARTITION_ONLY_SHUFFLE [RS_31]
+ Select Operator [SEL_26] (rows=40000000 width=4)
+ TableScan [TS_25] (rows=40000000 width=1014)
+ default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE
+ <-Reducer 5 [SIMPLE_EDGE]
+ SHUFFLE [RS_60]
+ PartitionCols:_col3, _col4
+ Merge Join Operator [MERGEJOIN_118] (rows=210834322 width=135)
+ Conds:RS_57._col4=RS_58._col0(Left Outer),Output:["_col3","_col4","_col5","_col6","_col14"]
+ <-Reducer 14 [ONE_TO_ONE_EDGE]
+ FORWARD [RS_58]
PartitionCols:_col0
- Select Operator [SEL_11] (rows=42 width=1850)
- Output:["_col0"]
- Filter Operator [FIL_70] (rows=42 width=1850)
- predicate:((web_company_name = 'pri') and web_site_sk is not null)
- TableScan [TS_9] (rows=84 width=1850)
- default@web_site,web_site,Tbl:COMPLETE,Col:NONE,Output:["web_site_sk","web_company_name"]
- <-Reducer 3 [SIMPLE_EDGE]
- SHUFFLE [RS_32]
- PartitionCols:_col2
- Merge Join Operator [MERGEJOIN_80] (rows=174243235 width=135)
- Conds:RS_29._col1=RS_30._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6"]
- <-Map 10 [SIMPLE_EDGE]
- SHUFFLE [RS_30]
+ Select Operator [SEL_18] (rows=7199233 width=92)
+ Output:["_col0","_col1"]
+ Group By Operator [GBY_17] (rows=7199233 width=92)
+ Output:["_col0"],keys:KEY._col0
+ <-Map 13 [SIMPLE_EDGE]
+ SHUFFLE [RS_16]
+ PartitionCols:_col0
+ Group By Operator [GBY_15] (rows=14398467 width=92)
+ Output:["_col0"],keys:wr_order_number
+ Filter Operator [FIL_104] (rows=14398467 width=92)
+ predicate:wr_order_number is not null
+ TableScan [TS_12] (rows=14398467 width=92)
+ default@web_returns,wr1,Tbl:COMPLETE,Col:NONE,Output:["wr_order_number"]
+ <-Reducer 4 [SIMPLE_EDGE]
+ SHUFFLE [RS_57]
+ PartitionCols:_col4
+ Merge Join Operator [MERGEJOIN_116] (rows=191667562 width=135)
+ Conds:RS_54._col2=RS_55._col0(Inner),Output:["_col3","_col4","_col5","_col6"]
+ <-Map 12 [SIMPLE_EDGE]
+ SHUFFLE [RS_55]
PartitionCols:_col0
- Select Operator [SEL_8] (rows=20000000 width=1014)
+ Select Operator [SEL_11] (rows=42 width=1850)
Output:["_col0"]
- Filter Operator [FIL_69] (rows=20000000 width=1014)
- predicate:((ca_state = 'TX') and ca_address_sk is not null)
- TableScan [TS_6] (rows=40000000 width=1014)
- default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_state"]
- <-Reducer 2 [SIMPLE_EDGE]
- SHUFFLE [RS_29]
- PartitionCols:_col1
- Merge Join Operator [MERGEJOIN_79] (rows=158402938 width=135)
- Conds:RS_26._col0=RS_27._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6"]
- <-Map 1 [SIMPLE_EDGE]
- SHUFFLE [RS_26]
+ Filter Operator [FIL_103] (rows=42 width=1850)
+ predicate:((web_company_name = 'pri') and web_site_sk is not null)
+ TableScan [TS_9] (rows=84 width=1850)
+ default@web_site,web_site,Tbl:COMPLETE,Col:NONE,Output:["web_site_sk","web_company_name"]
+ <-Reducer 3 [SIMPLE_EDGE]
+ SHUFFLE [RS_54]
+ PartitionCols:_col2
+ Merge Join Operator [MERGEJOIN_115] (rows=174243235 width=135)
+ Conds:RS_51._col1=RS_52._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6"]
+ <-Map 11 [SIMPLE_EDGE]
+ SHUFFLE [RS_52]
PartitionCols:_col0
- Select Operator [SEL_2] (rows=144002668 width=135)
- Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
- Filter Operator [FIL_67] (rows=144002668 width=135)
- predicate:(ws_ship_addr_sk is not null and ws_ship_date_sk is not null and ws_web_site_sk is not null)
- TableScan [TS_0] (rows=144002668 width=135)
- default@web_sales,ws1,Tbl:COMPLETE,Col:NONE,Output:["ws_ship_date_sk","ws_ship_addr_sk","ws_web_site_sk","ws_warehouse_sk","ws_order_number","ws_ext_ship_cost","ws_net_profit"]
- <-Map 9 [SIMPLE_EDGE]
- SHUFFLE [RS_27]
- PartitionCols:_col0
- Select Operator [SEL_5] (rows=8116 width=1119)
+ Select Operator [SEL_8] (rows=20000000 width=1014)
Output:["_col0"]
- Filter Operator [FIL_68] (rows=8116 width=1119)
- predicate:(CAST( d_date AS TIMESTAMP) BETWEEN 1999-05-01 00:00:00.0 AND 1999-06-30 00:00:00.0 and d_date_sk is not null)
- TableScan [TS_3] (rows=73049 width=1119)
- default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]
+ Filter Operator [FIL_102] (rows=20000000 width=1014)
+ predicate:((ca_state = 'TX') and ca_address_sk is not null)
+ TableScan [TS_6] (rows=40000000 width=1014)
+ default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_state"]
+ <-Reducer 2 [SIMPLE_EDGE]
+ SHUFFLE [RS_51]
+ PartitionCols:_col1
+ Merge Join Operator [MERGEJOIN_114] (rows=158402938 width=135)
+ Conds:RS_48._col0=RS_49._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6"]
+ <-Map 1 [SIMPLE_EDGE]
+ SHUFFLE [RS_48]
+ PartitionCols:_col0
+ Select Operator [SEL_2] (rows=144002668 width=135)
+ Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
+ Filter Operator [FIL_100] (rows=144002668 width=135)
+ predicate:(ws_ship_addr_sk is not null and ws_ship_date_sk is not null and ws_web_site_sk is not null)
+ TableScan [TS_0] (rows=144002668 width=135)
+ default@web_sales,ws1,Tbl:COMPLETE,Col:NONE,Output:["ws_ship_date_sk","ws_ship_addr_sk","ws_web_site_sk","ws_warehouse_sk","ws_order_number","ws_ext_ship_cost","ws_net_profit"]
+ <-Map 10 [SIMPLE_EDGE]
+ SHUFFLE [RS_49]
+ PartitionCols:_col0
+ Select Operator [SEL_5] (rows=8116 width=1119)
+ Output:["_col0"]
+ Filter Operator [FIL_101] (rows=8116 width=1119)
+ predicate:(CAST( d_date AS TIMESTAMP) BETWEEN 1999-05-01 00:00:00.0 AND 1999-06-30 00:00:00.0 and d_date_sk is not null)
+ TableScan [TS_3] (rows=73049 width=1119)
+ default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]
http://git-wip-us.apache.org/repos/asf/hive/blob/9375cf3c/ql/src/test/results/clientpositive/spark/constprog_partitioner.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/constprog_partitioner.q.out b/ql/src/test/results/clientpositive/spark/constprog_partitioner.q.out
index 5b57036..b89f9f5 100644
--- a/ql/src/test/results/clientpositive/spark/constprog_partitioner.q.out
+++ b/ql/src/test/results/clientpositive/spark/constprog_partitioner.q.out
@@ -122,22 +122,22 @@ STAGE PLANS:
alias: lineitem
Statistics: Num rows: 100 Data size: 11999 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((l_shipmode = 'AIR') and l_linenumber is not null) (type: boolean)
- Statistics: Num rows: 50 Data size: 5999 Basic stats: COMPLETE Column stats: NONE
+ predicate: ((l_linenumber = l_linenumber) and (l_shipmode = 'AIR')) (type: boolean)
+ Statistics: Num rows: 25 Data size: 2999 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: l_orderkey (type: int), l_linenumber (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 50 Data size: 5999 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 25 Data size: 2999 Basic stats: COMPLETE Column stats: NONE
Group By Operator
keys: _col0 (type: int), _col1 (type: int)
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 50 Data size: 5999 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 25 Data size: 2999 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: 50 Data size: 5999 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 25 Data size: 2999 Basic stats: COMPLETE Column stats: NONE
Reducer 2
Reduce Operator Tree:
Join Operator
http://git-wip-us.apache.org/repos/asf/hive/blob/9375cf3c/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 8ae9080..76c74d9 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
@@ -1693,11 +1693,11 @@ Stage-0
Stage-1
Reducer 2
File Output Operator [FS_19]
- Select Operator [SEL_18] (rows=366 width=178)
+ Select Operator [SEL_18] (rows=434 width=178)
Output:["_col0","_col1"]
- Filter Operator [FIL_17] (rows=366 width=179)
+ Filter Operator [FIL_17] (rows=434 width=178)
predicate:_col3 is null
- Join Operator [JOIN_16] (rows=500 width=179)
+ Join Operator [JOIN_16] (rows=500 width=178)
Output:["_col0","_col1","_col3"],condition map:[{"":"{\"type\":\"Left Outer\",\"left\":0,\"right\":1}"}],keys:{"0":"_col1","1":"_col0"}
<-Map 1 [PARTITION-LEVEL SORT]
PARTITION-LEVEL SORT [RS_14]
@@ -1709,21 +1709,21 @@ Stage-0
<-Reducer 4 [PARTITION-LEVEL SORT]
PARTITION-LEVEL SORT [RS_15]
PartitionCols:_col0
- Select Operator [SEL_13] (rows=83 width=95)
+ Select Operator [SEL_13] (rows=41 width=95)
Output:["_col0","_col1"]
- Group By Operator [GBY_12] (rows=83 width=91)
+ Group By Operator [GBY_12] (rows=41 width=91)
Output:["_col0"],keys:_col1
- Select Operator [SEL_8] (rows=83 width=178)
+ Select Operator [SEL_8] (rows=41 width=178)
Output:["_col1"]
- Group By Operator [GBY_7] (rows=83 width=178)
+ Group By Operator [GBY_7] (rows=41 width=178)
Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
<-Map 3 [GROUP PARTITION-LEVEL SORT]
GROUP PARTITION-LEVEL SORT [RS_6]
PartitionCols:_col0
- Group By Operator [GBY_5] (rows=83 width=178)
+ Group By Operator [GBY_5] (rows=41 width=178)
Output:["_col0","_col1"],keys:value, key
- Filter Operator [FIL_20] (rows=166 width=178)
- predicate:(value > 'val_2')
+ Filter Operator [FIL_20] (rows=83 width=178)
+ predicate:((value = value) and (value > 'val_2'))
TableScan [TS_2] (rows=500 width=178)
default@src_cbo,a,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
@@ -1758,11 +1758,11 @@ Stage-0
Stage-1
Reducer 3
File Output Operator [FS_18]
- Select Operator [SEL_17] (rows=183 width=178)
+ Select Operator [SEL_17] (rows=234 width=178)
Output:["_col0","_col1"]
- Filter Operator [FIL_16] (rows=183 width=179)
+ Filter Operator [FIL_16] (rows=234 width=178)
predicate:_col4 is null
- Join Operator [JOIN_15] (rows=250 width=179)
+ Join Operator [JOIN_15] (rows=250 width=178)
Output:["_col0","_col1","_col4"],condition map:[{"":"{\"type\":\"Left Outer\",\"left\":0,\"right\":1}"}],keys:{"0":"_col0, _col1","1":"_col0, _col1"}
<-Reducer 2 [PARTITION-LEVEL SORT]
PARTITION-LEVEL SORT [RS_13]
@@ -1781,17 +1781,17 @@ Stage-0
<-Reducer 5 [PARTITION-LEVEL SORT]
PARTITION-LEVEL SORT [RS_14]
PartitionCols:_col0, _col1
- Select Operator [SEL_12] (rows=83 width=182)
+ Select Operator [SEL_12] (rows=20 width=182)
Output:["_col0","_col1","_col2"]
- Group By Operator [GBY_11] (rows=83 width=178)
+ Group By Operator [GBY_11] (rows=20 width=178)
Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
<-Map 4 [GROUP]
GROUP [RS_10]
PartitionCols:_col0, _col1
- Group By Operator [GBY_9] (rows=83 width=178)
+ Group By Operator [GBY_9] (rows=20 width=178)
Output:["_col0","_col1"],keys:key, value
- Filter Operator [FIL_19] (rows=166 width=178)
- predicate:((value > 'val_12') and key is not null)
+ Filter Operator [FIL_19] (rows=41 width=178)
+ predicate:((key = key) and (value = value) and (value > 'val_12'))
TableScan [TS_6] (rows=500 width=178)
default@src_cbo,a,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
@@ -1834,7 +1834,7 @@ Stage-0
Stage-1
Reducer 2
File Output Operator [FS_11]
- Join Operator [JOIN_9] (rows=134 width=178)
+ Join Operator [JOIN_9] (rows=32 width=178)
Output:["_col0","_col1"],condition map:[{"":"{\"type\":\"Left Semi\",\"left\":0,\"right\":1}"}],keys:{"0":"_col0, _col1","1":"_col0, _col1"}
<-Map 1 [PARTITION-LEVEL SORT]
PARTITION-LEVEL SORT [RS_7]
@@ -1846,12 +1846,12 @@ Stage-0
<-Map 3 [PARTITION-LEVEL SORT]
PARTITION-LEVEL SORT [RS_8]
PartitionCols:_col0, _col1
- Group By Operator [GBY_6] (rows=83 width=178)
+ Group By Operator [GBY_6] (rows=20 width=178)
Output:["_col0","_col1"],keys:_col0, _col1
- Select Operator [SEL_4] (rows=166 width=178)
+ Select Operator [SEL_4] (rows=41 width=178)
Output:["_col0","_col1"]
- Filter Operator [FIL_12] (rows=166 width=178)
- predicate:((value > 'val_9') and key is not null)
+ Filter Operator [FIL_12] (rows=41 width=178)
+ predicate:((key = key) and (value = value) and (value > 'val_9'))
TableScan [TS_2] (rows=500 width=178)
default@src_cbo,a,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
@@ -1884,7 +1884,7 @@ Stage-0
Stage-1
Reducer 2
File Output Operator [FS_11]
- Join Operator [JOIN_9] (rows=134 width=178)
+ Join Operator [JOIN_9] (rows=32 width=178)
Output:["_col0","_col1"],condition map:[{"":"{\"type\":\"Left Semi\",\"left\":0,\"right\":1}"}],keys:{"0":"_col0, _col1","1":"_col0, _col1"}
<-Map 1 [PARTITION-LEVEL SORT]
PARTITION-LEVEL SORT [RS_7]
@@ -1896,12 +1896,12 @@ Stage-0
<-Map 3 [PARTITION-LEVEL SORT]
PARTITION-LEVEL SORT [RS_8]
PartitionCols:_col0, _col1
- Group By Operator [GBY_6] (rows=83 width=178)
+ Group By Operator [GBY_6] (rows=20 width=178)
Output:["_col0","_col1"],keys:_col0, _col1
- Select Operator [SEL_4] (rows=166 width=178)
+ Select Operator [SEL_4] (rows=41 width=178)
Output:["_col0","_col1"]
- Filter Operator [FIL_12] (rows=166 width=178)
- predicate:((value > 'val_9') and key is not null)
+ Filter Operator [FIL_12] (rows=41 width=178)
+ predicate:((key = key) and (value = value) and (value > 'val_9'))
TableScan [TS_2] (rows=500 width=178)
default@src_cbo,a,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
@@ -1977,12 +1977,12 @@ Stage-0
<-Map 6 [PARTITION-LEVEL SORT]
PARTITION-LEVEL SORT [RS_19]
PartitionCols:_col0, _col1
- Group By Operator [GBY_17] (rows=4 width=8)
+ Group By Operator [GBY_17] (rows=2 width=8)
Output:["_col0","_col1"],keys:_col0, _col1
- Select Operator [SEL_12] (rows=14 width=8)
+ Select Operator [SEL_12] (rows=7 width=8)
Output:["_col0","_col1"]
- Filter Operator [FIL_25] (rows=14 width=96)
- predicate:((l_shipmode = 'AIR') and l_linenumber is not null)
+ Filter Operator [FIL_25] (rows=7 width=96)
+ predicate:((l_linenumber = l_linenumber) and (l_shipmode = 'AIR'))
TableScan [TS_10] (rows=100 width=96)
default@lineitem,lineitem,Tbl:COMPLETE,Col:COMPLETE,Output:["l_orderkey","l_linenumber","l_shipmode"]
<-Reducer 3 [PARTITION-LEVEL SORT]
@@ -2272,14 +2272,14 @@ Stage-0
File Output Operator [FS_26]
Select Operator [SEL_25] (rows=13 width=223)
Output:["_col0","_col1","_col2"]
- Filter Operator [FIL_24] (rows=13 width=231)
+ Filter Operator [FIL_24] (rows=13 width=227)
predicate:(not CASE WHEN ((_col4 = 0)) THEN (false) WHEN (_col4 is null) THEN (false) WHEN (_col8 is not null) THEN (true) WHEN (_col0 is null) THEN (null) WHEN ((_col5 < _col4)) THEN (true) ELSE (false) END)
- Join Operator [JOIN_23] (rows=26 width=230)
+ Join Operator [JOIN_23] (rows=26 width=227)
Output:["_col0","_col1","_col2","_col4","_col5","_col8"],condition map:[{"":"{\"type\":\"Left Outer\",\"left\":0,\"right\":1}"}],keys:{"0":"_col0, _col1","1":"_col0, _col1"}
<-Reducer 2 [PARTITION-LEVEL SORT]
PARTITION-LEVEL SORT [RS_21]
PartitionCols:_col0, _col1
- Join Operator [JOIN_20] (rows=26 width=229)
+ Join Operator [JOIN_20] (rows=26 width=226)
Output:["_col0","_col1","_col2","_col4","_col5"],condition map:[{"":"{\"type\":\"Left Outer\",\"left\":0,\"right\":1}"}],keys:{"0":"_col1","1":"_col0"}
<-Map 1 [PARTITION-LEVEL SORT]
PARTITION-LEVEL SORT [RS_18]
@@ -2291,37 +2291,37 @@ Stage-0
<-Reducer 5 [PARTITION-LEVEL SORT]
PARTITION-LEVEL SORT [RS_19]
PartitionCols:_col0
- Group By Operator [GBY_7] (rows=2 width=114)
+ Group By Operator [GBY_7] (rows=1 width=114)
Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0
<-Map 4 [GROUP]
GROUP [RS_6]
PartitionCols:_col0
- Group By Operator [GBY_5] (rows=2 width=114)
+ Group By Operator [GBY_5] (rows=1 width=114)
Output:["_col0","_col1","_col2"],aggregations:["count()","count(p_name)"],keys:p_mfgr
- Select Operator [SEL_4] (rows=8 width=223)
+ Select Operator [SEL_4] (rows=4 width=223)
Output:["p_name","p_mfgr"]
- Filter Operator [FIL_27] (rows=8 width=223)
- predicate:((p_size < 10) and p_mfgr is not null)
+ Filter Operator [FIL_27] (rows=4 width=223)
+ predicate:((p_mfgr = p_mfgr) and (p_size < 10))
TableScan [TS_2] (rows=26 width=223)
default@part,part,Tbl:COMPLETE,Col:COMPLETE,Output:["p_name","p_mfgr","p_size"]
<-Reducer 7 [PARTITION-LEVEL SORT]
PARTITION-LEVEL SORT [RS_22]
PartitionCols:_col0, _col1
- Select Operator [SEL_17] (rows=4 width=223)
+ Select Operator [SEL_17] (rows=2 width=223)
Output:["_col0","_col1","_col2"]
- Filter Operator [FIL_16] (rows=4 width=219)
+ Filter Operator [FIL_16] (rows=2 width=219)
predicate:_col0 is not null
- Group By Operator [GBY_14] (rows=4 width=219)
+ Group By Operator [GBY_14] (rows=2 width=219)
Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
<-Map 6 [GROUP]
GROUP [RS_13]
PartitionCols:_col0, _col1
- Group By Operator [GBY_12] (rows=4 width=219)
+ Group By Operator [GBY_12] (rows=2 width=219)
Output:["_col0","_col1"],keys:p_name, p_mfgr
- Select Operator [SEL_11] (rows=8 width=223)
+ Select Operator [SEL_11] (rows=4 width=223)
Output:["p_name","p_mfgr"]
- Filter Operator [FIL_28] (rows=8 width=223)
- predicate:((p_size < 10) and p_mfgr is not null)
+ Filter Operator [FIL_28] (rows=4 width=223)
+ predicate:((p_mfgr = p_mfgr) and (p_size < 10))
TableScan [TS_9] (rows=26 width=223)
default@part,part,Tbl:COMPLETE,Col:COMPLETE,Output:["p_name","p_mfgr","p_size"]
@@ -2457,7 +2457,7 @@ Stage-0
Select Operator [SEL_24] (rows=1 width=110)
Output:["_col0","_col1"]
Filter Operator [FIL_23] (rows=1 width=114)
- predicate:(((_col2 - _col1) > 600.0) and _col1 is not null)
+ predicate:(((_col2 - _col1) > 600.0) and (_col1 = _col1))
Group By Operator [GBY_22] (rows=5 width=114)
Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)"],keys:KEY._col0
<-Map 6 [GROUP]
@@ -2501,7 +2501,7 @@ Stage-0
Select Operator [SEL_12] (rows=1 width=114)
Output:["_col0","_col1"]
Filter Operator [FIL_11] (rows=1 width=114)
- predicate:(((_col2 - _col1) > 600.0) and _col1 is not null)
+ predicate:(((_col2 - _col1) > 600.0) and (_col1 = _col1))
Group By Operator [GBY_10] (rows=5 width=114)
Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)"],keys:KEY._col0
<- Please refer to the previous Map 6 [GROUP]
http://git-wip-us.apache.org/repos/asf/hive/blob/9375cf3c/ql/src/test/results/clientpositive/spark/subquery_exists.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/subquery_exists.q.out b/ql/src/test/results/clientpositive/spark/subquery_exists.q.out
index 2c86196..dafe5b6 100644
--- a/ql/src/test/results/clientpositive/spark/subquery_exists.q.out
+++ b/ql/src/test/results/clientpositive/spark/subquery_exists.q.out
@@ -47,22 +47,22 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((value > 'val_9') and key is not null) (type: boolean)
- Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
+ predicate: ((key = key) and (value = value) and (value > 'val_9')) (type: boolean)
+ Statistics: Num rows: 41 Data size: 435 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 41 Data size: 435 Basic stats: COMPLETE Column stats: NONE
Group By Operator
keys: _col0 (type: string), _col1 (type: string)
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 41 Data size: 435 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string), _col1 (type: string)
sort order: ++
Map-reduce partition columns: _col0 (type: string), _col1 (type: string)
- Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 41 Data size: 435 Basic stats: COMPLETE Column stats: NONE
Reducer 2
Reduce Operator Tree:
Join Operator
@@ -1035,3 +1035,383 @@ POSTHOOK: query: drop table t
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@t
POSTHOOK: Output: default@t
+PREHOOK: query: drop table if exists tx1
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists tx1
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table tx1 (a integer,b integer)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tx1
+POSTHOOK: query: create table tx1 (a integer,b integer)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tx1
+PREHOOK: query: insert into tx1 values (1, 1),
+ (1, 2),
+ (1, 3)
+PREHOOK: type: QUERY
+PREHOOK: Output: default@tx1
+POSTHOOK: query: insert into tx1 values (1, 1),
+ (1, 2),
+ (1, 3)
+POSTHOOK: type: QUERY
+POSTHOOK: Output: default@tx1
+POSTHOOK: Lineage: tx1.a EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+POSTHOOK: Lineage: tx1.b EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+PREHOOK: query: select count(*) as result,3 as expected from tx1 u
+ where exists (select * from tx1 v where u.a=v.a and u.b <> v.b)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tx1
+#### A masked pattern was here ####
+POSTHOOK: query: select count(*) as result,3 as expected from tx1 u
+ where exists (select * from tx1 v where u.a=v.a and u.b <> v.b)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tx1
+#### A masked pattern was here ####
+3 3
+PREHOOK: query: explain select count(*) as result,3 as expected from tx1 u
+ where exists (select * from tx1 v where u.a=v.a and u.b <> v.b)
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select count(*) as result,3 as expected from tx1 u
+ where exists (select * from tx1 v where u.a=v.a and u.b <> v.b)
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-1
+ Spark
+ Edges:
+ Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Reducer 5 (PARTITION-LEVEL SORT, 2)
+ Reducer 3 <- Reducer 2 (GROUP, 1)
+ Reducer 5 <- Map 4 (PARTITION-LEVEL SORT, 2), Reducer 7 (PARTITION-LEVEL SORT, 2)
+ Reducer 7 <- Map 6 (GROUP, 2)
+#### A masked pattern was here ####
+ Vertices:
+ Map 1
+ Map Operator Tree:
+ TableScan
+ alias: u
+ Statistics: Num rows: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: a (type: int), b (type: int)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 3 Data size: 9 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: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
+ Map 4
+ Map Operator Tree:
+ TableScan
+ alias: v
+ Statistics: Num rows: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: a (type: int), b (type: int)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: int)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: int)
+ Statistics: Num rows: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: int)
+ Map 6
+ Map Operator Tree:
+ TableScan
+ alias: u
+ Statistics: Num rows: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: a (type: int), b (type: int)
+ outputColumnNames: a, b
+ Statistics: Num rows: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ keys: a (type: int), b (type: int)
+ mode: hash
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 3 Data size: 9 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: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
+ Reducer 2
+ Reduce Operator Tree:
+ Join Operator
+ condition map:
+ Left Semi Join 0 to 1
+ keys:
+ 0 _col0 (type: int), _col1 (type: int)
+ 1 _col0 (type: int), _col1 (type: int)
+ Statistics: Num rows: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: bigint)
+ Reducer 3
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations: count(VALUE._col0)
+ mode: mergepartial
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: _col0 (type: bigint), 3 (type: int)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ Reducer 5
+ Reduce Operator Tree:
+ Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: int)
+ 1 _col0 (type: int)
+ outputColumnNames: _col1, _col2, _col3
+ Statistics: Num rows: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator
+ predicate: (_col3 <> _col1) (type: boolean)
+ Statistics: Num rows: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: _col2 (type: int), _col3 (type: int)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ keys: _col0 (type: int), _col1 (type: int)
+ mode: hash
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 3 Data size: 9 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: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
+ Reducer 7
+ Reduce Operator Tree:
+ Group By Operator
+ keys: KEY._col0 (type: int), KEY._col1 (type: int)
+ mode: mergepartial
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: int)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: int)
+ Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: int)
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: drop table tx1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@tx1
+PREHOOK: Output: default@tx1
+POSTHOOK: query: drop table tx1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@tx1
+POSTHOOK: Output: default@tx1
+PREHOOK: query: create table t1(i int, j int)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@t1
+POSTHOOK: query: create table t1(i int, j int)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@t1
+PREHOOK: query: insert into t1 values(4,1)
+PREHOOK: type: QUERY
+PREHOOK: Output: default@t1
+POSTHOOK: query: insert into t1 values(4,1)
+POSTHOOK: type: QUERY
+POSTHOOK: Output: default@t1
+POSTHOOK: Lineage: t1.i EXPRESSION [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+POSTHOOK: Lineage: t1.j EXPRESSION [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+PREHOOK: query: create table t2(i int, j int)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@t2
+POSTHOOK: query: create table t2(i int, j int)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@t2
+PREHOOK: query: insert into t2 values(4,2),(4,3),(4,5)
+PREHOOK: type: QUERY
+PREHOOK: Output: default@t2
+POSTHOOK: query: insert into t2 values(4,2),(4,3),(4,5)
+POSTHOOK: type: QUERY
+POSTHOOK: Output: default@t2
+POSTHOOK: Lineage: t2.i EXPRESSION [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+POSTHOOK: Lineage: t2.j EXPRESSION [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+Warning: Shuffle Join JOIN[12][tables = [$hdt$_1, $hdt$_2]] in Work 'Reducer 4' is a cross product
+PREHOOK: query: explain select * from t1 where t1.i in (select t2.i from t2 where t2.j <> t1.j)
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select * from t1 where t1.i in (select t2.i from t2 where t2.j <> t1.j)
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-1
+ Spark
+ Edges:
+ Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Reducer 4 (PARTITION-LEVEL SORT, 2)
+ Reducer 4 <- Map 3 (PARTITION-LEVEL SORT, 1), Reducer 6 (PARTITION-LEVEL SORT, 1)
+ Reducer 6 <- Map 5 (GROUP, 2)
+#### A masked pattern was here ####
+ Vertices:
+ Map 1
+ Map Operator Tree:
+ TableScan
+ alias: t1
+ Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: i (type: int), j (type: int)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 3 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: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
+ Map 3
+ Map Operator Tree:
+ TableScan
+ alias: t2
+ Statistics: Num rows: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: i (type: int), j (type: int)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: int), _col1 (type: int)
+ Map 5
+ Map Operator Tree:
+ TableScan
+ alias: t1
+ Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: j (type: int)
+ outputColumnNames: j
+ Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ keys: j (type: int)
+ mode: hash
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: int)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: int)
+ Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
+ Reducer 2
+ Reduce Operator Tree:
+ Join Operator
+ condition map:
+ Left Semi Join 0 to 1
+ keys:
+ 0 _col0 (type: int), _col1 (type: int)
+ 1 _col0 (type: int), _col1 (type: int)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 3 Data size: 23 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 3 Data size: 23 Basic stats: COMPLETE Column stats: NONE
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ Reducer 4
+ Reduce Operator Tree:
+ Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0
+ 1
+ outputColumnNames: _col0, _col1, _col2
+ Statistics: Num rows: 3 Data size: 21 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator
+ predicate: (_col1 <> _col2) (type: boolean)
+ Statistics: Num rows: 3 Data size: 21 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: _col0 (type: int), _col2 (type: int)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 3 Data size: 21 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ keys: _col0 (type: int), _col1 (type: int)
+ mode: hash
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 3 Data size: 21 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: 3 Data size: 21 Basic stats: COMPLETE Column stats: NONE
+ Reducer 6
+ Reduce Operator Tree:
+ Group By Operator
+ keys: KEY._col0 (type: int)
+ mode: mergepartial
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: int)
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+Warning: Shuffle Join JOIN[12][tables = [$hdt$_1, $hdt$_2]] in Work 'Reducer 4' is a cross product
+PREHOOK: query: select * from t1 where t1.i in (select t2.i from t2 where t2.j <> t1.j)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@t1
+PREHOOK: Input: default@t2
+#### A masked pattern was here ####
+POSTHOOK: query: select * from t1 where t1.i in (select t2.i from t2 where t2.j <> t1.j)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@t1
+POSTHOOK: Input: default@t2
+#### A masked pattern was here ####
+4 1
+PREHOOK: query: drop table t1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@t1
+PREHOOK: Output: default@t1
+POSTHOOK: query: drop table t1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@t1
+POSTHOOK: Output: default@t1
+PREHOOK: query: drop table t2
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@t2
+PREHOOK: Output: default@t2
+POSTHOOK: query: drop table t2
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@t2
+POSTHOOK: Output: default@t2