You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jc...@apache.org on 2018/11/26 23:32:39 UTC

[21/37] hive git commit: HIVE-20775: Factor cost of each SJ reduction when costing a follow-up reduction (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)

http://git-wip-us.apache.org/repos/asf/hive/blob/e986fc56/ql/src/test/results/clientpositive/perf/tez/constraints/query8.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query8.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query8.q.out
index 93bce2e..d97f9df 100644
--- a/ql/src/test/results/clientpositive/perf/tez/constraints/query8.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query8.q.out
@@ -227,33 +227,32 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 1 <- Reducer 13 (BROADCAST_EDGE), Reducer 7 (BROADCAST_EDGE)
-Reducer 11 <- Union 10 (SIMPLE_EDGE)
-Reducer 12 <- Map 19 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
-Reducer 13 <- Reducer 12 (CUSTOM_SIMPLE_EDGE)
-Reducer 15 <- Map 14 (SIMPLE_EDGE), Map 18 (SIMPLE_EDGE)
-Reducer 16 <- Reducer 15 (SIMPLE_EDGE)
-Reducer 17 <- Reducer 16 (SIMPLE_EDGE), Union 10 (CONTAINS)
+Map 1 <- Reducer 12 (BROADCAST_EDGE)
+Reducer 10 <- Union 9 (SIMPLE_EDGE)
+Reducer 11 <- Map 18 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
+Reducer 12 <- Reducer 11 (CUSTOM_SIMPLE_EDGE)
+Reducer 14 <- Map 13 (SIMPLE_EDGE), Map 17 (SIMPLE_EDGE)
+Reducer 15 <- Reducer 14 (SIMPLE_EDGE)
+Reducer 16 <- Reducer 15 (SIMPLE_EDGE), Union 9 (CONTAINS)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 12 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 3 <- Reducer 11 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
-Reducer 7 <- Map 6 (CUSTOM_SIMPLE_EDGE)
-Reducer 9 <- Map 8 (SIMPLE_EDGE), Union 10 (CONTAINS)
+Reducer 8 <- Map 7 (SIMPLE_EDGE), Union 9 (CONTAINS)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 5 vectorized
-      File Output Operator [FS_151]
-        Limit [LIM_150] (rows=1 width=200)
+      File Output Operator [FS_146]
+        Limit [LIM_145] (rows=1 width=200)
           Number of rows:100
-          Select Operator [SEL_149] (rows=1 width=200)
+          Select Operator [SEL_144] (rows=1 width=200)
             Output:["_col0","_col1"]
           <-Reducer 4 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_148]
-              Group By Operator [GBY_147] (rows=1 width=200)
+            SHUFFLE [RS_143]
+              Group By Operator [GBY_142] (rows=1 width=200)
                 Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
               <-Reducer 3 [SIMPLE_EDGE]
                 SHUFFLE [RS_57]
@@ -264,88 +263,88 @@ Stage-0
                       keys:_col6,sort order:+,top n:100
                       Merge Join Operator [MERGEJOIN_118] (rows=1 width=200)
                         Conds:RS_52._col1=RS_53._col1(Inner),Output:["_col2","_col6"]
-                      <-Reducer 12 [SIMPLE_EDGE]
+                      <-Reducer 11 [SIMPLE_EDGE]
                         SHUFFLE [RS_53]
                           PartitionCols:_col1
                           Merge Join Operator [MERGEJOIN_117] (rows=1 width=92)
-                            Conds:RS_138._col0=RS_141._col2(Inner),Output:["_col1","_col2"]
-                          <-Map 19 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_141]
+                            Conds:RS_130._col0=RS_133._col2(Inner),Output:["_col1","_col2"]
+                          <-Map 18 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_133]
                               PartitionCols:_col2
-                              Select Operator [SEL_140] (rows=1704 width=276)
+                              Select Operator [SEL_132] (rows=1704 width=276)
                                 Output:["_col0","_col1","_col2"]
-                                Filter Operator [FIL_139] (rows=1704 width=181)
+                                Filter Operator [FIL_131] (rows=1704 width=181)
                                   predicate:substr(s_zip, 1, 2) is not null
                                   TableScan [TS_42] (rows=1704 width=181)
                                     default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_store_name","s_zip"]
-                          <-Reducer 11 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_138]
+                          <-Reducer 10 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_130]
                               PartitionCols:_col0
-                              Select Operator [SEL_137] (rows=1 width=184)
+                              Select Operator [SEL_129] (rows=1 width=184)
                                 Output:["_col0"]
-                                Filter Operator [FIL_136] (rows=1 width=192)
+                                Filter Operator [FIL_128] (rows=1 width=192)
                                   predicate:(_col1 = 2L)
-                                  Group By Operator [GBY_135] (rows=3098 width=192)
+                                  Group By Operator [GBY_127] (rows=3098 width=192)
                                     Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0
-                                  <-Union 10 [SIMPLE_EDGE]
-                                    <-Reducer 17 [CONTAINS] vectorized
-                                      Reduce Output Operator [RS_172]
+                                  <-Union 9 [SIMPLE_EDGE]
+                                    <-Reducer 16 [CONTAINS] vectorized
+                                      Reduce Output Operator [RS_167]
                                         PartitionCols:_col0
-                                        Group By Operator [GBY_171] (rows=3098 width=192)
+                                        Group By Operator [GBY_166] (rows=3098 width=192)
                                           Output:["_col0","_col1"],aggregations:["count(_col1)"],keys:_col0
-                                          Group By Operator [GBY_170] (rows=1126 width=192)
+                                          Group By Operator [GBY_165] (rows=1126 width=192)
                                             Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0
-                                          <-Reducer 16 [SIMPLE_EDGE] vectorized
-                                            SHUFFLE [RS_169]
+                                          <-Reducer 15 [SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_164]
                                               PartitionCols:_col0
-                                              Group By Operator [GBY_168] (rows=1126 width=192)
+                                              Group By Operator [GBY_163] (rows=1126 width=192)
                                                 Output:["_col0","_col1"],aggregations:["count()"],keys:_col0
-                                                Select Operator [SEL_167] (rows=2253 width=97)
+                                                Select Operator [SEL_162] (rows=2253 width=97)
                                                   Output:["_col0"]
-                                                  Filter Operator [FIL_166] (rows=2253 width=97)
+                                                  Filter Operator [FIL_161] (rows=2253 width=97)
                                                     predicate:(_col1 > 10L)
-                                                    Group By Operator [GBY_165] (rows=6761 width=97)
+                                                    Group By Operator [GBY_160] (rows=6761 width=97)
                                                       Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0
-                                                    <-Reducer 15 [SIMPLE_EDGE]
+                                                    <-Reducer 14 [SIMPLE_EDGE]
                                                       SHUFFLE [RS_25]
                                                         PartitionCols:_col0
                                                         Group By Operator [GBY_24] (rows=67610 width=97)
                                                           Output:["_col0","_col1"],aggregations:["count()"],keys:_col1
                                                           Merge Join Operator [MERGEJOIN_116] (rows=26666667 width=89)
