hive-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From prasan...@apache.org
Subject [1/2] hive git commit: Revert "HIVE-11133: Support hive.explain.user for Spark (Sahil via Xuefu)"
Date Tue, 02 May 2017 02:21:50 GMT
Repository: hive
Updated Branches:
  refs/heads/master 5ab03cba5 -> 0b7e9105d


http://git-wip-us.apache.org/repos/asf/hive/blob/0b7e9105/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
deleted file mode 100644
index ca0910a..0000000
--- a/ql/src/test/results/clientpositive/spark/spark_explainuser_1.q.out
+++ /dev/null
@@ -1,5921 +0,0 @@
-PREHOOK: query: explain create table src_orc_merge_test_part(key int, value string) partitioned by (ds string, ts string) stored as orc
-PREHOOK: type: CREATETABLE
-POSTHOOK: query: explain create table src_orc_merge_test_part(key int, value string) partitioned by (ds string, ts string) stored as orc
-POSTHOOK: type: CREATETABLE
-Stage-0
-  Create Table Operator:
-    name:default.src_orc_merge_test_part
-
-PREHOOK: query: create table src_orc_merge_test_part(key int, value string) partitioned by (ds string, ts string) stored as orc
-PREHOOK: type: CREATETABLE
-PREHOOK: Output: database:default
-PREHOOK: Output: default@src_orc_merge_test_part
-POSTHOOK: query: create table src_orc_merge_test_part(key int, value string) partitioned by (ds string, ts string) stored as orc
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: database:default
-POSTHOOK: Output: default@src_orc_merge_test_part
-PREHOOK: query: alter table src_orc_merge_test_part add partition (ds='2012-01-03', ts='2012-01-03+14:46:31')
-PREHOOK: type: ALTERTABLE_ADDPARTS
-PREHOOK: Output: default@src_orc_merge_test_part
-POSTHOOK: query: alter table src_orc_merge_test_part add partition (ds='2012-01-03', ts='2012-01-03+14:46:31')
-POSTHOOK: type: ALTERTABLE_ADDPARTS
-POSTHOOK: Output: default@src_orc_merge_test_part
-POSTHOOK: Output: default@src_orc_merge_test_part@ds=2012-01-03/ts=2012-01-03+14%3A46%3A31
-PREHOOK: query: desc extended src_orc_merge_test_part partition (ds='2012-01-03', ts='2012-01-03+14:46:31')
-PREHOOK: type: DESCTABLE
-PREHOOK: Input: default@src_orc_merge_test_part
-POSTHOOK: query: desc extended src_orc_merge_test_part partition (ds='2012-01-03', ts='2012-01-03+14:46:31')
-POSTHOOK: type: DESCTABLE
-POSTHOOK: Input: default@src_orc_merge_test_part
-key                 	int                 	                    
-value               	string              	                    
-ds                  	string              	                    
-ts                  	string              	                    
-	 	 
-# Partition Information	 	 
-# col_name            	data_type           	comment             
-	 	 
-ds                  	string              	                    
-ts                  	string              	                    
-	 	 
-#### A masked pattern was here ####
-PREHOOK: query: explain insert overwrite table src_orc_merge_test_part partition(ds='2012-01-03', ts='2012-01-03+14:46:31') select * from src
-PREHOOK: type: QUERY
-POSTHOOK: query: explain insert overwrite table src_orc_merge_test_part partition(ds='2012-01-03', ts='2012-01-03+14:46:31') select * from src
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Stage-2
-  Stats-Aggr Operator
-    Stage-0
-      Move Operator
-        table:{"name:":"default.src_orc_merge_test_part"}
-        Stage-1
-          Map 1
-          File Output Operator [FS_3]
-            table:{"name:":"default.src_orc_merge_test_part"}
-            Select Operator [SEL_1] (rows=500 width=10)
-              Output:["_col0","_col1"]
-              TableScan [TS_0] (rows=500 width=10)
-                default@src,src,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-
-PREHOOK: query: insert overwrite table src_orc_merge_test_part partition(ds='2012-01-03', ts='2012-01-03+14:46:31') select * from src
-PREHOOK: type: QUERY
-PREHOOK: Input: default@src
-PREHOOK: Output: default@src_orc_merge_test_part@ds=2012-01-03/ts=2012-01-03+14%3A46%3A31
-POSTHOOK: query: insert overwrite table src_orc_merge_test_part partition(ds='2012-01-03', ts='2012-01-03+14:46:31') select * from src
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@src
-POSTHOOK: Output: default@src_orc_merge_test_part@ds=2012-01-03/ts=2012-01-03+14%3A46%3A31
-POSTHOOK: Lineage: src_orc_merge_test_part PARTITION(ds=2012-01-03,ts=2012-01-03+14:46:31).key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: src_orc_merge_test_part PARTITION(ds=2012-01-03,ts=2012-01-03+14:46:31).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
-PREHOOK: query: explain insert into table src_orc_merge_test_part partition(ds='2012-01-03', ts='2012-01-03+14:46:31') select * from src limit 100
-PREHOOK: type: QUERY
-POSTHOOK: query: explain insert into table src_orc_merge_test_part partition(ds='2012-01-03', ts='2012-01-03+14:46:31') select * from src limit 100
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (GROUP)
-
-Stage-2
-  Stats-Aggr Operator
-    Stage-0
-      Move Operator
-        table:{"name:":"default.src_orc_merge_test_part"}
-        Stage-1
-          Reducer 2
-          File Output Operator [FS_7]
-            table:{"name:":"default.src_orc_merge_test_part"}
-            Select Operator [SEL_6] (rows=100 width=10)
-              Output:["_col0","_col1"]
-              Limit [LIM_5] (rows=100 width=10)
-                Number of rows:100
-                Select Operator [SEL_4] (rows=100 width=10)
-                  Output:["_col0","_col1"]
-                <-Map 1 [GROUP]
-                  GROUP [RS_3]
-                    Limit [LIM_2] (rows=100 width=10)
-                      Number of rows:100
-                      Select Operator [SEL_1] (rows=500 width=10)
-                        Output:["_col0","_col1"]
-                        TableScan [TS_0] (rows=500 width=10)
-                          default@src,src,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-
-PREHOOK: query: explain select count(1) from src_orc_merge_test_part where ds='2012-01-03' and ts='2012-01-03+14:46:31'
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select count(1) from src_orc_merge_test_part where ds='2012-01-03' and ts='2012-01-03+14:46:31'
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Stage-0
-  Fetch Operator
-    limit:1
-
-PREHOOK: query: explain select sum(hash(key)), sum(hash(value)) from src_orc_merge_test_part where ds='2012-01-03' and ts='2012-01-03+14:46:31'
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select sum(hash(key)), sum(hash(value)) from src_orc_merge_test_part where ds='2012-01-03' and ts='2012-01-03+14:46:31'
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (GROUP)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_8]
-        Group By Operator [GBY_6] (rows=1 width=16)
-          Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"]
-        <-Map 1 [GROUP]
-          GROUP [RS_5]
-            Group By Operator [GBY_4] (rows=1 width=16)
-              Output:["_col0","_col1"],aggregations:["sum(_col0)","sum(_col1)"]
-              Select Operator [SEL_2] (rows=500 width=94)
-                Output:["_col0","_col1"]
-                TableScan [TS_0] (rows=500 width=94)
-                  default@src_orc_merge_test_part,src_orc_merge_test_part,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-
-PREHOOK: query: alter table src_orc_merge_test_part partition (ds='2012-01-03', ts='2012-01-03+14:46:31') concatenate
-PREHOOK: type: ALTER_PARTITION_MERGE
-PREHOOK: Input: default@src_orc_merge_test_part
-PREHOOK: Output: default@src_orc_merge_test_part@ds=2012-01-03/ts=2012-01-03+14%3A46%3A31
-POSTHOOK: query: alter table src_orc_merge_test_part partition (ds='2012-01-03', ts='2012-01-03+14:46:31') concatenate
-POSTHOOK: type: ALTER_PARTITION_MERGE
-POSTHOOK: Input: default@src_orc_merge_test_part
-POSTHOOK: Output: default@src_orc_merge_test_part@ds=2012-01-03/ts=2012-01-03+14%3A46%3A31
-PREHOOK: query: explain select count(1) from src_orc_merge_test_part where ds='2012-01-03' and ts='2012-01-03+14:46:31'
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select count(1) from src_orc_merge_test_part where ds='2012-01-03' and ts='2012-01-03+14:46:31'
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (GROUP)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_8]
-        Group By Operator [GBY_6] (rows=1 width=8)
-          Output:["_col0"],aggregations:["count(VALUE._col0)"]
-        <-Map 1 [GROUP]
-          GROUP [RS_5]
-            Group By Operator [GBY_4] (rows=1 width=8)
-              Output:["_col0"],aggregations:["count(1)"]
-              Select Operator [SEL_2] (rows=500 width=94)
-                TableScan [TS_0] (rows=500 width=94)
-                  default@src_orc_merge_test_part,src_orc_merge_test_part,Tbl:COMPLETE,Col:NONE
-
-PREHOOK: query: explain select sum(hash(key)), sum(hash(value)) from src_orc_merge_test_part where ds='2012-01-03' and ts='2012-01-03+14:46:31'
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select sum(hash(key)), sum(hash(value)) from src_orc_merge_test_part where ds='2012-01-03' and ts='2012-01-03+14:46:31'
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (GROUP)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_8]
-        Group By Operator [GBY_6] (rows=1 width=16)
-          Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"]
-        <-Map 1 [GROUP]
-          GROUP [RS_5]
-            Group By Operator [GBY_4] (rows=1 width=16)
-              Output:["_col0","_col1"],aggregations:["sum(_col0)","sum(_col1)"]
-              Select Operator [SEL_2] (rows=500 width=94)
-                Output:["_col0","_col1"]
-                TableScan [TS_0] (rows=500 width=94)
-                  default@src_orc_merge_test_part,src_orc_merge_test_part,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-
-PREHOOK: query: drop table src_orc_merge_test_part
-PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@src_orc_merge_test_part
-PREHOOK: Output: default@src_orc_merge_test_part
-POSTHOOK: query: drop table src_orc_merge_test_part
-POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@src_orc_merge_test_part
-POSTHOOK: Output: default@src_orc_merge_test_part
-Warning: Map Join MAPJOIN[20][bigTable=?] in task 'Stage-1:MAPRED' is a cross product
-PREHOOK: query: explain select sum(hash(a.k1,a.v1,a.k2, a.v2))
-from (
-select src1.key as k1, src1.value as v1,
-       src2.key as k2, src2.value as v2 FROM
-  (select * FROM src WHERE src.key < 10) src1
-    JOIN
-  (select * FROM src WHERE src.key < 10) src2
-  SORT BY k1, v1, k2, v2
-) a
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select sum(hash(a.k1,a.v1,a.k2, a.v2))
-from (
-select src1.key as k1, src1.value as v1,
-       src2.key as k2, src2.value as v2 FROM
-  (select * FROM src WHERE src.key < 10) src1
-    JOIN
-  (select * FROM src WHERE src.key < 10) src2
-  SORT BY k1, v1, k2, v2
-) a
-POSTHOOK: type: QUERY
-Plan not optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (PARTITION-LEVEL SORT)
-Reducer 3 <- Reducer 2 (GROUP)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 3
-      File Output Operator [FS_17]
-        Group By Operator [GBY_15] (rows=1 width=8)
-          Output:["_col0"],aggregations:["sum(VALUE._col0)"]
-        <-Reducer 2 [GROUP]
-          GROUP [RS_14]
-            Group By Operator [GBY_13] (rows=1 width=8)
-              Output:["_col0"],aggregations:["sum(hash(_col0,_col1,_col2,_col3))"]
-              Select Operator [SEL_11] (rows=27556 width=22)
-                Output:["_col0","_col1","_col2","_col3"]
-              <-Map 1 [PARTITION-LEVEL SORT]
-                PARTITION-LEVEL SORT [RS_10]
-                  Map Join Operator [MAPJOIN_20] (rows=27556 width=22)
-                    Conds:(Inner),Output:["_col0","_col1","_col2","_col3"]
-                  <-Select Operator [SEL_2] (rows=166 width=10)
-                      Output:["_col0","_col1"]
-                      Filter Operator [FIL_18] (rows=166 width=10)
-                        predicate:(key < 10)
-                        TableScan [TS_0] (rows=500 width=10)
-                          default@src,src,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-                Map Reduce Local Work
-        Stage-2
-          Map 4
-          keys: [HASHTABLESINK_22]
-            Select Operator [SEL_5] (rows=166 width=10)
-              Output:["_col0","_col1"]
-              Filter Operator [FIL_19] (rows=166 width=10)
-                predicate:(key < 10)
-                TableScan [TS_3] (rows=500 width=10)
-                  default@src,src,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-          Map Reduce Local Work
-
-PREHOOK: query: explain select key, (c_int+1)+2 as x, sum(c_int) from cbo_t1 group by c_float, cbo_t1.c_int, key
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select key, (c_int+1)+2 as x, sum(c_int) from cbo_t1 group by c_float, cbo_t1.c_int, key
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (GROUP)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_7]
-        Select Operator [SEL_5] (rows=10 width=97)
-          Output:["_col0","_col1","_col2"]
-          Group By Operator [GBY_4] (rows=10 width=101)
-            Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-          <-Map 1 [GROUP]
-            GROUP [RS_3]
-              PartitionCols:_col0, _col1, _col2
-              Group By Operator [GBY_2] (rows=10 width=101)
-                Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
-                Select Operator [SEL_1] (rows=20 width=88)
-                  Output:["key","c_int","c_float"]
-                  TableScan [TS_0] (rows=20 width=88)
-                    default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
-
-PREHOOK: query: explain select x, y, count(*) from (select key, (c_int+c_float+1+2) as x, sum(c_int) as y from cbo_t1 group by c_float, cbo_t1.c_int, key) R group by y, x
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select x, y, count(*) from (select key, (c_int+c_float+1+2) as x, sum(c_int) as y from cbo_t1 group by c_float, cbo_t1.c_int, key) R group by y, x
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (GROUP)
-Reducer 3 <- Reducer 2 (GROUP)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 3
-      File Output Operator [FS_12]
-        Select Operator [SEL_11] (rows=5 width=20)
-          Output:["_col0","_col1","_col2"]
-          Group By Operator [GBY_10] (rows=5 width=20)
-            Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1
-          <-Reducer 2 [GROUP]
-            GROUP [RS_9]
-              PartitionCols:_col0, _col1
-              Group By Operator [GBY_8] (rows=5 width=20)
-                Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col0, _col1
-                Select Operator [SEL_5] (rows=10 width=101)
-                  Output:["_col0","_col1"]
-                  Group By Operator [GBY_4] (rows=10 width=101)
-                    Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-                  <-Map 1 [GROUP]
-                    GROUP [RS_3]
-                      PartitionCols:_col0, _col1, _col2
-                      Group By Operator [GBY_2] (rows=10 width=101)
-                        Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
-                        Select Operator [SEL_1] (rows=20 width=88)
-                          Output:["key","c_int","c_float"]
-                          TableScan [TS_0] (rows=20 width=88)
-                            default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
-
-PREHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0) group by c_float, cbo_t1.c_int, key order by a) cbo_t1 join (select key as p, c_int+1 as q, sum(c_int) as r from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key order by q/10 desc, r asc) cbo_t2 on cbo_t1.a=p join cbo_t3 on cbo_t1.a=key where (b + cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by cbo_t3.c_int, c order by cbo_t3.c_int+c desc, c
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0) group by c_float, cbo_t1.c_int, key order by a) cbo_t1 join (select key as p, c_int+1 as q, sum(c_int) as r from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key order by q/10 desc, r asc) cbo_t2 on cbo_t1.a=p join cbo_t3 on cbo_t1.a=key where (b + cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by cbo_t3.c_int, c order by cbo_t3.c_int+c desc, c
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 10 <- Reducer 9 (SORT)
-Reducer 2 <- Map 1 (PARTITION-LEVEL SORT), Reducer 10 (PARTITION-LEVEL SORT), Reducer 7 (PARTITION-LEVEL SORT)
-Reducer 3 <- Reducer 2 (GROUP)
-Reducer 4 <- Reducer 3 (SORT)
-Reducer 6 <- Map 5 (GROUP)
-Reducer 7 <- Reducer 6 (SORT)
-Reducer 9 <- Map 8 (GROUP)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 4
-      File Output Operator [FS_38]
-        Select Operator [SEL_37] (rows=1 width=20)
-          Output:["_col0","_col1","_col2"]
-        <-Reducer 3 [SORT]
-          SORT [RS_36]
-            Select Operator [SEL_35] (rows=1 width=20)
-              Output:["_col0","_col1","_col2"]
-              Group By Operator [GBY_34] (rows=1 width=20)
-                Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1
-              <-Reducer 2 [GROUP]
-                GROUP [RS_33]
-                  PartitionCols:_col0, _col1
-                  Group By Operator [GBY_32] (rows=1 width=20)
-                    Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col4, _col1
-                    Select Operator [SEL_31] (rows=1 width=20)
-                      Output:["_col1","_col4"]
-                      Filter Operator [FIL_29] (rows=1 width=20)
-                        predicate:(((_col3 + _col6) >= 0) and ((_col3 > 0) or (_col1 >= 0)))
-                        Join Operator [JOIN_28] (rows=3 width=20)
-                          Output:["_col1","_col3","_col4","_col6"],condition map:[{"":"{\"type\":\"Inner\",\"left\":0,\"right\":1}"},{"":"{\"type\":\"Inner\",\"left\":1,\"right\":2}"}],keys:{"0":"_col0","1":"_col0","2":"_col0"}
-                        <-Map 1 [PARTITION-LEVEL SORT]
-                          PARTITION-LEVEL SORT [RS_25]
-                            PartitionCols:_col0
-                            Select Operator [SEL_2] (rows=18 width=84)
-                              Output:["_col0","_col1"]
-                              Filter Operator [FIL_39] (rows=18 width=84)
-                                predicate:key is not null
-                                TableScan [TS_0] (rows=20 width=84)
-                                  default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-                        <-Reducer 10 [PARTITION-LEVEL SORT]
-                          PARTITION-LEVEL SORT [RS_27]
-                            PartitionCols:_col0
-                            Select Operator [SEL_23] (rows=1 width=89)
-                              Output:["_col0","_col1"]
-                            <-Reducer 9 [SORT]
-                              SORT [RS_22]
-                                Select Operator [SEL_20] (rows=1 width=105)
-                                  Output:["_col0","_col1","_col2","_col3"]
-                                  Group By Operator [GBY_19] (rows=1 width=101)
-                                    Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-                                  <-Map 8 [GROUP]
-                                    GROUP [RS_18]
-                                      PartitionCols:_col0, _col1, _col2
-                                      Group By Operator [GBY_17] (rows=2 width=101)
-                                        Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
-                                        Filter Operator [FIL_41] (rows=5 width=93)
-                                          predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and key is not null)
-                                          TableScan [TS_14] (rows=20 width=88)
-                                            default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
-                        <-Reducer 7 [PARTITION-LEVEL SORT]
-                          PARTITION-LEVEL SORT [RS_26]
-                            PartitionCols:_col0
-                            Select Operator [SEL_12] (rows=1 width=97)
-                              Output:["_col0","_col1","_col2"]
-                            <-Reducer 6 [SORT]
-                              SORT [RS_11]
-                                Select Operator [SEL_9] (rows=1 width=97)
-                                  Output:["_col0","_col1","_col2"]
-                                  Group By Operator [GBY_8] (rows=1 width=101)
-                                    Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-                                  <-Map 5 [GROUP]
-                                    GROUP [RS_7]
-                                      PartitionCols:_col0, _col1, _col2
-                                      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_40] (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"]
-
-PREHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)  group by c_float, cbo_t1.c_int, key having cbo_t1.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0 order by b % c asc, b desc) cbo_t1 left outer join (select key as p, c_int+1 as q, sum(c_int) as r from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key  having cbo_t2.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0) cbo_t2 on cbo_t1.a=p left outer join cbo_t3 on cbo_t1.a=key where (b + cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by cbo_t3.c_int, c  having cbo_t3.c_int > 0 and (c_int >=1 or c >= 1) and (c_int + c) >= 0  order by cbo_t3.c_int % c asc, cbo_t3.c_int desc
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)  group by c_float, cbo_t1.c_int, key having cbo_t1.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0 order by b % c asc, b desc) cbo_t1 left outer join (select key as p, c_int+1 as q, sum(c_int) as r from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key  having cbo_t2.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0) cbo_t2 on cbo_t1.a=p left outer join cbo_t3 on cbo_t1.a=key where (b + cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by cbo_t3.c_int, c  having cbo_t3.c_int > 0 and (c_int >=1 or c >= 1) and (c_int + c) >= 0  order by cbo_t3.c_int % c asc, cbo_t3.c_int desc
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (PARTITION-LEVEL SORT), Reducer 7 (PARTITION-LEVEL SORT), Reducer 9 (PARTITION-LEVEL SORT)
-Reducer 3 <- Reducer 2 (GROUP)
-Reducer 4 <- Reducer 3 (SORT)
-Reducer 6 <- Map 5 (GROUP)
-Reducer 7 <- Reducer 6 (SORT)
-Reducer 9 <- Map 8 (GROUP)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 4
-      File Output Operator [FS_37]
-        Select Operator [SEL_36] (rows=1 width=20)
-          Output:["_col0","_col1","_col2"]
-        <-Reducer 3 [SORT]
-          SORT [RS_35]
-            Group By Operator [GBY_33] (rows=1 width=20)
-              Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1
-            <-Reducer 2 [GROUP]
-              GROUP [RS_32]
-                PartitionCols:_col0, _col1
-                Group By Operator [GBY_31] (rows=1 width=20)
-                  Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col1, _col4
-                  Select Operator [SEL_30] (rows=1 width=20)
-                    Output:["_col1","_col4"]
-                    Filter Operator [FIL_26] (rows=1 width=20)
-                      predicate:(((_col3 + _col6) >= 0) and ((UDFToLong(_col1) + _col4) >= 0) and ((_col1 >= 1) or (_col4 >= 1)) and ((_col3 > 0) or (_col1 >= 0)))
-                      Join Operator [JOIN_25] (rows=3 width=20)
-                        Output:["_col1","_col3","_col4","_col6"],condition map:[{"":"{\"type\":\"Inner\",\"left\":0,\"right\":1}"},{"":"{\"type\":\"Inner\",\"left\":1,\"right\":2}"}],keys:{"0":"_col0","1":"_col0","2":"_col0"}
-                      <-Map 1 [PARTITION-LEVEL SORT]
-                        PARTITION-LEVEL SORT [RS_22]
-                          PartitionCols:_col0
-                          Select Operator [SEL_2] (rows=18 width=84)
-                            Output:["_col0","_col1"]
-                            Filter Operator [FIL_38] (rows=18 width=84)
-                              predicate:((c_int > 0) and key is not null)
-                              TableScan [TS_0] (rows=20 width=84)
-                                default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-                      <-Reducer 7 [PARTITION-LEVEL SORT]
-                        PARTITION-LEVEL SORT [RS_23]
-                          PartitionCols:_col0
-                          Select Operator [SEL_12] (rows=1 width=97)
-                            Output:["_col0","_col1","_col2"]
-                          <-Reducer 6 [SORT]
-                            SORT [RS_11]
-                              Select Operator [SEL_9] (rows=1 width=105)
-                                Output:["_col0","_col1","_col2","_col3"]
-                                Group By Operator [GBY_8] (rows=1 width=101)
-                                  Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-                                <-Map 5 [GROUP]
-                                  GROUP [RS_7]
-                                    PartitionCols:_col0, _col1, _col2
-                                    Group By Operator [GBY_6] (rows=1 width=101)
-                                      Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
-                                      Filter Operator [FIL_39] (rows=2 width=93)
-                                        predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and (c_float > 0) and ((c_int >= 1) or (c_float >= 1)) and ((UDFToFloat(c_int) + 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 9 [PARTITION-LEVEL SORT]
-                        PARTITION-LEVEL SORT [RS_24]
-                          PartitionCols:_col0
-                          Select Operator [SEL_20] (rows=1 width=89)
-                            Output:["_col0","_col1"]
-                            Group By Operator [GBY_19] (rows=1 width=93)
-                              Output:["_col0","_col1","_col2"],keys:KEY._col0, KEY._col1, KEY._col2
-                            <-Map 8 [GROUP]
-                              GROUP [RS_18]
-                                PartitionCols:_col0, _col1, _col2
-                                Group By Operator [GBY_17] (rows=1 width=93)
-                                  Output:["_col0","_col1","_col2"],keys:key, c_int, c_float
-                                  Filter Operator [FIL_40] (rows=2 width=93)
-                                    predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and (c_float > 0) and ((c_int >= 1) or (c_float >= 1)) and ((UDFToFloat(c_int) + c_float) >= 0) and key is not null)
-                                    TableScan [TS_14] (rows=20 width=88)
-                                      default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
-
-PREHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)  group by c_float, cbo_t1.c_int, key having cbo_t1.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0 order by b+c, a desc) cbo_t1 right outer join (select key as p, c_int+1 as q, sum(c_int) as r from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key having cbo_t2.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0) cbo_t2 on cbo_t1.a=p right outer join cbo_t3 on cbo_t1.a=key where (b + cbo_t2.q >= 2) and (b > 0 or c_int >= 0) group by cbo_t3.c_int, c
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)  group by c_float, cbo_t1.c_int, key having cbo_t1.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0 order by b+c, a desc) cbo_t1 right outer join (select key as p, c_int+1 as q, sum(c_int) as r from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key having cbo_t2.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0) cbo_t2 on cbo_t1.a=p right outer join cbo_t3 on cbo_t1.a=key where (b + cbo_t2.q >= 2) and (b > 0 or c_int >= 0) group by cbo_t3.c_int, c
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (PARTITION-LEVEL SORT), Reducer 6 (PARTITION-LEVEL SORT), Reducer 8 (PARTITION-LEVEL SORT)
-Reducer 3 <- Reducer 2 (GROUP)
-Reducer 5 <- Map 4 (GROUP)
-Reducer 6 <- Reducer 5 (SORT)
-Reducer 8 <- Map 7 (GROUP)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 3
-      File Output Operator [FS_33]
-        Group By Operator [GBY_31] (rows=1 width=20)
-          Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1
-        <-Reducer 2 [GROUP]
-          GROUP [RS_30]
-            PartitionCols:_col0, _col1
-            Group By Operator [GBY_29] (rows=1 width=20)
-              Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col1, _col4
-              Select Operator [SEL_28] (rows=1 width=20)
-                Output:["_col1","_col4"]
-                Filter Operator [FIL_26] (rows=1 width=20)
-                  predicate:(((_col3 + _col6) >= 2) and ((_col3 > 0) or (_col1 >= 0)))
-                  Join Operator [JOIN_25] (rows=3 width=20)
-                    Output:["_col1","_col3","_col4","_col6"],condition map:[{"":"{\"type\":\"Inner\",\"left\":0,\"right\":1}"},{"":"{\"type\":\"Inner\",\"left\":1,\"right\":2}"}],keys:{"0":"_col0","1":"_col0","2":"_col0"}
-                  <-Map 1 [PARTITION-LEVEL SORT]
-                    PARTITION-LEVEL SORT [RS_22]
-                      PartitionCols:_col0
-                      Select Operator [SEL_2] (rows=18 width=84)
-                        Output:["_col0","_col1"]
-                        Filter Operator [FIL_34] (rows=18 width=84)
-                          predicate:key is not null
-                          TableScan [TS_0] (rows=20 width=84)
-                            default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-                  <-Reducer 6 [PARTITION-LEVEL SORT]
-                    PARTITION-LEVEL SORT [RS_23]
-                      PartitionCols:_col0
-                      Select Operator [SEL_12] (rows=1 width=97)
-                        Output:["_col0","_col1","_col2"]
-                      <-Reducer 5 [SORT]
-                        SORT [RS_11]
-                          Select Operator [SEL_9] (rows=1 width=105)
-                            Output:["_col0","_col1","_col2","_col3"]
-                            Group By Operator [GBY_8] (rows=1 width=101)
-                              Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-                            <-Map 4 [GROUP]
-                              GROUP [RS_7]
-                                PartitionCols:_col0, _col1, _col2
-                                Group By Operator [GBY_6] (rows=1 width=101)
-                                  Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
-                                  Filter Operator [FIL_35] (rows=2 width=93)
-                                    predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and (c_float > 0) and ((c_int >= 1) or (c_float >= 1)) and ((UDFToFloat(c_int) + 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_24]
-                      PartitionCols:_col0
-                      Select Operator [SEL_20] (rows=1 width=89)
-                        Output:["_col0","_col1"]
-                        Group By Operator [GBY_19] (rows=1 width=93)
-                          Output:["_col0","_col1","_col2"],keys:KEY._col0, KEY._col1, KEY._col2
-                        <-Map 7 [GROUP]
-                          GROUP [RS_18]
-                            PartitionCols:_col0, _col1, _col2
-                            Group By Operator [GBY_17] (rows=1 width=93)
-                              Output:["_col0","_col1","_col2"],keys:key, c_int, c_float
-                              Filter Operator [FIL_36] (rows=2 width=93)
-                                predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and (c_float > 0) and ((c_int >= 1) or (c_float >= 1)) and ((UDFToFloat(c_int) + c_float) >= 0) and key is not null)
-                                TableScan [TS_14] (rows=20 width=88)
-                                  default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
-
-PREHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)  group by c_float, cbo_t1.c_int, key having cbo_t1.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0 order by c+a desc) cbo_t1 full outer join (select key as p, c_int+1 as q, sum(c_int) as r from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key having cbo_t2.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0 order by p+q desc, r asc) cbo_t2 on cbo_t1.a=p full outer join cbo_t3 on cbo_t1.a=key where (b + cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by cbo_t3.c_int, c having cbo_t3.c_int > 0 and (c_int >=1 or c >= 1) and (c_int + c) >= 0 order by cbo_t3.c_int
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)  group by c_float, cbo_t1.c_int, key having cbo_t1.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0 order by c+a desc) cbo_t1 full outer join (select key as p, c_int+1 as q, sum(c_int) as r from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key having cbo_t2.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0 order by p+q desc, r asc) cbo_t2 on cbo_t1.a=p full outer join cbo_t3 on cbo_t1.a=key where (b + cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by cbo_t3.c_int, c having cbo_t3.c_int > 0 and (c_int >=1 or c >= 1) and (c_int + c) >= 0 order by cbo_t3.c_int
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 10 <- Reducer 9 (SORT)
-Reducer 2 <- Map 1 (PARTITION-LEVEL SORT), Reducer 10 (PARTITION-LEVEL SORT), Reducer 7 (PARTITION-LEVEL SORT)
-Reducer 3 <- Reducer 2 (GROUP)
-Reducer 4 <- Reducer 3 (SORT)
-Reducer 6 <- Map 5 (GROUP)
-Reducer 7 <- Reducer 6 (SORT)
-Reducer 9 <- Map 8 (GROUP)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 4
-      File Output Operator [FS_40]
-        Select Operator [SEL_39] (rows=1 width=20)
-          Output:["_col0","_col1","_col2"]
-        <-Reducer 3 [SORT]
-          SORT [RS_38]
-            Group By Operator [GBY_36] (rows=1 width=20)
-              Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1
-            <-Reducer 2 [GROUP]
-              GROUP [RS_35]
-                PartitionCols:_col0, _col1
-                Group By Operator [GBY_34] (rows=1 width=20)
-                  Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col1, _col4
-                  Select Operator [SEL_33] (rows=1 width=20)
-                    Output:["_col1","_col4"]
-                    Filter Operator [FIL_29] (rows=1 width=20)
-                      predicate:(((_col3 + _col6) >= 0) and ((UDFToLong(_col1) + _col4) >= 0) and ((_col1 >= 1) or (_col4 >= 1)) and ((_col3 > 0) or (_col1 >= 0)))
-                      Join Operator [JOIN_28] (rows=3 width=20)
-                        Output:["_col1","_col3","_col4","_col6"],condition map:[{"":"{\"type\":\"Inner\",\"left\":0,\"right\":1}"},{"":"{\"type\":\"Inner\",\"left\":1,\"right\":2}"}],keys:{"0":"_col0","1":"_col0","2":"_col0"}
-                      <-Map 1 [PARTITION-LEVEL SORT]
-                        PARTITION-LEVEL SORT [RS_25]
-                          PartitionCols:_col0
-                          Select Operator [SEL_2] (rows=18 width=84)
-                            Output:["_col0","_col1"]
-                            Filter Operator [FIL_41] (rows=18 width=84)
-                              predicate:((c_int > 0) and key is not null)
-                              TableScan [TS_0] (rows=20 width=84)
-                                default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-                      <-Reducer 10 [PARTITION-LEVEL SORT]
-                        PARTITION-LEVEL SORT [RS_27]
-                          PartitionCols:_col0
-                          Select Operator [SEL_23] (rows=1 width=89)
-                            Output:["_col0","_col1"]
-                          <-Reducer 9 [SORT]
-                            SORT [RS_22]
-                              Select Operator [SEL_20] (rows=1 width=105)
-                                Output:["_col0","_col1","_col2","_col3"]
-                                Group By Operator [GBY_19] (rows=1 width=101)
-                                  Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-                                <-Map 8 [GROUP]
-                                  GROUP [RS_18]
-                                    PartitionCols:_col0, _col1, _col2
-                                    Group By Operator [GBY_17] (rows=1 width=101)
-                                      Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
-                                      Filter Operator [FIL_43] (rows=2 width=93)
-                                        predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and (c_float > 0) and ((c_int >= 1) or (c_float >= 1)) and ((UDFToFloat(c_int) + c_float) >= 0) and key is not null)
-                                        TableScan [TS_14] (rows=20 width=88)
-                                          default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
-                      <-Reducer 7 [PARTITION-LEVEL SORT]
-                        PARTITION-LEVEL SORT [RS_26]
-                          PartitionCols:_col0
-                          Select Operator [SEL_12] (rows=1 width=97)
-                            Output:["_col0","_col1","_col2"]
-                          <-Reducer 6 [SORT]
-                            SORT [RS_11]
-                              Select Operator [SEL_9] (rows=1 width=105)
-                                Output:["_col0","_col1","_col2","_col3"]
-                                Group By Operator [GBY_8] (rows=1 width=101)
-                                  Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-                                <-Map 5 [GROUP]
-                                  GROUP [RS_7]
-                                    PartitionCols:_col0, _col1, _col2
-                                    Group By Operator [GBY_6] (rows=1 width=101)
-                                      Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
-                                      Filter Operator [FIL_42] (rows=2 width=93)
-                                        predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and (c_float > 0) and ((c_int >= 1) or (c_float >= 1)) and ((UDFToFloat(c_int) + 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"]
-
-PREHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)  group by c_float, cbo_t1.c_int, key having cbo_t1.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0) cbo_t1 join (select key as p, c_int+1 as q, sum(c_int) as r from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key having cbo_t2.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0) cbo_t2 on cbo_t1.a=p join cbo_t3 on cbo_t1.a=key where (b + cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by cbo_t3.c_int, c
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)  group by c_float, cbo_t1.c_int, key having cbo_t1.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0) cbo_t1 join (select key as p, c_int+1 as q, sum(c_int) as r from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key having cbo_t2.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0) cbo_t2 on cbo_t1.a=p join cbo_t3 on cbo_t1.a=key where (b + cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by cbo_t3.c_int, c
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (PARTITION-LEVEL SORT), Reducer 5 (PARTITION-LEVEL SORT), Reducer 7 (PARTITION-LEVEL SORT)
-Reducer 3 <- Reducer 2 (GROUP)
-Reducer 5 <- Map 4 (GROUP)
-Reducer 7 <- Map 6 (GROUP)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 3
-      File Output Operator [FS_30]
-        Group By Operator [GBY_28] (rows=1 width=20)
-          Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1
-        <-Reducer 2 [GROUP]
-          GROUP [RS_27]
-            PartitionCols:_col0, _col1
-            Group By Operator [GBY_26] (rows=1 width=20)
-              Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col1, _col4
-              Select Operator [SEL_25] (rows=1 width=20)
-                Output:["_col1","_col4"]
-                Filter Operator [FIL_23] (rows=1 width=20)
-                  predicate:(((_col3 + _col6) >= 0) and ((_col3 > 0) or (_col1 >= 0)))
-                  Join Operator [JOIN_22] (rows=3 width=20)
-                    Output:["_col1","_col3","_col4","_col6"],condition map:[{"":"{\"type\":\"Inner\",\"left\":0,\"right\":1}"},{"":"{\"type\":\"Inner\",\"left\":1,\"right\":2}"}],keys:{"0":"_col0","1":"_col0","2":"_col0"}
-                  <-Map 1 [PARTITION-LEVEL SORT]
-                    PARTITION-LEVEL SORT [RS_19]
-                      PartitionCols:_col0
-                      Select Operator [SEL_2] (rows=18 width=84)
-                        Output:["_col0","_col1"]
-                        Filter Operator [FIL_31] (rows=18 width=84)
-                          predicate:key is not null
-                          TableScan [TS_0] (rows=20 width=84)
-                            default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-                  <-Reducer 5 [PARTITION-LEVEL SORT]
-                    PARTITION-LEVEL SORT [RS_20]
-                      PartitionCols:_col0
-                      Select Operator [SEL_9] (rows=1 width=97)
-                        Output:["_col0","_col1","_col2"]
-                        Group By Operator [GBY_8] (rows=1 width=101)
-                          Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-                        <-Map 4 [GROUP]
-                          GROUP [RS_7]
-                            PartitionCols:_col0, _col1, _col2
-                            Group By Operator [GBY_6] (rows=1 width=101)
-                              Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
-                              Filter Operator [FIL_32] (rows=2 width=93)
-                                predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and (c_float > 0) and ((c_int >= 1) or (c_float >= 1)) and ((UDFToFloat(c_int) + 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 7 [PARTITION-LEVEL SORT]
-                    PARTITION-LEVEL SORT [RS_21]
-                      PartitionCols:_col0
-                      Select Operator [SEL_17] (rows=1 width=89)
-                        Output:["_col0","_col1"]
-                        Group By Operator [GBY_16] (rows=1 width=93)
-                          Output:["_col0","_col1","_col2"],keys:KEY._col0, KEY._col1, KEY._col2
-                        <-Map 6 [GROUP]
-                          GROUP [RS_15]
-                            PartitionCols:_col0, _col1, _col2
-                            Group By Operator [GBY_14] (rows=1 width=93)
-                              Output:["_col0","_col1","_col2"],keys:key, c_int, c_float
-                              Filter Operator [FIL_33] (rows=2 width=93)
-                                predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)) and (c_float > 0) and ((c_int >= 1) or (c_float >= 1)) and ((UDFToFloat(c_int) + c_float) >= 0) and key is not null)
-                                TableScan [TS_11] (rows=20 width=88)
-                                  default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
-
-PREHOOK: query: explain select unionsrc.key FROM (select 'tst1' as key, count(1) as value from src) unionsrc
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select unionsrc.key FROM (select 'tst1' as key, count(1) as value from src) unionsrc
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Stage-0
-  Fetch Operator
-    limit:1
-
-PREHOOK: query: explain select unionsrc.key FROM (select 'max' as key, max(c_int) as value from cbo_t3 s1
-	UNION  ALL
-	select 'min' as key,  min(c_int) as value from cbo_t3 s2
-    UNION ALL
-        select 'avg' as key,  avg(c_int) as value from cbo_t3 s3) unionsrc order by unionsrc.key
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select unionsrc.key FROM (select 'max' as key, max(c_int) as value from cbo_t3 s1
-	UNION  ALL
-	select 'min' as key,  min(c_int) as value from cbo_t3 s2
-    UNION ALL
-        select 'avg' as key,  avg(c_int) as value from cbo_t3 s3) unionsrc order by unionsrc.key
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (GROUP)
-Reducer 3 <- Reducer 2 (SORT), Reducer 5 (SORT), Reducer 7 (SORT)
-Reducer 5 <- Map 4 (GROUP)
-Reducer 7 <- Map 6 (GROUP)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 3
-      File Output Operator [FS_26]
-        Select Operator [SEL_25] (rows=3 width=87)
-          Output:["_col0"]
-        <-Reducer 2 [SORT]
-          SORT [RS_24]
-            Select Operator [SEL_5] (rows=1 width=87)
-              Output:["_col0"]
-              Group By Operator [GBY_4] (rows=1 width=8)
-                Output:["_col0"],aggregations:["count(VALUE._col0)"]
-              <-Map 1 [GROUP]
-                GROUP [RS_3]
-                  Group By Operator [GBY_2] (rows=1 width=8)
-                    Output:["_col0"],aggregations:["count(key)"]
-                    Select Operator [SEL_1] (rows=20 width=80)
-                      Output:["key"]
-                      TableScan [TS_0] (rows=20 width=80)
-                        default@cbo_t3,s1,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-        <-Reducer 5 [SORT]
-          SORT [RS_24]
-            Select Operator [SEL_12] (rows=1 width=87)
-              Output:["_col0"]
-              Group By Operator [GBY_11] (rows=1 width=8)
-                Output:["_col0"],aggregations:["count(VALUE._col0)"]
-              <-Map 4 [GROUP]
-                GROUP [RS_10]
-                  Group By Operator [GBY_9] (rows=1 width=8)
-                    Output:["_col0"],aggregations:["count(key)"]
-                    Select Operator [SEL_8] (rows=20 width=80)
-                      Output:["key"]
-                      TableScan [TS_7] (rows=20 width=80)
-                        default@cbo_t3,s2,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-        <-Reducer 7 [SORT]
-          SORT [RS_24]
-            Select Operator [SEL_21] (rows=1 width=87)
-              Output:["_col0"]
-              Group By Operator [GBY_20] (rows=1 width=8)
-                Output:["_col0"],aggregations:["count(VALUE._col0)"]
-              <-Map 6 [GROUP]
-                GROUP [RS_19]
-                  Group By Operator [GBY_18] (rows=1 width=8)
-                    Output:["_col0"],aggregations:["count(key)"]
-                    Select Operator [SEL_17] (rows=20 width=80)
-                      Output:["key"]
-                      TableScan [TS_16] (rows=20 width=80)
-                        default@cbo_t3,s3,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-
-PREHOOK: query: explain select unionsrc.key, count(1) FROM (select 'max' as key, max(c_int) as value from cbo_t3 s1
-    UNION  ALL
-        select 'min' as key,  min(c_int) as value from cbo_t3 s2
-    UNION ALL
-        select 'avg' as key,  avg(c_int) as value from cbo_t3 s3) unionsrc group by unionsrc.key order by unionsrc.key
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select unionsrc.key, count(1) FROM (select 'max' as key, max(c_int) as value from cbo_t3 s1
-    UNION  ALL
-        select 'min' as key,  min(c_int) as value from cbo_t3 s2
-    UNION ALL
-        select 'avg' as key,  avg(c_int) as value from cbo_t3 s3) unionsrc group by unionsrc.key order by unionsrc.key
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (GROUP)
-Reducer 3 <- Reducer 2 (GROUP), Reducer 6 (GROUP), Reducer 8 (GROUP)
-Reducer 4 <- Reducer 3 (SORT)
-Reducer 6 <- Map 5 (GROUP)
-Reducer 8 <- Map 7 (GROUP)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 4
-      File Output Operator [FS_31]
-        Select Operator [SEL_30] (rows=1 width=95)
-          Output:["_col0","_col1"]
-        <-Reducer 3 [SORT]
-          SORT [RS_29]
-            Group By Operator [GBY_27] (rows=1 width=95)
-              Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0
-            <-Reducer 2 [GROUP]
-              GROUP [RS_26]
-                PartitionCols:_col0
-                Group By Operator [GBY_25] (rows=1 width=95)
-                  Output:["_col0","_col1"],aggregations:["count(1)"],keys:_col0
-                  Select Operator [SEL_5] (rows=1 width=87)
-                    Output:["_col0"]
-                    Group By Operator [GBY_4] (rows=1 width=8)
-                      Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                    <-Map 1 [GROUP]
-                      GROUP [RS_3]
-                        Group By Operator [GBY_2] (rows=1 width=8)
-                          Output:["_col0"],aggregations:["count(key)"]
-                          Select Operator [SEL_1] (rows=20 width=80)
-                            Output:["key"]
-                            TableScan [TS_0] (rows=20 width=80)
-                              default@cbo_t3,s1,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-            <-Reducer 6 [GROUP]
-              GROUP [RS_26]
-                PartitionCols:_col0
-                Group By Operator [GBY_25] (rows=1 width=95)
-                  Output:["_col0","_col1"],aggregations:["count(1)"],keys:_col0
-                  Select Operator [SEL_12] (rows=1 width=87)
-                    Output:["_col0"]
-                    Group By Operator [GBY_11] (rows=1 width=8)
-                      Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                    <-Map 5 [GROUP]
-                      GROUP [RS_10]
-                        Group By Operator [GBY_9] (rows=1 width=8)
-                          Output:["_col0"],aggregations:["count(key)"]
-                          Select Operator [SEL_8] (rows=20 width=80)
-                            Output:["key"]
-                            TableScan [TS_7] (rows=20 width=80)
-                              default@cbo_t3,s2,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-            <-Reducer 8 [GROUP]
-              GROUP [RS_26]
-                PartitionCols:_col0
-                Group By Operator [GBY_25] (rows=1 width=95)
-                  Output:["_col0","_col1"],aggregations:["count(1)"],keys:_col0
-                  Select Operator [SEL_21] (rows=1 width=87)
-                    Output:["_col0"]
-                    Group By Operator [GBY_20] (rows=1 width=8)
-                      Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                    <-Map 7 [GROUP]
-                      GROUP [RS_19]
-                        Group By Operator [GBY_18] (rows=1 width=8)
-                          Output:["_col0"],aggregations:["count(key)"]
-                          Select Operator [SEL_17] (rows=20 width=80)
-                            Output:["key"]
-                            TableScan [TS_16] (rows=20 width=80)
-                              default@cbo_t3,s3,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-
-PREHOOK: query: explain select cbo_t1.key from cbo_t1 join cbo_t3 where cbo_t1.key=cbo_t3.key and cbo_t1.key >= 1
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select cbo_t1.key from cbo_t1 join cbo_t3 where cbo_t1.key=cbo_t3.key and cbo_t1.key >= 1
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (PARTITION-LEVEL SORT), Map 3 (PARTITION-LEVEL SORT)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_10]
-        Join Operator [JOIN_8] (rows=18 width=85)
-          Output:["_col0"],condition map:[{"":"{\"type\":\"Inner\",\"left\":0,\"right\":1}"}],keys:{"0":"_col0","1":"_col0"}
-        <-Map 1 [PARTITION-LEVEL SORT]
-          PARTITION-LEVEL SORT [RS_6]
-            PartitionCols:_col0
-            Select Operator [SEL_2] (rows=6 width=85)
-              Output:["_col0"]
-              Filter Operator [FIL_11] (rows=6 width=85)
-                predicate:(UDFToDouble(key) >= 1.0)
-                TableScan [TS_0] (rows=20 width=80)
-                  default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-        <-Map 3 [PARTITION-LEVEL SORT]
-          PARTITION-LEVEL SORT [RS_7]
-            PartitionCols:_col0
-            Select Operator [SEL_5] (rows=6 width=85)
-              Output:["_col0"]
-              Filter Operator [FIL_12] (rows=6 width=85)
-                predicate:(UDFToDouble(key) >= 1.0)
-                TableScan [TS_3] (rows=20 width=80)
-                  default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-
-PREHOOK: query: explain select cbo_t1.c_int, cbo_t2.c_int from cbo_t1 left outer join  cbo_t2 on cbo_t1.key=cbo_t2.key
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select cbo_t1.c_int, cbo_t2.c_int from cbo_t1 left outer join  cbo_t2 on cbo_t1.key=cbo_t2.key
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (PARTITION-LEVEL SORT), Map 3 (PARTITION-LEVEL SORT)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_8]
-        Select Operator [SEL_7] (rows=100 width=8)
-          Output:["_col0","_col1"]
-          Join Operator [JOIN_6] (rows=100 width=8)
-            Output:["_col1","_col3"],condition map:[{"":"{\"type\":\"Left Outer\",\"left\":0,\"right\":1}"}],keys:{"0":"_col0","1":"_col0"}
-          <-Map 1 [PARTITION-LEVEL SORT]
-            PARTITION-LEVEL SORT [RS_4]
-              PartitionCols:_col0
-              Select Operator [SEL_1] (rows=20 width=84)
-                Output:["_col0","_col1"]
-                TableScan [TS_0] (rows=20 width=84)
-                  default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-          <-Map 3 [PARTITION-LEVEL SORT]
-            PARTITION-LEVEL SORT [RS_5]
-              PartitionCols:_col0
-              Select Operator [SEL_3] (rows=20 width=84)
-                Output:["_col0","_col1"]
-                TableScan [TS_2] (rows=20 width=84)
-                  default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-
-PREHOOK: query: explain select cbo_t1.c_int, cbo_t2.c_int from cbo_t1 full outer join  cbo_t2 on cbo_t1.key=cbo_t2.key
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select cbo_t1.c_int, cbo_t2.c_int from cbo_t1 full outer join  cbo_t2 on cbo_t1.key=cbo_t2.key
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (PARTITION-LEVEL SORT), Map 3 (PARTITION-LEVEL SORT)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_8]
-        Select Operator [SEL_7] (rows=100 width=8)
-          Output:["_col0","_col1"]
-          Join Operator [JOIN_6] (rows=100 width=8)
-            Output:["_col1","_col3"],condition map:[{"":"{\"type\":\"Outer\",\"left\":0,\"right\":1}"}],keys:{"0":"_col0","1":"_col0"}
-          <-Map 1 [PARTITION-LEVEL SORT]
-            PARTITION-LEVEL SORT [RS_4]
-              PartitionCols:_col0
-              Select Operator [SEL_1] (rows=20 width=84)
-                Output:["_col0","_col1"]
-                TableScan [TS_0] (rows=20 width=84)
-                  default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-          <-Map 3 [PARTITION-LEVEL SORT]
-            PARTITION-LEVEL SORT [RS_5]
-              PartitionCols:_col0
-              Select Operator [SEL_3] (rows=20 width=84)
-                Output:["_col0","_col1"]
-                TableScan [TS_2] (rows=20 width=84)
-                  default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-
-PREHOOK: query: explain select b, cbo_t1.c, cbo_t2.p, q, cbo_t3.c_int from (select key as a, c_int as b, cbo_t1.c_float as c from cbo_t1) cbo_t1 join (select cbo_t2.key as p, cbo_t2.c_int as q, c_float as r from cbo_t2) cbo_t2 on cbo_t1.a=p join cbo_t3 on cbo_t1.a=key
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select b, cbo_t1.c, cbo_t2.p, q, cbo_t3.c_int from (select key as a, c_int as b, cbo_t1.c_float as c from cbo_t1) cbo_t1 join (select cbo_t2.key as p, cbo_t2.c_int as q, c_float as r from cbo_t2) cbo_t2 on cbo_t1.a=p join cbo_t3 on cbo_t1.a=key
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (PARTITION-LEVEL SORT), Map 3 (PARTITION-LEVEL SORT), Map 4 (PARTITION-LEVEL SORT)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_14]
-        Select Operator [SEL_13] (rows=291 width=101)
-          Output:["_col0","_col1","_col2","_col3","_col4"]
-          Join Operator [JOIN_12] (rows=291 width=101)
-            Output:["_col1","_col2","_col4","_col5","_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=18 width=87)
-                Output:["_col0","_col1","_col2"]
-                Filter Operator [FIL_15] (rows=18 width=87)
-                  predicate: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=18 width=84)
-                Output:["_col0","_col1"]
-                Filter Operator [FIL_16] (rows=18 width=84)
-                  predicate:key is not null
-                  TableScan [TS_3] (rows=20 width=84)
-                    default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-          <-Map 4 [PARTITION-LEVEL SORT]
-            PARTITION-LEVEL SORT [RS_11]
-              PartitionCols:_col0
-              Select Operator [SEL_8] (rows=18 width=84)
-                Output:["_col0","_col1"]
-                Filter Operator [FIL_17] (rows=18 width=84)
-                  predicate:key is not null
-                  TableScan [TS_6] (rows=20 width=84)
-                    default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-
-PREHOOK: query: explain select key, cbo_t1.c_int, cbo_t2.p, q from cbo_t1 join (select cbo_t2.key as p, cbo_t2.c_int as q, c_float as r from cbo_t2) cbo_t2 on cbo_t1.key=p join (select key as a, c_int as b, cbo_t3.c_float as c from cbo_t3)cbo_t3 on cbo_t1.key=a
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select key, cbo_t1.c_int, cbo_t2.p, q from cbo_t1 join (select cbo_t2.key as p, cbo_t2.c_int as q, c_float as r from cbo_t2) cbo_t2 on cbo_t1.key=p join (select key as a, c_int as b, cbo_t3.c_float as c from cbo_t3)cbo_t3 on cbo_t1.key=a
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (PARTITION-LEVEL SORT), Map 3 (PARTITION-LEVEL SORT), Map 4 (PARTITION-LEVEL SORT)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_14]
-        Select Operator [SEL_13] (rows=291 width=178)
-          Output:["_col0","_col1","_col2","_col3"]
-          Join Operator [JOIN_12] (rows=291 width=178)
-            Output:["_col0","_col1","_col3","_col4"],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=18 width=84)
-                Output:["_col0","_col1"]
-                Filter Operator [FIL_15] (rows=18 width=84)
-                  predicate:key is not null
-                  TableScan [TS_0] (rows=20 width=84)
-                    default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-          <-Map 3 [PARTITION-LEVEL SORT]
-            PARTITION-LEVEL SORT [RS_10]
-              PartitionCols:_col0
-              Select Operator [SEL_5] (rows=18 width=80)
-                Output:["_col0"]
-                Filter Operator [FIL_16] (rows=18 width=80)
-                  predicate:key is not null
-                  TableScan [TS_3] (rows=20 width=80)
-                    default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-          <-Map 4 [PARTITION-LEVEL SORT]
-            PARTITION-LEVEL SORT [RS_11]
-              PartitionCols:_col0
-              Select Operator [SEL_8] (rows=18 width=84)
-                Output:["_col0","_col1"]
-                Filter Operator [FIL_17] (rows=18 width=84)
-                  predicate:key is not null
-                  TableScan [TS_6] (rows=20 width=84)
-                    default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-
-PREHOOK: query: explain select * from (select q, b, cbo_t2.p, cbo_t1.c, cbo_t3.c_int from (select key as a, c_int as b, cbo_t1.c_float as c from cbo_t1  where (cbo_t1.c_int + 1 == 2) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)) cbo_t1 full outer join (select cbo_t2.key as p, cbo_t2.c_int as q, c_float as r from cbo_t2  where (cbo_t2.c_int + 1 == 2) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)) cbo_t2 on cbo_t1.a=p join cbo_t3 on cbo_t1.a=key where (b + cbo_t2.q == 2) and (b > 0 or c_int >= 0)) R where  (q + 1 = 2) and (R.b > 0 or c_int >= 0)
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select * from (select q, b, cbo_t2.p, cbo_t1.c, cbo_t3.c_int from (select key as a, c_int as b, cbo_t1.c_float as c from cbo_t1  where (cbo_t1.c_int + 1 == 2) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)) cbo_t1 full outer join (select cbo_t2.key as p, cbo_t2.c_int as q, c_float as r from cbo_t2  where (cbo_t2.c_int + 1 == 2) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)) cbo_t2 on cbo_t1.a=p join cbo_t3 on cbo_t1.a=key where (b + cbo_t2.q == 2) and (b > 0 or c_int >= 0)) R where  (q + 1 = 2) and (R.b > 0 or c_int >= 0)
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (PARTITION-LEVEL SORT), Map 3 (PARTITION-LEVEL SORT), Map 4 (PARTITION-LEVEL SORT)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_16]
-        Select Operator [SEL_15] (rows=72 width=101)
-          Output:["_col0","_col1","_col2","_col3","_col4"]
-          Filter Operator [FIL_13] (rows=72 width=101)
-            predicate:(((_col1 > 0) or (_col6 >= 0)) and ((_col1 + _col4) = 2))
-            Join Operator [JOIN_12] (rows=145 width=101)
-              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=9 width=93)
-                  Output:["_col0","_col1","_col2"]
-                  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=9 width=89)
-                  Output:["_col0","_col1"]
-                  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"]
-            <-Map 4 [PARTITION-LEVEL SORT]
-              PARTITION-LEVEL SORT [RS_11]
-                PartitionCols:_col0
-                Select Operator [SEL_8] (rows=18 width=84)
-                  Output:["_col0","_col1"]
-                  Filter Operator [FIL_19] (rows=18 width=84)
-                    predicate:key is not null
-                    TableScan [TS_6] (rows=20 width=84)
-                      default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-
-PREHOOK: query: explain select * from (select q, b, cbo_t2.p, cbo_t1.c, cbo_t3.c_int from (select key as a, c_int as b, cbo_t1.c_float as c from cbo_t1  where (cbo_t1.c_int + 1 == 2) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)) cbo_t1 right outer join (select cbo_t2.key as p, cbo_t2.c_int as q, c_float as r from cbo_t2  where (cbo_t2.c_int + 1 == 2) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)) cbo_t2 on cbo_t1.a=p right outer join cbo_t3 on cbo_t1.a=key where (b + cbo_t2.q == 2) and (b > 0 or c_int >= 0)) R where  (q + 1 = 2) and (R.b > 0 or c_int >= 0)
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select * from (select q, b, cbo_t2.p, cbo_t1.c, cbo_t3.c_int from (select key as a, c_int as b, cbo_t1.c_float as c from cbo_t1  where (cbo_t1.c_int + 1 == 2) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)) cbo_t1 right outer join (select cbo_t2.key as p, cbo_t2.c_int as q, c_float as r from cbo_t2  where (cbo_t2.c_int + 1 == 2) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)) cbo_t2 on cbo_t1.a=p right outer join cbo_t3 on cbo_t1.a=key where (b + cbo_t2.q == 2) and (b > 0 or c_int >= 0)) R where  (q + 1 = 2) and (R.b > 0 or c_int >= 0)
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (PARTITION-LEVEL SORT), Map 3 (PARTITION-LEVEL SORT), Map 4 (PARTITION-LEVEL SORT)
-
-Stage-0
-  Fetch Operator
-    limit:-1
-    Stage-1
-      Reducer 2
-      File Output Operator [FS_16]
-        Select Operator [SEL_15] (rows=72 width=101)
-          Output:["_col0","_col1","_col2","_col3","_col4"]
-          Filter Operator [FIL_13] (rows=72 width=101)
-            predicate:(((_col1 > 0) or (_col6 >= 0)) and ((_col1 + _col4) = 2))
-            Join Operator [JOIN_12] (rows=145 width=101)
-              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=9 width=93)
-                  Output:["_col0","_col1","_col2"]
-                  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=9 width=89)
-                  Output:["_col0","_col1"]
-                  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"]
-            <-Map 4 [PARTITION-LEVEL SORT]
-              PARTITION-LEVEL SORT [RS_11]
-                PartitionCols:_col0
-                Select Operator [SEL_8] (rows=18 width=84)
-                  Output:["_col0","_col1"]
-                  Filter Operator [FIL_19] (rows=18 width=84)
-                    predicate:key is not null
-                    TableScan [TS_6] (rows=20 width=84)
-                      default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-
-PREHOOK: query: explain select key, (c_int+1)+2 as x, sum(c_int) from cbo_t1 group by c_float, cbo_t1.c_int, key order by x limit 1
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select key, (c_int+1)+2 as x, sum(c_int) from cbo_t1 group by c_float, cbo_t1.c_int, key order by x limit 1
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (GROUP)
-Reducer 3 <- Reducer 2 (SORT)
-
-Stage-0
-  Fetch Operator
-    limit:1
-    Stage-1
-      Reducer 3
-      File Output Operator [FS_10]
-        Limit [LIM_9] (rows=1 width=97)
-          Number of rows:1
-          Select Operator [SEL_8] (rows=10 width=97)
-            Output:["_col0","_col1","_col2"]
-          <-Reducer 2 [SORT]
-            SORT [RS_7]
-              Select Operator [SEL_5] (rows=10 width=97)
-                Output:["_col0","_col1","_col2"]
-                Group By Operator [GBY_4] (rows=10 width=101)
-                  Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-                <-Map 1 [GROUP]
-                  GROUP [RS_3]
-                    PartitionCols:_col0, _col1, _col2
-                    Group By Operator [GBY_2] (rows=10 width=101)
-                      Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
-                      Select Operator [SEL_1] (rows=20 width=88)
-                        Output:["key","c_int","c_float"]
-                        TableScan [TS_0] (rows=20 width=88)
-                          default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
-
-PREHOOK: query: explain select x, y, count(*) from (select key, (c_int+c_float+1+2) as x, sum(c_int) as y from cbo_t1 group by c_float, cbo_t1.c_int, key) R group by y, x order by x,y limit 1
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select x, y, count(*) from (select key, (c_int+c_float+1+2) as x, sum(c_int) as y from cbo_t1 group by c_float, cbo_t1.c_int, key) R group by y, x order by x,y limit 1
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (GROUP)
-Reducer 3 <- Reducer 2 (GROUP)
-Reducer 4 <- Reducer 3 (SORT)
-
-Stage-0
-  Fetch Operator
-    limit:1
-    Stage-1
-      Reducer 4
-      File Output Operator [FS_15]
-        Limit [LIM_14] (rows=1 width=20)
-          Number of rows:1
-          Select Operator [SEL_13] (rows=5 width=20)
-            Output:["_col0","_col1","_col2"]
-          <-Reducer 3 [SORT]
-            SORT [RS_12]
-              Group By Operator [GBY_10] (rows=5 width=20)
-                Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1
-              <-Reducer 2 [GROUP]
-                GROUP [RS_9]
-                  PartitionCols:_col0, _col1
-                  Group By Operator [GBY_8] (rows=5 width=20)
-                    Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col1, _col0
-                    Select Operator [SEL_5] (rows=10 width=101)
-                      Output:["_col0","_col1"]
-                      Group By Operator [GBY_4] (rows=10 width=101)
-                        Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-                      <-Map 1 [GROUP]
-                        GROUP [RS_3]
-                          PartitionCols:_col0, _col1, _col2
-                          Group By Operator [GBY_2] (rows=10 width=101)
-                            Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
-                            Select Operator [SEL_1] (rows=20 width=88)
-                              Output:["key","c_int","c_float"]
-                              TableScan [TS_0] (rows=20 width=88)
-                                default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
-
-PREHOOK: query: explain select key from(select key from (select key from cbo_t1 limit 5)cbo_t2  limit 5)cbo_t3  limit 5
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select key from(select key from (select key from cbo_t1 limit 5)cbo_t2  limit 5)cbo_t3  limit 5
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (GROUP)
-Reducer 3 <- Reducer 2 (GROUP)
-
-Stage-0
-  Fetch Operator
-    limit:5
-    Stage-1
-      Reducer 3
-      File Output Operator [FS_13]
-        Limit [LIM_12] (rows=5 width=85)
-          Number of rows:5
-          Limit [LIM_10] (rows=5 width=85)
-            Number of rows:5
-            Select Operator [SEL_9] (rows=5 width=85)
-              Output:["_col0"]
-            <-Reducer 2 [GROUP]
-              GROUP [RS_8]
-                Limit [LIM_7] (rows=5 width=85)
-                  Number of rows:5
-                  Limit [LIM_5] (rows=5 width=85)
-                    Number of rows:5
-                    Select Operator [SEL_4] (rows=5 width=85)
-                      Output:["_col0"]
-                    <-Map 1 [GROUP]
-                      GROUP [RS_3]
-                        Limit [LIM_2] (rows=5 width=85)
-                          Number of rows:5
-                          Select Operator [SEL_1] (rows=20 width=80)
-                            Output:["_col0"]
-                            TableScan [TS_0] (rows=20 width=80)
-                              default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-
-PREHOOK: query: explain select key, c_int from(select key, c_int from (select key, c_int from cbo_t1 order by c_int limit 5)cbo_t1  order by c_int limit 5)cbo_t2  order by c_int limit 5
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select key, c_int from(select key, c_int from (select key, c_int from cbo_t1 order by c_int limit 5)cbo_t1  order by c_int limit 5)cbo_t2  order by c_int limit 5
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (SORT)
-Reducer 3 <- Reducer 2 (SORT)
-Reducer 4 <- Reducer 3 (SORT)
-
-Stage-0
-  Fetch Operator
-    limit:5
-    Stage-1
-      Reducer 4
-      File Output Operator [FS_13]
-        Limit [LIM_12] (rows=5 width=89)
-          Number of rows:5
-          Select Operator [SEL_11] (rows=5 width=89)
-            Output:["_col0","_col1"]
-          <-Reducer 3 [SORT]
-            SORT [RS_10]
-              Limit [LIM_8] (rows=5 width=89)
-                Number of rows:5
-                Select Operator [SEL_7] (rows=5 width=89)
-                  Output:["_col0","_col1"]
-                <-Reducer 2 [SORT]
-                  SORT [RS_6]
-                    Limit [LIM_4] (rows=5 width=89)
-                      Number of rows:5
-                      Select Operator [SEL_3] (rows=20 width=84)
-                        Output:["_col0","_col1"]
-                      <-Map 1 [SORT]
-                        SORT [RS_2]
-                          Select Operator [SEL_1] (rows=20 width=84)
-                            Output:["_col0","_col1"]
-                            TableScan [TS_0] (rows=20 width=84)
-                              default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-
-PREHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0) group by c_float, cbo_t1.c_int, key order by a limit 5) cbo_t1 join (select key as p, c_int+1 as q, sum(c_int) as r from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key order by q/10 desc, r asc limit 5) cbo_t2 on cbo_t1.a=p join cbo_t3 on cbo_t1.a=key where (b + cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by cbo_t3.c_int, c order by cbo_t3.c_int+c desc, c limit 5
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select cbo_t3.c_int, c, count(*) from (select key as a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0) group by c_float, cbo_t1.c_int, key order by a limit 5) cbo_t1 join (select key as p, c_int+1 as q, sum(c_int) as r from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0)  group by c_float, cbo_t2.c_int, key order by q/10 desc, r asc limit 5) cbo_t2 on cbo_t1.a=p join cbo_t3 on cbo_t1.a=key where (b + cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by cbo_t3.c_int, c order by cbo_t3.c_int+c desc, c limit 5
-POSTHOOK: type: QUERY
-Plan optimized by CBO.
-
-Vertex dependency in root stage
-Reducer 2 <- Map 1 (GROUP)
-Reducer 3 <- Reducer 2 (SORT)
-Reducer 4 <- Map 10 (PARTITION-LEVEL SORT), Reducer 3 (PARTITION-LEVEL SORT), Reducer 9 (PARTITION-LEVEL SORT)
-Reducer 5 <- Reducer 4 (GROUP)
-Reducer 6 <- Reducer 5 (SORT)
-Reducer 8 <- Map 7 (GROUP)
-Reducer 9 <- Reducer 8 (SORT)
-
-Stage-0
-  Fetch Operator
-    limit:5
-    Stage-1
-      Reducer 6
-      File Output Operator [FS_45]
-        Limit [LIM_44] (rows=1 width=20)
-          Number of rows:5
-          Select Operator [SEL_43] (rows=1 width=20)
-            Output:["_col0","_col1","_col2"]
-          <-Reducer 5 [SORT]
-            SORT [RS_42]
-              Select Operator [SEL_41] (rows=1 width=20)
-                Output:["_col0","_col1","_col2"]
-                Group By Operator [GBY_40] (rows=1 width=20)
-                  Output:["_col0","_col1","_col2"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1
-                <-Reducer 4 [GROUP]
-                  GROUP [RS_39]
-                    PartitionCols:_col0, _col1
-                    Group By Operator [GBY_38] (rows=1 width=20)
-                      Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col4, _col6
-                      Select Operator [SEL_37] (rows=3 width=20)
-                        Output:["_col4","_col6"]
-                        Filter Operator [FIL_35] (rows=3 width=20)
-                          predicate:(((_col3 > 0) or (_col6 >= 0)) and ((_col3 + _col1) >= 0))
-                          Join Operator [JOIN_34] (rows=7 width=20)
-                            Output:["_col1","_col3","_col4","_col6"],condition map:[{"":"{\"type\":\"Inner\",\"left\":0,\"right\":1}"},{"":"{\"type\":\"Inner\",\"left\":1,\"right\":2}"}],keys:{"0":"_col0","1":"_col0","2":"_col0"}
-                          <-Map 10 [PARTITION-LEVEL SORT]
-                            PARTITION-LEVEL SORT [RS_33]
-                              PartitionCols:_col0
-                              Select Operator [SEL_30] (rows=18 width=84)
-                                Output:["_col0","_col1"]
-                                Filter Operator [FIL_48] (rows=18 width=84)
-                                  predicate:key is not null
-                                  TableScan [TS_28] (rows=20 width=84)
-                                    default@cbo_t3,cbo_t3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int"]
-                          <-Reducer 3 [PARTITION-LEVEL SORT]
-                            PARTITION-LEVEL SORT [RS_31]
-                              PartitionCols:_col0
-                              Filter Operator [FIL_12] (rows=2 width=105)
-                                predicate:_col0 is not null
-                                Limit [LIM_10] (rows=3 width=105)
-                                  Number of rows:5
-                                  Select Operator [SEL_9] (rows=3 width=105)
-                                    Output:["_col0","_col1"]
-                                  <-Reducer 2 [SORT]
-                                    SORT [RS_8]
-                                      Select Operator [SEL_6] (rows=3 width=105)
-                                        Output:["_col0","_col1","_col2","_col3"]
-                                        Group By Operator [GBY_5] (rows=3 width=101)
-                                          Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-                                        <-Map 1 [GROUP]
-                                          GROUP [RS_4]
-                                            PartitionCols:_col0, _col1, _col2
-                                            Group By Operator [GBY_3] (rows=3 width=101)
-                                              Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
-                                              Filter Operator [FIL_46] (rows=6 width=93)
-                                                predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)))
-                                                TableScan [TS_0] (rows=20 width=88)
-                                                  default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
-                          <-Reducer 9 [PARTITION-LEVEL SORT]
-                            PARTITION-LEVEL SORT [RS_32]
-                              PartitionCols:_col0
-                              Filter Operator [FIL_26] (rows=2 width=97)
-                                predicate:_col0 is not null
-                                Limit [LIM_24] (rows=3 width=97)
-                                  Number of rows:5
-                                  Select Operator [SEL_23] (rows=3 width=97)
-                                    Output:["_col0","_col1","_col2"]
-                                  <-Reducer 8 [SORT]
-                                    SORT [RS_22]
-                                      Select Operator [SEL_20] (rows=3 width=97)
-                                        Output:["_col0","_col1","_col2"]
-                                        Group By Operator [GBY_19] (rows=3 width=101)
-                                          Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-                                        <-Map 7 [GROUP]
-                                          GROUP [RS_18]
-                                            PartitionCols:_col0, _col1, _col2
-                                            Group By Operator [GBY_17] (rows=3 width=101)
-                                              Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
-                                              Filter Operator [FIL_47] (rows=6 width=93)
-                                                predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0)))
-                                                TableScan [TS_14] (rows=20 width=88)
-                                                  default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
-
-PREHOOK: query: explain select cbo_t1.c_int           from cbo_t1 left semi join   cbo_t2 on cbo_t1.key=cbo_t2.key where (cbo_t1.c_int + 1 == 2) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)
-PREHOOK: type: QUERY
-POSTHOOK: query: expl

<TRUNCATED>

Mime
View raw message