-                                                            Conds:RS_161._col0=RS_164._col0(Inner),Output:["_col1"]
-                                                          <-Map 14 [SIMPLE_EDGE] vectorized
-                                                            SHUFFLE [RS_161]
+                                                            Conds:RS_156._col0=RS_159._col0(Inner),Output:["_col1"]
+                                                          <-Map 13 [SIMPLE_EDGE] vectorized
+                                                            SHUFFLE [RS_156]
                                                               PartitionCols:_col0
-                                                              Select Operator [SEL_160] (rows=40000000 width=93)
+                                                              Select Operator [SEL_155] (rows=40000000 width=93)
                                                                 Output:["_col0","_col1"]
-                                                                Filter Operator [FIL_159] (rows=40000000 width=93)
+                                                                Filter Operator [FIL_154] (rows=40000000 width=93)
                                                                   predicate:substr(substr(ca_zip, 1, 5), 1, 2) is not null
                                                                   TableScan [TS_14] (rows=40000000 width=93)
                                                                     default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_zip"]
-                                                          <-Map 18 [SIMPLE_EDGE] vectorized
-                                                            SHUFFLE [RS_164]
+                                                          <-Map 17 [SIMPLE_EDGE] vectorized
+                                                            SHUFFLE [RS_159]
                                                               PartitionCols:_col0
-                                                              Select Operator [SEL_163] (rows=26666667 width=4)
+                                                              Select Operator [SEL_158] (rows=26666667 width=4)
                                                                 Output:["_col0"]
-                                                                Filter Operator [FIL_162] (rows=26666667 width=89)
+                                                                Filter Operator [FIL_157] (rows=26666667 width=89)
                                                                   predicate:((c_preferred_cust_flag = 'Y') and c_current_addr_sk is not null)
                                                                   TableScan [TS_17] (rows=80000000 width=89)
                                                                     default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_current_addr_sk","c_preferred_cust_flag"]
-                                    <-Reducer 9 [CONTAINS] vectorized
-                                      Reduce Output Operator [RS_158]
+                                    <-Reducer 8 [CONTAINS] vectorized
+                                      Reduce Output Operator [RS_153]
                                         PartitionCols:_col0
-                                        Group By Operator [GBY_157] (rows=3098 width=192)
+                                        Group By Operator [GBY_152] (rows=3098 width=192)
                                           Output:["_col0","_col1"],aggregations:["count(_col1)"],keys:_col0
-                                          Group By Operator [GBY_156] (rows=5071 width=192)
+                                          Group By Operator [GBY_151] (rows=5071 width=192)
                                             Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0
-                                          <-Map 8 [SIMPLE_EDGE] vectorized
-                                            SHUFFLE [RS_155]
+                                          <-Map 7 [SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_150]
                                               PartitionCols:_col0
-                                              Group By Operator [GBY_154] (rows=70994 width=192)
+                                              Group By Operator [GBY_149] (rows=70994 width=192)
                                                 Output:["_col0","_col1"],aggregations:["count()"],keys:_col0
-                                                Select Operator [SEL_153] (rows=20000000 width=89)
+                                                Select Operator [SEL_148] (rows=20000000 width=89)
                                                   Output:["_col0"]
-                                                  Filter Operator [FIL_152] (rows=20000000 width=89)
+                                                  Filter Operator [FIL_147] (rows=20000000 width=89)
                                                     predicate:((substr(ca_zip, 1, 5)) IN ('89436', '30868', '65085', '22977', '83927', '77557', '58429', '40697', '80614', '10502', '32779', '91137', '61265', '98294', '17921', '18427', '21203', '59362', '87291', '84093', '21505', '17184', '10866', '67898', '25797', '28055', '18377', '80332', '74535', '21757', '29742', '90885', '29898', '17819', '40811', '25990', '47513', '89531', '91068', '10391', '18846', '99223', '82637', '41368', '83658', '86199', '81625', '26696', '89338', '88425', '32200', '81427', '19053', '77471', '36610', '99823', '43276', '41249', '48584', '83550', '82276', '18842', '78890', '14090', '38123', '40936', '34425', '19850', '43286', '80072', '79188', '54191', '11395', '50497', '84861', '90733', '21068', '57666', '37119', '25004', '57835', '70067', '62878', '95806', '19303', '18840', '19124', '29785', '16737', '16022', '49613', '89977', '68310', '60069', '98360', '48649', '39050', '41793', '25002', '27413', '39736'
 , '47208', '16515', '94808', '57648', '15009', '80015', '42961', '63982', '21744', '71853', '81087', '67468', '34175', '64008', '20261', '11201', '51799', '48043', '45645', '61163', '48375', '36447', '57042', '21218', '41100', '89951', '22745', '35851', '83326', '61125', '78298', '80752', '49858', '52940', '96976', '63792', '11376', '53582', '18717', '90226', '50530', '94203', '99447', '27670', '96577', '57856', '56372', '16165', '23427', '54561', '28806', '44439', '22926', '30123', '61451', '92397', '56979', '92309', '70873', '13355', '21801', '46346', '37562', '56458', '28286', '47306', '99555', '69399', '26234', '47546', '49661', '88601', '35943', '39936', '25632', '24611', '44166', '56648', '30379', '59785', '11110', '14329', '93815', '52226', '71381', '13842', '25612', '63294', '14664', '21077', '82626', '18799', '60915', '81020', '56447', '76619', '11433', '13414', '42548', '92713', '70467', '30884', '47484', '16072', '38936', '13036', '88376', '45539', '35901', '19506', '6569
 0', '73957', '71850', '49231', '14276', '20005', '18384', '76615', '11635', '38177', '55607', '41369', '95447', '58581', '58149', '91946', '33790', '76232', '75692', '95464', '22246', '51061', '56692', '53121', '77209', '15482', '10688', '14868', '45907', '73520', '72666', '25734', '17959', '24677', '66446', '94627', '53535', '15560', '41967', '69297', '11929', '59403', '33283', '52232', '57350', '43933', '40921', '36635', '10827', '71286', '19736', '80619', '25251', '95042', '15526', '36496', '55854', '49124', '81980', '35375', '49157', '63512', '28944', '14946', '36503', '54010', '18767', '23969', '43905', '66979', '33113', '21286', '58471', '59080', '13395', '79144', '70373', '67031', '38360', '26705', '50906', '52406', '26066', '73146', '15884', '31897', '30045', '61068', '45550', '92454', '13376', '14354', '19770', '22928', '97790', '50723', '46081', '30202', '14410', '20223', '88500', '67298', '13261', '14172', '81410', '93578', '83583', '46047', '94167', '82564', '21156', '15
 799', '86709', '37931', '74703', '83103', '23054', '70470', '72008', '49247', '91911', '69998', '20961', '70070', '63197', '54853', '88191', '91830', '49521', '19454', '81450', '89091', '62378', '25683', '61869', '51744', '36580', '85778', '36871', '48121', '28810', '83712', '45486', '67393', '26935', '42393', '20132', '55349', '86057', '21309', '80218', '10094', '11357', '48819', '39734', '40758', '30432', '21204', '29467', '30214', '61024', '55307', '74621', '11622', '68908', '33032', '52868', '99194', '99900', '84936', '69036', '99149', '45013', '32895', '59004', '32322', '14933', '32936', '33562', '72550', '27385', '58049', '58200', '16808', '21360', '32961', '18586', '79307', '15492') and substr(substr(ca_zip, 1, 5), 1, 2) is not null)
                                                     TableScan [TS_6] (rows=40000000 width=89)
                                                       default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_zip"]
@@ -353,45 +352,34 @@ Stage-0
                         SHUFFLE [RS_52]
                           PartitionCols:_col1
                           Merge Join Operator [MERGEJOIN_115] (rows=37399754 width=42)
-                            Conds:RS_146._col0=RS_129._col0(Inner),Output:["_col1","_col2"]
-                          <-Map 6 [SIMPLE_EDGE] vectorized
-                            PARTITION_ONLY_SHUFFLE [RS_129]
-                              PartitionCols:_col0
-                              Select Operator [SEL_128] (rows=130 width=4)
-                                Output:["_col0"]
-                                Filter Operator [FIL_127] (rows=130 width=12)
-                                  predicate:((d_qoy = 1) and (d_year = 2002))
-                                  TableScan [TS_3] (rows=73049 width=12)
-                                    default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_qoy"]
+                            Conds:RS_138._col0=RS_141._col0(Inner),Output:["_col1","_col2"]
                           <-Map 1 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_146]
+                            SHUFFLE [RS_138]
                               PartitionCols:_col0
-                              Select Operator [SEL_145] (rows=525329897 width=114)
+                              Select Operator [SEL_137] (rows=525329897 width=114)
                                 Output:["_col0","_col1","_col2"]
-                                Filter Operator [FIL_144] (rows=525329897 width=114)
-                                  predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_50_date_dim_d_date_sk_min) AND DynamicValue(RS_50_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_50_date_dim_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_53_store_s_store_sk_min) AND DynamicValue(RS_53_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_53_store_s_store_sk_bloom_filter))) and ss_sold_date_sk is not null and ss_store_sk is not null)
+                                Filter Operator [FIL_136] (rows=525329897 width=114)
+                                  predicate:((ss_store_sk BETWEEN DynamicValue(RS_53_store_s_store_sk_min) AND DynamicValue(RS_53_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_53_store_s_store_sk_bloom_filter))) and ss_sold_date_sk is not null and ss_store_sk is not null)
                                   TableScan [TS_0] (rows=575995635 width=114)
                                     default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_store_sk","ss_net_profit"]
-                                  <-Reducer 13 [BROADCAST_EDGE] vectorized
-                                    BROADCAST [RS_143]
-                                      Group By Operator [GBY_142] (rows=1 width=12)
+                                  <-Reducer 12 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_135]
+                                      Group By Operator [GBY_134] (rows=1 width=12)
                                         Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                      <-Reducer 12 [CUSTOM_SIMPLE_EDGE]
+                                      <-Reducer 11 [CUSTOM_SIMPLE_EDGE]
                                         SHUFFLE [RS_92]
                                           Group By Operator [GBY_91] (rows=1 width=12)
                                             Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
                                             Select Operator [SEL_90] (rows=1 width=8)
                                               Output:["_col0"]
                                                Please refer to the previous Merge Join Operator [MERGEJOIN_117]
-                                  <-Reducer 7 [BROADCAST_EDGE] vectorized
-                                    BROADCAST [RS_134]
-                                      Group By Operator [GBY_133] (rows=1 width=12)
-                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                      <-Map 6 [CUSTOM_SIMPLE_EDGE] vectorized
-                                        PARTITION_ONLY_SHUFFLE [RS_132]
-                                          Group By Operator [GBY_131] (rows=1 width=12)
-                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                            Select Operator [SEL_130] (rows=130 width=4)
-                                              Output:["_col0"]
-                                               Please refer to the previous Select Operator [SEL_128]
+                          <-Map 6 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_141]
+                              PartitionCols:_col0
+                              Select Operator [SEL_140] (rows=130 width=4)
+                                Output:["_col0"]
+                                Filter Operator [FIL_139] (rows=130 width=12)
+                                  predicate:((d_qoy = 1) and (d_year = 2002))
+                                  TableScan [TS_3] (rows=73049 width=12)
+                                    default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_qoy"]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/e986fc56/ql/src/test/results/clientpositive/perf/tez/constraints/query80.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query80.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query80.q.out
index ad1d2a2..1718814 100644
--- a/ql/src/test/results/clientpositive/perf/tez/constraints/query80.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query80.q.out
@@ -217,36 +217,30 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 1 <- Reducer 13 (BROADCAST_EDGE), Reducer 27 (BROADCAST_EDGE), Reducer 31 (BROADCAST_EDGE)
-Map 35 <- Reducer 19 (BROADCAST_EDGE), Reducer 28 (BROADCAST_EDGE), Reducer 32 (BROADCAST_EDGE)
-Map 39 <- Reducer 25 (BROADCAST_EDGE), Reducer 29 (BROADCAST_EDGE), Reducer 33 (BROADCAST_EDGE)
+Map 1 <- Reducer 13 (BROADCAST_EDGE)
+Map 29 <- Reducer 19 (BROADCAST_EDGE)
+Map 33 <- Reducer 25 (BROADCAST_EDGE)
 Reducer 10 <- Reducer 9 (SIMPLE_EDGE)
 Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
-Reducer 14 <- Map 12 (SIMPLE_EDGE), Reducer 36 (SIMPLE_EDGE)
+Reducer 14 <- Map 12 (SIMPLE_EDGE), Reducer 30 (SIMPLE_EDGE)
 Reducer 15 <- Map 26 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE)
-Reducer 16 <- Map 30 (SIMPLE_EDGE), Reducer 15 (SIMPLE_EDGE)
-Reducer 17 <- Map 38 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE)
+Reducer 16 <- Map 27 (SIMPLE_EDGE), Reducer 15 (SIMPLE_EDGE)
+Reducer 17 <- Map 32 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE)
 Reducer 18 <- Reducer 17 (SIMPLE_EDGE), Union 8 (CONTAINS)
 Reducer 19 <- Map 12 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 11 (SIMPLE_EDGE)
-Reducer 20 <- Map 12 (SIMPLE_EDGE), Reducer 40 (SIMPLE_EDGE)
+Reducer 20 <- Map 12 (SIMPLE_EDGE), Reducer 34 (SIMPLE_EDGE)
 Reducer 21 <- Map 26 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE)
-Reducer 22 <- Map 30 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE)
-Reducer 23 <- Map 42 (SIMPLE_EDGE), Reducer 22 (SIMPLE_EDGE)
+Reducer 22 <- Map 27 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE)
+Reducer 23 <- Map 36 (SIMPLE_EDGE), Reducer 22 (SIMPLE_EDGE)
 Reducer 24 <- Reducer 23 (SIMPLE_EDGE), Union 8 (CONTAINS)
 Reducer 25 <- Map 12 (CUSTOM_SIMPLE_EDGE)
-Reducer 27 <- Map 26 (CUSTOM_SIMPLE_EDGE)
-Reducer 28 <- Map 26 (CUSTOM_SIMPLE_EDGE)
-Reducer 29 <- Map 26 (CUSTOM_SIMPLE_EDGE)
 Reducer 3 <- Map 12 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 31 <- Map 30 (CUSTOM_SIMPLE_EDGE)
-Reducer 32 <- Map 30 (CUSTOM_SIMPLE_EDGE)
-Reducer 33 <- Map 30 (CUSTOM_SIMPLE_EDGE)
-Reducer 36 <- Map 35 (SIMPLE_EDGE), Map 37 (SIMPLE_EDGE)
+Reducer 30 <- Map 29 (SIMPLE_EDGE), Map 31 (SIMPLE_EDGE)
+Reducer 34 <- Map 33 (SIMPLE_EDGE), Map 35 (SIMPLE_EDGE)
 Reducer 4 <- Map 26 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 40 <- Map 39 (SIMPLE_EDGE), Map 41 (SIMPLE_EDGE)
-Reducer 5 <- Map 30 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
-Reducer 6 <- Map 34 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE)
+Reducer 5 <- Map 27 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 6 <- Map 28 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE), Union 8 (CONTAINS)
 Reducer 9 <- Union 8 (SIMPLE_EDGE)
 
@@ -255,28 +249,28 @@ Stage-0
     limit:100
     Stage-1
       Reducer 10 vectorized
-      File Output Operator [FS_452]
-        Limit [LIM_451] (rows=100 width=619)
+      File Output Operator [FS_430]
+        Limit [LIM_429] (rows=100 width=619)
           Number of rows:100
-          Select Operator [SEL_450] (rows=59581 width=619)
+          Select Operator [SEL_428] (rows=59581 width=619)
             Output:["_col0","_col1","_col2","_col3","_col4"]
           <-Reducer 9 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_449]
-              Select Operator [SEL_448] (rows=59581 width=619)
+            SHUFFLE [RS_427]
+              Select Operator [SEL_426] (rows=59581 width=619)
                 Output:["_col0","_col1","_col2","_col3","_col4"]
-                Group By Operator [GBY_447] (rows=59581 width=627)
+                Group By Operator [GBY_425] (rows=59581 width=627)
                   Output:["_col0","_col1","_col3","_col4","_col5"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2
                 <-Union 8 [SIMPLE_EDGE]
                   <-Reducer 18 [CONTAINS] vectorized
-                    Reduce Output Operator [RS_470]
+                    Reduce Output Operator [RS_444]
                       PartitionCols:_col0, _col1, _col2
-                      Group By Operator [GBY_469] (rows=59581 width=627)
+                      Group By Operator [GBY_443] (rows=59581 width=627)
                         Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(_col2)","sum(_col3)","sum(_col4)"],keys:_col0, _col1, 0L
-                        Top N Key Operator [TNK_468] (rows=39721 width=618)
+                        Top N Key Operator [TNK_442] (rows=39721 width=618)
                           keys:_col0, _col1, 0L,sort order:+++,top n:100
-                          Select Operator [SEL_467] (rows=38846 width=619)
+                          Select Operator [SEL_441] (rows=38846 width=619)
                             Output:["_col0","_col1","_col2","_col3","_col4"]
-                            Group By Operator [GBY_466] (rows=38846 width=436)
+                            Group By Operator [GBY_440] (rows=38846 width=436)
                               Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0
                             <-Reducer 17 [SIMPLE_EDGE]
                               SHUFFLE [RS_71]
@@ -286,11 +280,11 @@ Stage-0
                                   Select Operator [SEL_68] (rows=8592843 width=305)
                                     Output:["_col0","_col1","_col2","_col3"]
                                     Merge Join Operator [MERGEJOIN_363] (rows=8592843 width=305)
-                                      Conds:RS_65._col1=RS_465._col0(Inner),Output:["_col5","_col6","_col9","_col10","_col15"]
-                                    <-Map 38 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_465]
+                                      Conds:RS_65._col1=RS_439._col0(Inner),Output:["_col5","_col6","_col9","_col10","_col15"]
+                                    <-Map 32 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_439]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_464] (rows=46000 width=104)
+                                        Select Operator [SEL_438] (rows=46000 width=104)
                                           Output:["_col0","_col1"]
                                           TableScan [TS_51] (rows=46000 width=104)
                                             default@catalog_page,catalog_page,Tbl:COMPLETE,Col:COMPLETE,Output:["cp_catalog_page_sk","cp_catalog_page_id"]
@@ -298,13 +292,13 @@ Stage-0
                                       SHUFFLE [RS_65]
                                         PartitionCols:_col1
                                         Merge Join Operator [MERGEJOIN_362] (rows=8592843 width=208)
-                                          Conds:RS_62._col3=RS_423._col0(Inner),Output:["_col1","_col5","_col6","_col9","_col10"]
-                                        <-Map 30 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_423]
+                                          Conds:RS_62._col3=RS_416._col0(Inner),Output:["_col1","_col5","_col6","_col9","_col10"]
+                                        <-Map 27 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_416]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_420] (rows=1150 width=4)
+                                            Select Operator [SEL_414] (rows=1150 width=4)
                                               Output:["_col0"]
-                                              Filter Operator [FIL_419] (rows=1150 width=89)
+                                              Filter Operator [FIL_413] (rows=1150 width=89)
                                                 predicate:(p_channel_tv = 'N')
                                                 TableScan [TS_11] (rows=2300 width=89)
                                                   default@promotion,promotion,Tbl:COMPLETE,Col:COMPLETE,Output:["p_promo_sk","p_channel_tv"]
@@ -312,13 +306,13 @@ Stage-0
                                           SHUFFLE [RS_62]
                                             PartitionCols:_col3
                                             Merge Join Operator [MERGEJOIN_361] (rows=17185686 width=222)
-                                              Conds:RS_59._col2=RS_407._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col9","_col10"]
+                                              Conds:RS_59._col2=RS_411._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col9","_col10"]
                                             <-Map 26 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_407]
+                                              SHUFFLE [RS_411]
                                                 PartitionCols:_col0
-                                                Select Operator [SEL_404] (rows=154000 width=4)
+                                                Select Operator [SEL_409] (rows=154000 width=4)
                                                   Output:["_col0"]
-                                                  Filter Operator [FIL_403] (rows=154000 width=115)
+                                                  Filter Operator [FIL_408] (rows=154000 width=115)
                                                     predicate:(i_current_price > 50)
                                                     TableScan [TS_8] (rows=462000 width=115)
                                                       default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_current_price"]
@@ -336,23 +330,23 @@ Stage-0
                                                         predicate:CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-08-04 00:00:00' AND TIMESTAMP'1998-09-03 00:00:00'
                                                         TableScan [TS_5] (rows=73049 width=98)
                                                           default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"]
-                                                <-Reducer 36 [SIMPLE_EDGE]
+                                                <-Reducer 30 [SIMPLE_EDGE]
                                                   SHUFFLE [RS_56]
                                                     PartitionCols:_col0
                                                     Merge Join Operator [MERGEJOIN_359] (rows=464045263 width=326)
-                                                      Conds:RS_461._col2, _col4=RS_463._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col3","_col5","_col6","_col9","_col10"]
-                                                    <-Map 35 [SIMPLE_EDGE] vectorized
-                                                      SHUFFLE [RS_461]
+                                                      Conds:RS_435._col2, _col4=RS_437._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col3","_col5","_col6","_col9","_col10"]
+                                                    <-Map 29 [SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_435]
                                                         PartitionCols:_col2, _col4
-                                                        Select Operator [SEL_460] (rows=283691906 width=243)
+                                                        Select Operator [SEL_434] (rows=283691906 width=243)
                                                           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
-                                                          Filter Operator [FIL_459] (rows=283691906 width=243)
-                                                            predicate:((cs_item_sk BETWEEN DynamicValue(RS_60_item_i_item_sk_min) AND DynamicValue(RS_60_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_60_item_i_item_sk_bloom_filter))) and (cs_promo_sk BETWEEN DynamicValue(RS_63_promotion_p_promo_sk_min) AND DynamicValue(RS_63_promotion_p_promo_sk_max) and in_bloom_filter(cs_promo_sk, DynamicValue(RS_63_promotion_p_promo_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_57_date_dim_d_date_sk_min) AND DynamicValue(RS_57_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_57_date_dim_d_date_sk_bloom_filter))) and cs_catalog_page_sk is not null and cs_promo_sk is not null and cs_sold_date_sk is not null)
+                                                          Filter Operator [FIL_433] (rows=283691906 width=243)
+                                                            predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_57_date_dim_d_date_sk_min) AND DynamicValue(RS_57_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_57_date_dim_d_date_sk_bloom_filter))) and cs_catalog_page_sk is not null and cs_promo_sk is not null and cs_sold_date_sk is not null)
                                                             TableScan [TS_37] (rows=287989836 width=243)
                                                               default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_catalog_page_sk","cs_item_sk","cs_promo_sk","cs_order_number","cs_ext_sales_price","cs_net_profit"]
                                                             <-Reducer 19 [BROADCAST_EDGE] vectorized
-                                                              BROADCAST [RS_454]
-                                                                Group By Operator [GBY_453] (rows=1 width=12)
+                                                              BROADCAST [RS_432]
+                                                                Group By Operator [GBY_431] (rows=1 width=12)
                                                                   Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
                                                                 <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
                                                                   SHUFFLE [RS_399]
@@ -361,45 +355,23 @@ Stage-0
                                                                       Select Operator [SEL_392] (rows=8116 width=4)
                                                                         Output:["_col0"]
                                                                          Please refer to the previous Select Operator [SEL_388]
-                                                            <-Reducer 28 [BROADCAST_EDGE] vectorized
-                                                              BROADCAST [RS_456]
-                                                                Group By Operator [GBY_455] (rows=1 width=12)
-                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                                <-Map 26 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                                  SHUFFLE [RS_415]
-                                                                    Group By Operator [GBY_412] (rows=1 width=12)
-                                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                                      Select Operator [SEL_408] (rows=154000 width=4)
-                                                                        Output:["_col0"]
-                                                                         Please refer to the previous Select Operator [SEL_404]
-                                                            <-Reducer 32 [BROADCAST_EDGE] vectorized
-                                                              BROADCAST [RS_458]
-                                                                Group By Operator [GBY_457] (rows=1 width=12)
-                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                                <-Map 30 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                                  SHUFFLE [RS_431]
-                                                                    Group By Operator [GBY_428] (rows=1 width=12)
-                                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                                      Select Operator [SEL_424] (rows=1150 width=4)
-                                                                        Output:["_col0"]
-                                                                         Please refer to the previous Select Operator [SEL_420]
-                                                    <-Map 37 [SIMPLE_EDGE] vectorized
-                                                      SHUFFLE [RS_463]
+                                                    <-Map 31 [SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_437]
                                                         PartitionCols:_col0, _col1
-                                                        Select Operator [SEL_462] (rows=28798881 width=227)
+                                                        Select Operator [SEL_436] (rows=28798881 width=227)
                                                           Output:["_col0","_col1","_col2","_col3"]
                                                           TableScan [TS_40] (rows=28798881 width=227)
                                                             default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["cr_item_sk","cr_order_number","cr_return_amount","cr_net_loss"]
                   <-Reducer 24 [CONTAINS] vectorized
-                    Reduce Output Operator [RS_488]
+                    Reduce Output Operator [RS_458]
                       PartitionCols:_col0, _col1, _col2
-                      Group By Operator [GBY_487] (rows=59581 width=627)
+                      Group By Operator [GBY_457] (rows=59581 width=627)
                         Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(_col2)","sum(_col3)","sum(_col4)"],keys:_col0, _col1, 0L
-                        Top N Key Operator [TNK_486] (rows=39721 width=618)
+                        Top N Key Operator [TNK_456] (rows=39721 width=618)
                           keys:_col0, _col1, 0L,sort order:+++,top n:100
-                          Select Operator [SEL_485] (rows=53 width=615)
+                          Select Operator [SEL_455] (rows=53 width=615)
                             Output:["_col0","_col1","_col2","_col3","_col4"]
-                            Group By Operator [GBY_484] (rows=53 width=436)
+                            Group By Operator [GBY_454] (rows=53 width=436)
                               Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0
                             <-Reducer 23 [SIMPLE_EDGE]
                               SHUFFLE [RS_109]
@@ -409,11 +381,11 @@ Stage-0
                                   Select Operator [SEL_106] (rows=4714659 width=323)
                                     Output:["_col0","_col1","_col2","_col3"]
                                     Merge Join Operator [MERGEJOIN_368] (rows=4714659 width=323)
-                                      Conds:RS_103._col2=RS_483._col0(Inner),Output:["_col5","_col6","_col9","_col10","_col15"]
-                                    <-Map 42 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_483]
+                                      Conds:RS_103._col2=RS_453._col0(Inner),Output:["_col5","_col6","_col9","_col10","_col15"]
+                                    <-Map 36 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_453]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_482] (rows=84 width=104)
+                                        Select Operator [SEL_452] (rows=84 width=104)
                                           Output:["_col0","_col1"]
                                           TableScan [TS_89] (rows=84 width=104)
                                             default@web_site,web_site,Tbl:COMPLETE,Col:COMPLETE,Output:["web_site_sk","web_site_id"]
@@ -421,20 +393,20 @@ Stage-0
                                       SHUFFLE [RS_103]
                                         PartitionCols:_col2
                                         Merge Join Operator [MERGEJOIN_367] (rows=4714659 width=227)
-                                          Conds:RS_100._col3=RS_425._col0(Inner),Output:["_col2","_col5","_col6","_col9","_col10"]
-                                        <-Map 30 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_425]
+                                          Conds:RS_100._col3=RS_417._col0(Inner),Output:["_col2","_col5","_col6","_col9","_col10"]
+                                        <-Map 27 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_417]
                                             PartitionCols:_col0
-                                             Please refer to the previous Select Operator [SEL_420]
+                                             Please refer to the previous Select Operator [SEL_414]
                                         <-Reducer 21 [SIMPLE_EDGE]
                                           SHUFFLE [RS_100]
                                             PartitionCols:_col3
                                             Merge Join Operator [MERGEJOIN_366] (rows=9429318 width=231)
-                                              Conds:RS_97._col1=RS_409._col0(Inner),Output:["_col2","_col3","_col5","_col6","_col9","_col10"]
+                                              Conds:RS_97._col1=RS_412._col0(Inner),Output:["_col2","_col3","_col5","_col6","_col9","_col10"]
                                             <-Map 26 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_409]
+                                              SHUFFLE [RS_412]
                                                 PartitionCols:_col0
-                                                 Please refer to the previous Select Operator [SEL_404]
+                                                 Please refer to the previous Select Operator [SEL_409]
                                             <-Reducer 20 [SIMPLE_EDGE]
                                               SHUFFLE [RS_97]
                                                 PartitionCols:_col1
@@ -444,23 +416,23 @@ Stage-0
                                                   SHUFFLE [RS_393]
                                                     PartitionCols:_col0
                                                      Please refer to the previous Select Operator [SEL_388]
-                                                <-Reducer 40 [SIMPLE_EDGE]
+                                                <-Reducer 34 [SIMPLE_EDGE]
                                                   SHUFFLE [RS_94]
                                                     PartitionCols:_col0
                                                     Merge Join Operator [MERGEJOIN_364] (rows=254608997 width=363)
-                                                      Conds:RS_479._col1, _col4=RS_481._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col3","_col5","_col6","_col9","_col10"]
-                                                    <-Map 39 [SIMPLE_EDGE] vectorized
-                                                      SHUFFLE [RS_479]
+                                                      Conds:RS_449._col1, _col4=RS_451._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col3","_col5","_col6","_col9","_col10"]
+                                                    <-Map 33 [SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_449]
                                                         PartitionCols:_col1, _col4
-                                                        Select Operator [SEL_478] (rows=143894769 width=243)
+                                                        Select Operator [SEL_448] (rows=143894769 width=243)
                                                           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
-                                                          Filter Operator [FIL_477] (rows=143894769 width=243)
-                                                            predicate:((ws_item_sk BETWEEN DynamicValue(RS_98_item_i_item_sk_min) AND DynamicValue(RS_98_item_i_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_98_item_i_item_sk_bloom_filter))) and (ws_promo_sk BETWEEN DynamicValue(RS_101_promotion_p_promo_sk_min) AND DynamicValue(RS_101_promotion_p_promo_sk_max) and in_bloom_filter(ws_promo_sk, DynamicValue(RS_101_promotion_p_promo_sk_bloom_filter))) and (ws_sold_date_sk BETWEEN DynamicValue(RS_95_date_dim_d_date_sk_min) AND DynamicValue(RS_95_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_95_date_dim_d_date_sk_bloom_filter))) and ws_promo_sk is not null and ws_sold_date_sk is not null and ws_web_site_sk is not null)
+                                                          Filter Operator [FIL_447] (rows=143894769 width=243)
+                                                            predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_95_date_dim_d_date_sk_min) AND DynamicValue(RS_95_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_95_date_dim_d_date_sk_bloom_filter))) and ws_promo_sk is not null and ws_sold_date_sk is not null and ws_web_site_sk is not null)
                                                             TableScan [TS_75] (rows=144002668 width=243)
                                                               default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_web_site_sk","ws_promo_sk","ws_order_number","ws_ext_sales_price","ws_net_profit"]
                                                             <-Reducer 25 [BROADCAST_EDGE] vectorized
-                                                              BROADCAST [RS_472]
-                                                                Group By Operator [GBY_471] (rows=1 width=12)
+                                                              BROADCAST [RS_446]
+                                                                Group By Operator [GBY_445] (rows=1 width=12)
                                                                   Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
                                                                 <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
                                                                   SHUFFLE [RS_400]
@@ -469,45 +441,23 @@ Stage-0
                                                                       Select Operator [SEL_394] (rows=8116 width=4)
                                                                         Output:["_col0"]
                                                                          Please refer to the previous Select Operator [SEL_388]
-                                                            <-Reducer 29 [BROADCAST_EDGE] vectorized
-                                                              BROADCAST [RS_474]
-                                                                Group By Operator [GBY_473] (rows=1 width=12)
-                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                                <-Map 26 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                                  SHUFFLE [RS_416]
-                                                                    Group By Operator [GBY_413] (rows=1 width=12)
-                                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                                      Select Operator [SEL_410] (rows=154000 width=4)
-                                                                        Output:["_col0"]
-                                                                         Please refer to the previous Select Operator [SEL_404]
-                                                            <-Reducer 33 [BROADCAST_EDGE] vectorized
-                                                              BROADCAST [RS_476]
-                                                                Group By Operator [GBY_475] (rows=1 width=12)
-                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                                <-Map 30 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                                  SHUFFLE [RS_432]
-                                                                    Group By Operator [GBY_429] (rows=1 width=12)
-                                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                                      Select Operator [SEL_426] (rows=1150 width=4)
-                                                                        Output:["_col0"]
-                                                                         Please refer to the previous Select Operator [SEL_420]
-                                                    <-Map 41 [SIMPLE_EDGE] vectorized
-                                                      SHUFFLE [RS_481]
+                                                    <-Map 35 [SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_451]
                                                         PartitionCols:_col0, _col1
-                                                        Select Operator [SEL_480] (rows=14398467 width=221)
+                                                        Select Operator [SEL_450] (rows=14398467 width=221)
                                                           Output:["_col0","_col1","_col2","_col3"]
                                                           TableScan [TS_78] (rows=14398467 width=221)
                                                             default@web_returns,web_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["wr_item_sk","wr_order_number","wr_return_amt","wr_net_loss"]
                   <-Reducer 7 [CONTAINS] vectorized
-                    Reduce Output Operator [RS_446]
+                    Reduce Output Operator [RS_424]
                       PartitionCols:_col0, _col1, _col2
-                      Group By Operator [GBY_445] (rows=59581 width=627)
+                      Group By Operator [GBY_423] (rows=59581 width=627)
                         Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(_col2)","sum(_col3)","sum(_col4)"],keys:_col0, _col1, 0L
-                        Top N Key Operator [TNK_444] (rows=39721 width=618)
+                        Top N Key Operator [TNK_422] (rows=39721 width=618)
                           keys:_col0, _col1, 0L,sort order:+++,top n:100
-                          Select Operator [SEL_443] (rows=822 width=617)
+                          Select Operator [SEL_421] (rows=822 width=617)
                             Output:["_col0","_col1","_col2","_col3","_col4"]
-                            Group By Operator [GBY_442] (rows=822 width=436)
+                            Group By Operator [GBY_420] (rows=822 width=436)
                               Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0
                             <-Reducer 6 [SIMPLE_EDGE]
                               SHUFFLE [RS_34]
@@ -517,11 +467,11 @@ Stage-0
                                   Select Operator [SEL_31] (rows=15038783 width=100)
                                     Output:["_col0","_col1","_col2","_col3"]
                                     Merge Join Operator [MERGEJOIN_358] (rows=15038783 width=100)
-                                      Conds:RS_28._col2=RS_441._col0(Inner),Output:["_col5","_col6","_col9","_col10","_col15"]
-                                    <-Map 34 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_441]
+                                      Conds:RS_28._col2=RS_419._col0(Inner),Output:["_col5","_col6","_col9","_col10","_col15"]
+                                    <-Map 28 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_419]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_440] (rows=1704 width=104)
+                                        Select Operator [SEL_418] (rows=1704 width=104)
                                           Output:["_col0","_col1"]
                                           TableScan [TS_14] (rows=1704 width=104)
                                             default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_store_id"]
@@ -529,20 +479,20 @@ Stage-0
                                       SHUFFLE [RS_28]
                                         PartitionCols:_col2
                                         Merge Join Operator [MERGEJOIN_357] (rows=15038783 width=0)
-                                          Conds:RS_25._col3=RS_421._col0(Inner),Output:["_col2","_col5","_col6","_col9","_col10"]
-                                        <-Map 30 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_421]
+                                          Conds:RS_25._col3=RS_415._col0(Inner),Output:["_col2","_col5","_col6","_col9","_col10"]
+                                        <-Map 27 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_415]
                                             PartitionCols:_col0
-                                             Please refer to the previous Select Operator [SEL_420]
+                                             Please refer to the previous Select Operator [SEL_414]
                                         <-Reducer 4 [SIMPLE_EDGE]
                                           SHUFFLE [RS_25]
                                             PartitionCols:_col3
                                             Merge Join Operator [MERGEJOIN_356] (rows=30077566 width=57)
-                                              Conds:RS_22._col1=RS_405._col0(Inner),Output:["_col2","_col3","_col5","_col6","_col9","_col10"]
+                                              Conds:RS_22._col1=RS_410._col0(Inner),Output:["_col2","_col3","_col5","_col6","_col9","_col10"]
                                             <-Map 26 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_405]
+                                              SHUFFLE [RS_410]
                                                 PartitionCols:_col0
-                                                 Please refer to the previous Select Operator [SEL_404]
+                                                 Please refer to the previous Select Operator [SEL_409]
                                             <-Reducer 3 [SIMPLE_EDGE]
                                               SHUFFLE [RS_22]
                                                 PartitionCols:_col1
@@ -556,14 +506,14 @@ Stage-0
                                                   SHUFFLE [RS_19]
                                                     PartitionCols:_col0
                                                     Merge Join Operator [MERGEJOIN_354] (rows=812149846 width=374)
-                                                      Conds:RS_437._col1, _col4=RS_439._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col3","_col5","_col6","_col9","_col10"]
+                                                      Conds:RS_405._col1, _col4=RS_407._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col3","_col5","_col6","_col9","_col10"]
                                                     <-Map 1 [SIMPLE_EDGE] vectorized
-                                                      SHUFFLE [RS_437]
+                                                      SHUFFLE [RS_405]
                                                         PartitionCols:_col1, _col4
-                                                        Select Operator [SEL_436] (rows=501693263 width=233)
+                                                        Select Operator [SEL_404] (rows=501693263 width=233)
                                                           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
-                                                          Filter Operator [FIL_435] (rows=501693263 width=233)
-                                                            predicate:((ss_item_sk BETWEEN DynamicValue(RS_23_item_i_item_sk_min) AND DynamicValue(RS_23_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_23_item_i_item_sk_bloom_filter))) and (ss_promo_sk BETWEEN DynamicValue(RS_26_promotion_p_promo_sk_min) AND DynamicValue(RS_26_promotion_p_promo_sk_max) and in_bloom_filter(ss_promo_sk, DynamicValue(RS_26_promotion_p_promo_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_20_date_dim_d_date_sk_min) AND DynamicValue(RS_20_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_20_date_dim_d_date_sk_bloom_filter))) and ss_promo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+                                                          Filter Operator [FIL_403] (rows=501693263 width=233)
+                                                            predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_20_date_dim_d_date_sk_min) AND DynamicValue(RS_20_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_20_date_dim_d_date_sk_bloom_filter))) and ss_promo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
                                                             TableScan [TS_0] (rows=575995635 width=233)
                                                               default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_store_sk","ss_promo_sk","ss_ticket_number","ss_ext_sales_price","ss_net_profit"]
                                                             <-Reducer 13 [BROADCAST_EDGE] vectorized
@@ -577,32 +527,10 @@ Stage-0
                                                                       Select Operator [SEL_390] (rows=8116 width=4)
                                                                         Output:["_col0"]
                                                                          Please refer to the previous Select Operator [SEL_388]
-                                                            <-Reducer 27 [BROADCAST_EDGE] vectorized
-                                                              BROADCAST [RS_418]
-                                                                Group By Operator [GBY_417] (rows=1 width=12)
-                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                                <-Map 26 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                                  SHUFFLE [RS_414]
-                                                                    Group By Operator [GBY_411] (rows=1 width=12)
-                                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                                      Select Operator [SEL_406] (rows=154000 width=4)
-                                                                        Output:["_col0"]
-                                                                         Please refer to the previous Select Operator [SEL_404]
-                                                            <-Reducer 31 [BROADCAST_EDGE] vectorized
-                                                              BROADCAST [RS_434]
-                                                                Group By Operator [GBY_433] (rows=1 width=12)
-                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                                <-Map 30 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                                  SHUFFLE [RS_430]
-                                                                    Group By Operator [GBY_427] (rows=1 width=12)
-                                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                                      Select Operator [SEL_422] (rows=1150 width=4)
-                                                                        Output:["_col0"]
-                                                                         Please refer to the previous Select Operator [SEL_420]
                                                     <-Map 11 [SIMPLE_EDGE] vectorized
-                                                      SHUFFLE [RS_439]
+                                                      SHUFFLE [RS_407]
                                                         PartitionCols:_col0, _col1
-                                                        Select Operator [SEL_438] (rows=57591150 width=224)
+                                                        Select Operator [SEL_406] (rows=57591150 width=224)
                                                           Output:["_col0","_col1","_col2","_col3"]
                                                           TableScan [TS_3] (rows=57591150 width=224)
                                                             default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_item_sk","sr_ticket_number","sr_return_amt","sr_net_loss"]

http://git-wip-us.apache.org/repos/asf/hive/blob/e986fc56/ql/src/test/results/clientpositive/perf/tez/constraints/query82.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query82.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query82.q.out
index 1344b94..ffeb3b7 100644
--- a/ql/src/test/results/clientpositive/perf/tez/constraints/query82.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query82.q.out
@@ -43,28 +43,27 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 1 <- Reducer 10 (BROADCAST_EDGE), Reducer 7 (BROADCAST_EDGE)
-Reducer 10 <- Reducer 9 (CUSTOM_SIMPLE_EDGE)
+Map 1 <- Reducer 7 (BROADCAST_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
 Reducer 3 <- Reducer 2 (ONE_TO_ONE_EDGE), Reducer 9 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
 Reducer 7 <- Map 6 (CUSTOM_SIMPLE_EDGE)
-Reducer 9 <- Map 11 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 9 <- Map 10 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 5 vectorized
-      File Output Operator [FS_102]
-        Limit [LIM_101] (rows=1 width=396)
+      File Output Operator [FS_100]
+        Limit [LIM_99] (rows=1 width=396)
           Number of rows:100
-          Select Operator [SEL_100] (rows=1 width=396)
+          Select Operator [SEL_98] (rows=1 width=396)
             Output:["_col0","_col1","_col2"]
           <-Reducer 4 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_99]
-              Group By Operator [GBY_98] (rows=1 width=396)
+            SHUFFLE [RS_97]
+              Group By Operator [GBY_96] (rows=1 width=396)
                 Output:["_col0","_col1","_col2"],keys:KEY._col0, KEY._col1, KEY._col2
               <-Reducer 3 [SIMPLE_EDGE]
                 SHUFFLE [RS_23]
@@ -75,34 +74,11 @@ Stage-0
                       keys:_col2, _col3, _col4,sort order:+++,top n:100
                       Merge Join Operator [MERGEJOIN_78] (rows=2871 width=396)
                         Conds:RS_18._col1=RS_19._col1(Inner),Output:["_col2","_col3","_col4"]
-                      <-Reducer 9 [SIMPLE_EDGE]
-                        SHUFFLE [RS_19]
-                          PartitionCols:_col1
-                          Merge Join Operator [MERGEJOIN_77] (rows=463969 width=4)
-                            Conds:RS_89._col0=RS_92._col0(Inner),Output:["_col1"]
-                          <-Map 11 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_92]
-                              PartitionCols:_col0
-                              Select Operator [SEL_91] (rows=8116 width=4)
-                                Output:["_col0"]
-                                Filter Operator [FIL_90] (rows=8116 width=98)
-                                  predicate:CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2002-05-30 00:00:00' AND TIMESTAMP'2002-07-29 00:00:00'
-                                  TableScan [TS_8] (rows=73049 width=98)
-                                    default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"]
-                          <-Map 8 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_89]
-                              PartitionCols:_col0
-                              Select Operator [SEL_88] (rows=4176000 width=8)
-                                Output:["_col0","_col1"]
-                                Filter Operator [FIL_87] (rows=4176000 width=11)
-                                  predicate:inv_quantity_on_hand BETWEEN 100 AND 500
-                                  TableScan [TS_5] (rows=37584000 width=11)
-                                    default@inventory,inventory,Tbl:COMPLETE,Col:COMPLETE,Output:["inv_date_sk","inv_item_sk","inv_quantity_on_hand"]
                       <-Reducer 2 [ONE_TO_ONE_EDGE]
                         FORWARD [RS_18]
                           PartitionCols:_col1
                           Merge Join Operator [MERGEJOIN_76] (rows=3564040 width=400)
-                            Conds:RS_97._col0=RS_81._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                            Conds:RS_89._col0=RS_81._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
                           <-Map 6 [SIMPLE_EDGE] vectorized
                             PARTITION_ONLY_SHUFFLE [RS_81]
                               PartitionCols:_col0
@@ -113,25 +89,14 @@ Stage-0
                                   TableScan [TS_2] (rows=462000 width=403)
                                     default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_id","i_item_desc","i_current_price","i_manufact_id"]
                           <-Map 1 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_97]
+                            SHUFFLE [RS_89]
                               PartitionCols:_col0
-                              Select Operator [SEL_96] (rows=575995635 width=4)
+                              Select Operator [SEL_88] (rows=575995635 width=4)
                                 Output:["_col0"]
-                                Filter Operator [FIL_95] (rows=575995635 width=4)
-                                  predicate:((ss_item_sk BETWEEN DynamicValue(RS_16_item_i_item_sk_min) AND DynamicValue(RS_16_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_16_item_i_item_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_19_inventory_inv_item_sk_min) AND DynamicValue(RS_19_inventory_inv_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_19_inventory_inv_item_sk_bloom_filter))))
+                                Filter Operator [FIL_87] (rows=575995635 width=4)
+                                  predicate:(in_bloom_filter(ss_item_sk, DynamicValue(RS_16_item_i_item_sk_bloom_filter)) and ss_item_sk BETWEEN DynamicValue(RS_16_item_i_item_sk_min) AND DynamicValue(RS_16_item_i_item_sk_max))
                                   TableScan [TS_0] (rows=575995635 width=4)
                                     default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk"]
-                                  <-Reducer 10 [BROADCAST_EDGE] vectorized
-                                    BROADCAST [RS_94]
-                                      Group By Operator [GBY_93] (rows=1 width=12)
-                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                      <-Reducer 9 [CUSTOM_SIMPLE_EDGE]
-                                        SHUFFLE [RS_50]
-                                          Group By Operator [GBY_49] (rows=1 width=12)
-                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                            Select Operator [SEL_48] (rows=463969 width=8)
-                                              Output:["_col0"]
-                                               Please refer to the previous Merge Join Operator [MERGEJOIN_77]
                                   <-Reducer 7 [BROADCAST_EDGE] vectorized
                                     BROADCAST [RS_86]
                                       Group By Operator [GBY_85] (rows=1 width=12)
@@ -143,4 +108,27 @@ Stage-0
                                             Select Operator [SEL_82] (rows=297 width=4)
                                               Output:["_col0"]
                                                Please refer to the previous Select Operator [SEL_80]
+                      <-Reducer 9 [SIMPLE_EDGE]
+                        SHUFFLE [RS_19]
+                          PartitionCols:_col1
+                          Merge Join Operator [MERGEJOIN_77] (rows=463969 width=4)
+                            Conds:RS_92._col0=RS_95._col0(Inner),Output:["_col1"]
+                          <-Map 10 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_95]
+                              PartitionCols:_col0
+                              Select Operator [SEL_94] (rows=8116 width=4)
+                                Output:["_col0"]
+                                Filter Operator [FIL_93] (rows=8116 width=98)
+                                  predicate:CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'2002-05-30 00:00:00' AND TIMESTAMP'2002-07-29 00:00:00'
+                                  TableScan [TS_8] (rows=73049 width=98)
+                                    default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"]
+                          <-Map 8 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_92]
+                              PartitionCols:_col0
+                              Select Operator [SEL_91] (rows=4176000 width=8)
+                                Output:["_col0","_col1"]
+                                Filter Operator [FIL_90] (rows=4176000 width=11)
+                                  predicate:inv_quantity_on_hand BETWEEN 100 AND 500
+                                  TableScan [TS_5] (rows=37584000 width=11)
+                                    default@inventory,inventory,Tbl:COMPLETE,Col:COMPLETE,Output:["inv_date_sk","inv_item_sk","inv_quantity_on_hand"]