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:31 UTC

[13/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/query25.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query25.q.out b/ql/src/test/results/clientpositive/perf/tez/query25.q.out
index 0a0cfcc..bd45617 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query25.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query25.q.out
@@ -109,20 +109,16 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 1 <- Reducer 12 (BROADCAST_EDGE), Reducer 13 (BROADCAST_EDGE), Reducer 16 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
-Map 18 <- Reducer 14 (BROADCAST_EDGE), Reducer 16 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE)
-Reducer 10 <- Map 18 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
-Reducer 11 <- Reducer 10 (SIMPLE_EDGE), Reducer 15 (SIMPLE_EDGE)
-Reducer 12 <- Reducer 10 (CUSTOM_SIMPLE_EDGE)
-Reducer 13 <- Reducer 10 (CUSTOM_SIMPLE_EDGE)
-Reducer 14 <- Map 8 (CUSTOM_SIMPLE_EDGE)
-Reducer 15 <- Map 19 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
-Reducer 16 <- Reducer 15 (CUSTOM_SIMPLE_EDGE)
-Reducer 17 <- Reducer 15 (CUSTOM_SIMPLE_EDGE)
+Map 1 <- Reducer 9 (BROADCAST_EDGE)
+Map 14 <- Reducer 12 (BROADCAST_EDGE)
+Reducer 10 <- Map 14 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 11 <- Reducer 10 (SIMPLE_EDGE), Reducer 13 (SIMPLE_EDGE)
+Reducer 12 <- Map 8 (CUSTOM_SIMPLE_EDGE)
+Reducer 13 <- Map 15 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
 Reducer 3 <- Reducer 11 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 20 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 21 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 4 <- Map 16 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 17 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
 Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
@@ -132,14 +128,14 @@ Stage-0
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_263]
-        Limit [LIM_262] (rows=100 width=808)
+      File Output Operator [FS_253]
+        Limit [LIM_252] (rows=100 width=808)
           Number of rows:100
-          Select Operator [SEL_261] (rows=4248052806 width=808)
+          Select Operator [SEL_251] (rows=4248052806 width=808)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
           <-Reducer 6 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_260]
-              Group By Operator [GBY_259] (rows=4248052806 width=808)
+            SHUFFLE [RS_250]
+              Group By Operator [GBY_249] (rows=4248052806 width=808)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3
               <-Reducer 5 [SIMPLE_EDGE]
                 SHUFFLE [RS_49]
@@ -149,13 +145,13 @@ Stage-0
                     Top N Key Operator [TNK_95] (rows=4248052806 width=807)
                       keys:_col19, _col20, _col22, _col23,sort order:++++,top n:100
                       Merge Join Operator [MERGEJOIN_214] (rows=4248052806 width=807)
-                        Conds:RS_44._col3=RS_258._col0(Inner),Output:["_col5","_col10","_col16","_col19","_col20","_col22","_col23"]
-                      <-Map 21 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_258]
+                        Conds:RS_44._col3=RS_248._col0(Inner),Output:["_col5","_col10","_col16","_col19","_col20","_col22","_col23"]
+                      <-Map 17 [SIMPLE_EDGE] vectorized
+                        SHUFFLE [RS_248]
                           PartitionCols:_col0
-                          Select Operator [SEL_257] (rows=1704 width=192)
+                          Select Operator [SEL_247] (rows=1704 width=192)
                             Output:["_col0","_col1","_col2"]
-                            Filter Operator [FIL_256] (rows=1704 width=192)
+                            Filter Operator [FIL_246] (rows=1704 width=192)
                               predicate:s_store_sk is not null
                               TableScan [TS_32] (rows=1704 width=192)
                                 default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_store_id","s_store_name"]
@@ -163,13 +159,13 @@ Stage-0
                         SHUFFLE [RS_44]
                           PartitionCols:_col3
                           Merge Join Operator [MERGEJOIN_213] (rows=4248052806 width=623)
-                            Conds:RS_41._col1=RS_255._col0(Inner),Output:["_col3","_col5","_col10","_col16","_col19","_col20"]
-                          <-Map 20 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_255]
+                            Conds:RS_41._col1=RS_245._col0(Inner),Output:["_col3","_col5","_col10","_col16","_col19","_col20"]
+                          <-Map 16 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_245]
                               PartitionCols:_col0
-                              Select Operator [SEL_254] (rows=462000 width=288)
+                              Select Operator [SEL_244] (rows=462000 width=288)
                                 Output:["_col0","_col1","_col2"]
-                                Filter Operator [FIL_253] (rows=462000 width=288)
+                                Filter Operator [FIL_243] (rows=462000 width=288)
                                   predicate:i_item_sk is not null
                                   TableScan [TS_29] (rows=462000 width=288)
                                     default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_id","i_item_desc"]
@@ -184,10 +180,10 @@ Stage-0
                                   Merge Join Operator [MERGEJOIN_211] (rows=1893811716 width=235)
                                     Conds:RS_25._col2, _col1=RS_26._col1, _col2(Inner),Output:["_col3","_col6","_col7","_col8","_col9"]
                                   <-Reducer 10 [SIMPLE_EDGE]
-                                    PARTITION_ONLY_SHUFFLE [RS_25]
+                                    SHUFFLE [RS_25]
                                       PartitionCols:_col2, _col1
                                       Merge Join Operator [MERGEJOIN_209] (rows=54418158 width=119)
-                                        Conds:RS_245._col0=RS_223._col0(Inner),Output:["_col1","_col2","_col3"]
+                                        Conds:RS_239._col0=RS_223._col0(Inner),Output:["_col1","_col2","_col3"]
                                       <-Map 8 [SIMPLE_EDGE] vectorized
                                         PARTITION_ONLY_SHUFFLE [RS_223]
                                           PartitionCols:_col0
@@ -197,59 +193,19 @@ Stage-0
                                               predicate:((d_year = 2000) and d_date_sk is not null and d_moy BETWEEN 4 AND 10)
                                               TableScan [TS_3] (rows=73049 width=12)
                                                 default@date_dim,d1,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_moy"]
-                                      <-Map 18 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_245]
+                                      <-Map 14 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_239]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_244] (rows=285117831 width=123)
+                                          Select Operator [SEL_238] (rows=285117831 width=123)
                                             Output:["_col0","_col1","_col2","_col3"]
-                                            Filter Operator [FIL_243] (rows=285117831 width=123)
-                                              predicate:((cs_bill_customer_sk BETWEEN DynamicValue(RS_26_store_returns_sr_customer_sk_min) AND DynamicValue(RS_26_store_returns_sr_customer_sk_max) and in_bloom_filter(cs_bill_customer_sk, DynamicValue(RS_26_store_returns_sr_customer_sk_bloom_filter))) and (cs_item_sk BETWEEN DynamicValue(RS_26_store_returns_sr_item_sk_min) AND DynamicValue(RS_26_store_returns_sr_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_26_store_returns_sr_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_23_d3_d_date_sk_min) AND DynamicValue(RS_23_d3_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_23_d3_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
+                                            Filter Operator [FIL_237] (rows=285117831 width=123)
+                                              predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_23_d3_d_date_sk_min) AND DynamicValue(RS_23_d3_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_23_d3_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
                                               TableScan [TS_6] (rows=287989836 width=123)
                                                 default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_net_profit"]
-                                              <-Reducer 16 [BROADCAST_EDGE] vectorized
-                                                BROADCAST [RS_237]
+                                              <-Reducer 12 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_236]
                                                   Group By Operator [GBY_235] (rows=1 width=12)
                                                     Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                  <-Reducer 15 [CUSTOM_SIMPLE_EDGE]
-                                                    PARTITION_ONLY_SHUFFLE [RS_108]
-                                                      Group By Operator [GBY_107] (rows=1 width=12)
-                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                        Select Operator [SEL_106] (rows=9402909 width=8)
-                                                          Output:["_col0"]
-                                                          Merge Join Operator [MERGEJOIN_210] (rows=9402909 width=100)
-                                                            Conds:RS_234._col0=RS_225._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
-                                                          <-Map 8 [SIMPLE_EDGE] vectorized
-                                                            PARTITION_ONLY_SHUFFLE [RS_225]
-                                                              PartitionCols:_col0
-                                                              Select Operator [SEL_220] (rows=351 width=4)
-                                                                Output:["_col0"]
-                                                                Filter Operator [FIL_217] (rows=351 width=12)
-                                                                  predicate:((d_year = 2000) and d_date_sk is not null and d_moy BETWEEN 4 AND 10)
-                                                                   Please refer to the previous TableScan [TS_3]
-                                                          <-Map 19 [SIMPLE_EDGE] vectorized
-                                                            SHUFFLE [RS_234]
-                                                              PartitionCols:_col0
-                                                              Select Operator [SEL_233] (rows=53632139 width=123)
-                                                                Output:["_col0","_col1","_col2","_col3","_col4"]
-                                                                Filter Operator [FIL_232] (rows=53632139 width=123)
-                                                                  predicate:(sr_customer_sk is not null and sr_item_sk is not null and sr_returned_date_sk is not null and sr_ticket_number is not null)
-                                                                  TableScan [TS_12] (rows=57591150 width=123)
-                                                                    default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_returned_date_sk","sr_item_sk","sr_customer_sk","sr_ticket_number","sr_net_loss"]
-                                              <-Reducer 17 [BROADCAST_EDGE] vectorized
-                                                BROADCAST [RS_242]
-                                                  Group By Operator [GBY_240] (rows=1 width=12)
-                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                  <-Reducer 15 [CUSTOM_SIMPLE_EDGE]
-                                                    PARTITION_ONLY_SHUFFLE [RS_123]
-                                                      Group By Operator [GBY_122] (rows=1 width=12)
-                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                        Select Operator [SEL_121] (rows=9402909 width=6)
-                                                          Output:["_col0"]
-                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_210]
-                                              <-Reducer 14 [BROADCAST_EDGE] vectorized
-                                                BROADCAST [RS_239]
-                                                  Group By Operator [GBY_238] (rows=1 width=12)
-                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
                                                   <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
                                                     PARTITION_ONLY_SHUFFLE [RS_229]
                                                       Group By Operator [GBY_227] (rows=1 width=12)
@@ -257,15 +213,33 @@ Stage-0
                                                         Select Operator [SEL_224] (rows=351 width=4)
                                                           Output:["_col0"]
                                                            Please refer to the previous Select Operator [SEL_219]
-                                  <-Reducer 15 [SIMPLE_EDGE]
-                                    PARTITION_ONLY_SHUFFLE [RS_26]
+                                  <-Reducer 13 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_26]
                                       PartitionCols:_col1, _col2
-                                       Please refer to the previous Merge Join Operator [MERGEJOIN_210]
+                                      Merge Join Operator [MERGEJOIN_210] (rows=9402909 width=100)
+                                        Conds:RS_242._col0=RS_225._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                      <-Map 8 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_225]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_220] (rows=351 width=4)
+                                            Output:["_col0"]
+                                            Filter Operator [FIL_217] (rows=351 width=12)
+                                              predicate:((d_year = 2000) and d_date_sk is not null and d_moy BETWEEN 4 AND 10)
+                                               Please refer to the previous TableScan [TS_3]
+                                      <-Map 15 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_242]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_241] (rows=53632139 width=123)
+                                            Output:["_col0","_col1","_col2","_col3","_col4"]
+                                            Filter Operator [FIL_240] (rows=53632139 width=123)
+                                              predicate:(sr_customer_sk is not null and sr_item_sk is not null and sr_returned_date_sk is not null and sr_ticket_number is not null)
+                                              TableScan [TS_12] (rows=57591150 width=123)
+                                                default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_returned_date_sk","sr_item_sk","sr_customer_sk","sr_ticket_number","sr_net_loss"]
                               <-Reducer 2 [SIMPLE_EDGE]
                                 SHUFFLE [RS_38]
                                   PartitionCols:_col1, _col2, _col4
                                   Merge Join Operator [MERGEJOIN_208] (rows=13737330 width=8)
-                                    Conds:RS_252._col0=RS_221._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                    Conds:RS_234._col0=RS_221._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
                                   <-Map 8 [SIMPLE_EDGE] vectorized
                                     PARTITION_ONLY_SHUFFLE [RS_221]
                                       PartitionCols:_col0
@@ -275,42 +249,14 @@ Stage-0
                                           predicate:((d_moy = 4) and (d_year = 2000) and d_date_sk is not null)
                                            Please refer to the previous TableScan [TS_3]
                                   <-Map 1 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_252]
+                                    SHUFFLE [RS_234]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_251] (rows=501694138 width=126)
+                                      Select Operator [SEL_233] (rows=501694138 width=126)
                                         Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                        Filter Operator [FIL_250] (rows=501694138 width=126)
-                                          predicate:((ss_customer_sk BETWEEN DynamicValue(RS_25_catalog_sales_cs_bill_customer_sk_min) AND DynamicValue(RS_25_catalog_sales_cs_bill_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_25_catalog_sales_cs_bill_customer_sk_bloom_filter))) and (ss_customer_sk BETWEEN DynamicValue(RS_26_store_returns_sr_customer_sk_min) AND DynamicValue(RS_26_store_returns_sr_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_26_store_returns_sr_customer_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_25_catalog_sales_cs_item_sk_min) AND DynamicValue(RS_25_catalog_sales_cs_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_25_catalog_sales_cs_item_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_26_store_returns_sr_item_sk_min) AND DynamicValue(RS_26_store_returns_sr_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_26_store_returns_sr_item_sk_bloom_filter))) and (ss_sold_date_sk 
 BETWEEN DynamicValue(RS_36_d1_d_date_sk_min) AND DynamicValue(RS_36_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_36_d1_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null)
+                                        Filter Operator [FIL_232] (rows=501694138 width=126)
+                                          predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_36_d1_d_date_sk_min) AND DynamicValue(RS_36_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_36_d1_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null)
                                           TableScan [TS_0] (rows=575995635 width=126)
                                             default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_net_profit"]
-                                          <-Reducer 16 [BROADCAST_EDGE] vectorized
-                                            BROADCAST [RS_236]
-                                               Please refer to the previous Group By Operator [GBY_235]
-                                          <-Reducer 17 [BROADCAST_EDGE] vectorized
-                                            BROADCAST [RS_241]
-                                               Please refer to the previous Group By Operator [GBY_240]
-                                          <-Reducer 12 [BROADCAST_EDGE] vectorized
-                                            BROADCAST [RS_247]
-                                              Group By Operator [GBY_246] (rows=1 width=12)
-                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                              <-Reducer 10 [CUSTOM_SIMPLE_EDGE]
-                                                PARTITION_ONLY_SHUFFLE [RS_113]
-                                                  Group By Operator [GBY_112] (rows=1 width=12)
-                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                    Select Operator [SEL_111] (rows=54418158 width=8)
-                                                      Output:["_col0"]
-                                                       Please refer to the previous Merge Join Operator [MERGEJOIN_209]
-                                          <-Reducer 13 [BROADCAST_EDGE] vectorized
-                                            BROADCAST [RS_249]
-                                              Group By Operator [GBY_248] (rows=1 width=12)
-                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                              <-Reducer 10 [CUSTOM_SIMPLE_EDGE]
-                                                PARTITION_ONLY_SHUFFLE [RS_128]
-                                                  Group By Operator [GBY_127] (rows=1 width=12)
-                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                    Select Operator [SEL_126] (rows=54418158 width=7)
-                                                      Output:["_col0"]
-                                                       Please refer to the previous Merge Join Operator [MERGEJOIN_209]
                                           <-Reducer 9 [BROADCAST_EDGE] vectorized
                                             BROADCAST [RS_231]
                                               Group By Operator [GBY_230] (rows=1 width=12)

http://git-wip-us.apache.org/repos/asf/hive/blob/e986fc56/ql/src/test/results/clientpositive/perf/tez/query26.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query26.q.out b/ql/src/test/results/clientpositive/perf/tez/query26.q.out
index 62bcbe8..da448c6 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query26.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query26.q.out
@@ -53,12 +53,11 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 1 <- Reducer 11 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
-Reducer 11 <- Map 10 (CUSTOM_SIMPLE_EDGE)
+Map 1 <- Reducer 9 (BROADCAST_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
 Reducer 3 <- Map 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 12 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 13 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 12 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
 Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
@@ -68,16 +67,16 @@ Stage-0
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_130]
-        Limit [LIM_129] (rows=100 width=444)
+      File Output Operator [FS_125]
+        Limit [LIM_124] (rows=100 width=444)
           Number of rows:100
-          Select Operator [SEL_128] (rows=310774 width=444)
+          Select Operator [SEL_123] (rows=310774 width=444)
             Output:["_col0","_col1","_col2","_col3","_col4"]
           <-Reducer 6 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_127]
-              Select Operator [SEL_126] (rows=310774 width=444)
+            SHUFFLE [RS_122]
+              Select Operator [SEL_121] (rows=310774 width=444)
                 Output:["_col0","_col1","_col2","_col3","_col4"]
-                Group By Operator [GBY_125] (rows=310774 width=476)
+                Group By Operator [GBY_120] (rows=310774 width=476)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)","sum(VALUE._col2)","count(VALUE._col3)","sum(VALUE._col4)","count(VALUE._col5)","sum(VALUE._col6)","count(VALUE._col7)"],keys:KEY._col0
                 <-Reducer 5 [SIMPLE_EDGE]
                   SHUFFLE [RS_29]
@@ -87,13 +86,13 @@ Stage-0
                       Top N Key Operator [TNK_55] (rows=809521 width=100)
                         keys:_col12,sort order:+,top n:100
                         Merge Join Operator [MERGEJOIN_99] (rows=809521 width=100)
-                          Conds:RS_24._col2=RS_124._col0(Inner),Output:["_col4","_col5","_col6","_col7","_col12"]
-                        <-Map 13 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_124]
+                          Conds:RS_24._col2=RS_119._col0(Inner),Output:["_col4","_col5","_col6","_col7","_col12"]
+                        <-Map 12 [SIMPLE_EDGE] vectorized
+                          SHUFFLE [RS_119]
                             PartitionCols:_col0
-                            Select Operator [SEL_123] (rows=462000 width=104)
+                            Select Operator [SEL_118] (rows=462000 width=104)
                               Output:["_col0","_col1"]
-                              Filter Operator [FIL_122] (rows=462000 width=104)
+                              Filter Operator [FIL_117] (rows=462000 width=104)
                                 predicate:i_item_sk is not null
                                 TableScan [TS_12] (rows=462000 width=104)
                                   default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_id"]
@@ -101,13 +100,13 @@ Stage-0
                           SHUFFLE [RS_24]
                             PartitionCols:_col2
                             Merge Join Operator [MERGEJOIN_98] (rows=809521 width=4)
-                              Conds:RS_21._col3=RS_121._col0(Inner),Output:["_col2","_col4","_col5","_col6","_col7"]
-                            <-Map 12 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_121]
+                              Conds:RS_21._col3=RS_116._col0(Inner),Output:["_col2","_col4","_col5","_col6","_col7"]
+                            <-Map 11 [SIMPLE_EDGE] vectorized
+                              SHUFFLE [RS_116]
                                 PartitionCols:_col0
-                                Select Operator [SEL_120] (rows=2300 width=4)
+                                Select Operator [SEL_115] (rows=2300 width=4)
                                   Output:["_col0"]
-                                  Filter Operator [FIL_119] (rows=2300 width=174)
+                                  Filter Operator [FIL_114] (rows=2300 width=174)
                                     predicate:(((p_channel_email = 'N') or (p_channel_event = 'N')) and p_promo_sk is not null)
                                     TableScan [TS_9] (rows=2300 width=174)
                                       default@promotion,promotion,Tbl:COMPLETE,Col:COMPLETE,Output:["p_promo_sk","p_channel_email","p_channel_event"]
@@ -115,13 +114,13 @@ Stage-0
                               SHUFFLE [RS_21]
                                 PartitionCols:_col3
                                 Merge Join Operator [MERGEJOIN_97] (rows=809521 width=4)
-                                  Conds:RS_18._col0=RS_110._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6","_col7"]
+                                  Conds:RS_18._col0=RS_113._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6","_col7"]
                                 <-Map 10 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_110]
+                                  SHUFFLE [RS_113]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_109] (rows=652 width=4)
+                                    Select Operator [SEL_112] (rows=652 width=4)
                                       Output:["_col0"]
-                                      Filter Operator [FIL_108] (rows=652 width=8)
+                                      Filter Operator [FIL_111] (rows=652 width=8)
                                         predicate:((d_year = 1998) and d_date_sk is not null)
                                         TableScan [TS_6] (rows=73049 width=8)
                                           default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"]
@@ -129,7 +128,7 @@ Stage-0
                                   SHUFFLE [RS_18]
                                     PartitionCols:_col0
                                     Merge Join Operator [MERGEJOIN_96] (rows=2283326 width=135)
-                                      Conds:RS_118._col1=RS_102._col0(Inner),Output:["_col0","_col2","_col3","_col4","_col5","_col6","_col7"]
+                                      Conds:RS_110._col1=RS_102._col0(Inner),Output:["_col0","_col2","_col3","_col4","_col5","_col6","_col7"]
                                     <-Map 8 [SIMPLE_EDGE] vectorized
                                       PARTITION_ONLY_SHUFFLE [RS_102]
                                         PartitionCols:_col0
@@ -140,25 +139,14 @@ Stage-0
                                             TableScan [TS_3] (rows=1861800 width=268)
                                               default@customer_demographics,customer_demographics,Tbl:COMPLETE,Col:COMPLETE,Output:["cd_demo_sk","cd_gender","cd_marital_status","cd_education_status"]
                                     <-Map 1 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_118]
+                                      SHUFFLE [RS_110]
                                         PartitionCols:_col1
-                                        Select Operator [SEL_117] (rows=283691050 width=354)
+                                        Select Operator [SEL_109] (rows=283691050 width=354)
                                           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                          Filter Operator [FIL_116] (rows=283691050 width=354)
-                                            predicate:((cs_bill_cdemo_sk BETWEEN DynamicValue(RS_16_customer_demographics_cd_demo_sk_min) AND DynamicValue(RS_16_customer_demographics_cd_demo_sk_max) and in_bloom_filter(cs_bill_cdemo_sk, DynamicValue(RS_16_customer_demographics_cd_demo_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_19_date_dim_d_date_sk_min) AND DynamicValue(RS_19_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_19_date_dim_d_date_sk_bloom_filter))) and cs_bill_cdemo_sk is not null and cs_item_sk is not null and cs_promo_sk is not null and cs_sold_date_sk is not null)
+                                          Filter Operator [FIL_108] (rows=283691050 width=354)
+                                            predicate:((cs_bill_cdemo_sk BETWEEN DynamicValue(RS_16_customer_demographics_cd_demo_sk_min) AND DynamicValue(RS_16_customer_demographics_cd_demo_sk_max) and in_bloom_filter(cs_bill_cdemo_sk, DynamicValue(RS_16_customer_demographics_cd_demo_sk_bloom_filter))) and cs_bill_cdemo_sk is not null and cs_item_sk is not null and cs_promo_sk is not null and cs_sold_date_sk is not null)
                                             TableScan [TS_0] (rows=287989836 width=354)
                                               default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_bill_cdemo_sk","cs_item_sk","cs_promo_sk","cs_quantity","cs_list_price","cs_sales_price","cs_coupon_amt"]
-                                            <-Reducer 11 [BROADCAST_EDGE] vectorized
-                                              BROADCAST [RS_115]
-                                                Group By Operator [GBY_114] (rows=1 width=12)
-                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                  SHUFFLE [RS_113]
-                                                    Group By Operator [GBY_112] (rows=1 width=12)
-                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                      Select Operator [SEL_111] (rows=652 width=4)
-                                                        Output:["_col0"]
-                                                         Please refer to the previous Select Operator [SEL_109]
                                             <-Reducer 9 [BROADCAST_EDGE] vectorized
                                               BROADCAST [RS_107]
                                                 Group By Operator [GBY_106] (rows=1 width=12)

http://git-wip-us.apache.org/repos/asf/hive/blob/e986fc56/ql/src/test/results/clientpositive/perf/tez/query27.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query27.q.out b/ql/src/test/results/clientpositive/perf/tez/query27.q.out
index d7fd2ed..c9ab29f 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query27.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query27.q.out
@@ -57,13 +57,11 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 1 <- Reducer 11 (BROADCAST_EDGE), Reducer 13 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
-Reducer 11 <- Map 10 (CUSTOM_SIMPLE_EDGE)
-Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Map 1 <- Reducer 9 (BROADCAST_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
 Reducer 3 <- Map 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 12 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 14 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 12 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
 Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
@@ -73,16 +71,16 @@ Stage-0
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_136]
-        Limit [LIM_135] (rows=100 width=538)
+      File Output Operator [FS_126]
+        Limit [LIM_125] (rows=100 width=538)
           Number of rows:100
-          Select Operator [SEL_134] (rows=4281825 width=538)
+          Select Operator [SEL_124] (rows=4281825 width=538)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
           <-Reducer 6 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_133]
-              Select Operator [SEL_132] (rows=4281825 width=538)
+            SHUFFLE [RS_123]
+              Select Operator [SEL_122] (rows=4281825 width=538)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
-                Group By Operator [GBY_131] (rows=4281825 width=570)
+                Group By Operator [GBY_121] (rows=4281825 width=570)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)","sum(VALUE._col2)","count(VALUE._col3)","sum(VALUE._col4)","count(VALUE._col5)","sum(VALUE._col6)","count(VALUE._col7)"],keys:KEY._col0, KEY._col1, KEY._col2
                 <-Reducer 5 [SIMPLE_EDGE]
                   SHUFFLE [RS_30]
@@ -94,13 +92,13 @@ Stage-0
                         Select Operator [SEL_27] (rows=1427275 width=186)
                           Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
                           Merge Join Operator [MERGEJOIN_100] (rows=1427275 width=186)
-                            Conds:RS_24._col1=RS_130._col0(Inner),Output:["_col4","_col5","_col6","_col7","_col11","_col13"]
-                          <-Map 14 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_130]
+                            Conds:RS_24._col1=RS_120._col0(Inner),Output:["_col4","_col5","_col6","_col7","_col11","_col13"]
+                          <-Map 12 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_120]
                               PartitionCols:_col0
-                              Select Operator [SEL_129] (rows=462000 width=104)
+                              Select Operator [SEL_119] (rows=462000 width=104)
                                 Output:["_col0","_col1"]
-                                Filter Operator [FIL_128] (rows=462000 width=104)
+                                Filter Operator [FIL_118] (rows=462000 width=104)
                                   predicate:i_item_sk is not null
                                   TableScan [TS_12] (rows=462000 width=104)
                                     default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_id"]
@@ -108,13 +106,13 @@ Stage-0
                             SHUFFLE [RS_24]
                               PartitionCols:_col1
                               Merge Join Operator [MERGEJOIN_99] (rows=1427275 width=90)
-                                Conds:RS_21._col3=RS_119._col0(Inner),Output:["_col1","_col4","_col5","_col6","_col7","_col11"]
-                              <-Map 12 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_119]
+                                Conds:RS_21._col3=RS_117._col0(Inner),Output:["_col1","_col4","_col5","_col6","_col7","_col11"]
+                              <-Map 11 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_117]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_118] (rows=209 width=90)
+                                  Select Operator [SEL_116] (rows=209 width=90)
                                     Output:["_col0","_col1"]
-                                    Filter Operator [FIL_117] (rows=209 width=90)
+                                    Filter Operator [FIL_115] (rows=209 width=90)
                                       predicate:((s_state) IN ('SD', 'FL', 'MI', 'LA', 'MO', 'SC') and s_store_sk is not null)
                                       TableScan [TS_9] (rows=1704 width=90)
                                         default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_state"]
@@ -122,13 +120,13 @@ Stage-0
                                 SHUFFLE [RS_21]
                                   PartitionCols:_col3
                                   Merge Join Operator [MERGEJOIN_98] (rows=1441779 width=4)
-                                    Conds:RS_18._col0=RS_111._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7"]
+                                    Conds:RS_18._col0=RS_114._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7"]
                                   <-Map 10 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_111]
+                                    SHUFFLE [RS_114]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_110] (rows=652 width=4)
+                                      Select Operator [SEL_113] (rows=652 width=4)
                                         Output:["_col0"]
-                                        Filter Operator [FIL_109] (rows=652 width=8)
+                                        Filter Operator [FIL_112] (rows=652 width=8)
                                           predicate:((d_year = 2001) and d_date_sk is not null)
                                           TableScan [TS_6] (rows=73049 width=8)
                                             default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"]
@@ -136,7 +134,7 @@ Stage-0
                                     SHUFFLE [RS_18]
                                       PartitionCols:_col0
                                       Merge Join Operator [MERGEJOIN_97] (rows=4037920 width=4)
-                                        Conds:RS_127._col2=RS_103._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6","_col7"]
+                                        Conds:RS_111._col2=RS_103._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6","_col7"]
                                       <-Map 8 [SIMPLE_EDGE] vectorized
                                         PARTITION_ONLY_SHUFFLE [RS_103]
                                           PartitionCols:_col0
@@ -147,36 +145,14 @@ Stage-0
                                               TableScan [TS_3] (rows=1861800 width=268)
                                                 default@customer_demographics,customer_demographics,Tbl:COMPLETE,Col:COMPLETE,Output:["cd_demo_sk","cd_gender","cd_marital_status","cd_education_status"]
                                       <-Map 1 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_127]
+                                        SHUFFLE [RS_111]
                                           PartitionCols:_col2
-                                          Select Operator [SEL_126] (rows=501690006 width=340)
+                                          Select Operator [SEL_110] (rows=501690006 width=340)
                                             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                            Filter Operator [FIL_125] (rows=501690006 width=340)
-                                              predicate:((ss_cdemo_sk BETWEEN DynamicValue(RS_16_customer_demographics_cd_demo_sk_min) AND DynamicValue(RS_16_customer_demographics_cd_demo_sk_max) and in_bloom_filter(ss_cdemo_sk, DynamicValue(RS_16_customer_demographics_cd_demo_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_19_date_dim_d_date_sk_min) AND DynamicValue(RS_19_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_19_date_dim_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_22_store_s_store_sk_min) AND DynamicValue(RS_22_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_22_store_s_store_sk_bloom_filter))) and ss_cdemo_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+                                            Filter Operator [FIL_109] (rows=501690006 width=340)
+                                              predicate:((ss_cdemo_sk BETWEEN DynamicValue(RS_16_customer_demographics_cd_demo_sk_min) AND DynamicValue(RS_16_customer_demographics_cd_demo_sk_max) and in_bloom_filter(ss_cdemo_sk, DynamicValue(RS_16_customer_demographics_cd_demo_sk_bloom_filter))) and ss_cdemo_sk is not null and ss_item_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=340)
                                                 default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_cdemo_sk","ss_store_sk","ss_quantity","ss_list_price","ss_sales_price","ss_coupon_amt"]
-                                              <-Reducer 11 [BROADCAST_EDGE] vectorized
-                                                BROADCAST [RS_116]
-                                                  Group By Operator [GBY_115] (rows=1 width=12)
-                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                  <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                    SHUFFLE [RS_114]
-                                                      Group By Operator [GBY_113] (rows=1 width=12)
-                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                        Select Operator [SEL_112] (rows=652 width=4)
-                                                          Output:["_col0"]
-                                                           Please refer to the previous Select Operator [SEL_110]
-                                              <-Reducer 13 [BROADCAST_EDGE] vectorized
-                                                BROADCAST [RS_124]
-                                                  Group By Operator [GBY_123] (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_122]
-                                                      Group By Operator [GBY_121] (rows=1 width=12)
-                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                        Select Operator [SEL_120] (rows=209 width=4)
-                                                          Output:["_col0"]
-                                                           Please refer to the previous Select Operator [SEL_118]
                                               <-Reducer 9 [BROADCAST_EDGE] vectorized
                                                 BROADCAST [RS_108]
                                                   Group By Operator [GBY_107] (rows=1 width=12)

http://git-wip-us.apache.org/repos/asf/hive/blob/e986fc56/ql/src/test/results/clientpositive/perf/tez/query29.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query29.q.out b/ql/src/test/results/clientpositive/perf/tez/query29.q.out
index 19f121e..71477d5 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query29.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query29.q.out
@@ -107,38 +107,33 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 1 <- Reducer 9 (BROADCAST_EDGE)
-Map 10 <- Reducer 16 (BROADCAST_EDGE), Reducer 18 (BROADCAST_EDGE), Reducer 19 (BROADCAST_EDGE), Reducer 20 (BROADCAST_EDGE), Reducer 6 (BROADCAST_EDGE), Reducer 7 (BROADCAST_EDGE)
-Reducer 11 <- Map 10 (SIMPLE_EDGE), Map 15 (SIMPLE_EDGE)
-Reducer 12 <- Reducer 11 (SIMPLE_EDGE), Reducer 17 (SIMPLE_EDGE)
-Reducer 13 <- Map 22 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
-Reducer 14 <- Map 23 (SIMPLE_EDGE), Reducer 13 (SIMPLE_EDGE)
-Reducer 16 <- Map 15 (CUSTOM_SIMPLE_EDGE)
-Reducer 17 <- Map 15 (SIMPLE_EDGE), Map 21 (SIMPLE_EDGE)
-Reducer 18 <- Reducer 17 (CUSTOM_SIMPLE_EDGE)
-Reducer 19 <- Reducer 17 (CUSTOM_SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
-Reducer 20 <- Reducer 17 (CUSTOM_SIMPLE_EDGE)
-Reducer 3 <- Reducer 14 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Map 1 <- Reducer 7 (BROADCAST_EDGE)
+Map 8 <- Reducer 14 (BROADCAST_EDGE)
+Reducer 10 <- Reducer 15 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 11 <- Map 17 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
+Reducer 12 <- Map 18 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
+Reducer 14 <- Map 13 (CUSTOM_SIMPLE_EDGE)
+Reducer 15 <- Map 13 (SIMPLE_EDGE), Map 16 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
+Reducer 3 <- Reducer 12 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
-Reducer 6 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
-Reducer 7 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
-Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
+Reducer 7 <- Map 6 (CUSTOM_SIMPLE_EDGE)
+Reducer 9 <- Map 13 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 5 vectorized
-      File Output Operator [FS_254]
-        Limit [LIM_253] (rows=100 width=496)
+      File Output Operator [FS_244]
+        Limit [LIM_243] (rows=100 width=496)
           Number of rows:100
-          Select Operator [SEL_252] (rows=21091879 width=496)
+          Select Operator [SEL_242] (rows=21091879 width=496)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
           <-Reducer 4 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_251]
-              Group By Operator [GBY_250] (rows=21091879 width=496)
+            SHUFFLE [RS_241]
+              Group By Operator [GBY_240] (rows=21091879 width=496)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3
               <-Reducer 3 [SIMPLE_EDGE]
                 SHUFFLE [RS_49]
@@ -149,81 +144,47 @@ Stage-0
                       keys:_col6, _col7, _col22, _col23,sort order:++++,top n:100
                       Merge Join Operator [MERGEJOIN_205] (rows=4156223234 width=483)
                         Conds:RS_44._col2, _col1=RS_45._col11, _col12(Inner),Output:["_col3","_col6","_col7","_col13","_col19","_col22","_col23"]
-                      <-Reducer 2 [SIMPLE_EDGE]
-                        PARTITION_ONLY_SHUFFLE [RS_44]
-                          PartitionCols:_col2, _col1
-                          Merge Join Operator [MERGEJOIN_199] (rows=7638375 width=10)
-                            Conds:RS_216._col0=RS_208._col0(Inner),Output:["_col1","_col2","_col3"]
-                          <-Map 8 [SIMPLE_EDGE] vectorized
-                            PARTITION_ONLY_SHUFFLE [RS_208]
-                              PartitionCols:_col0
-                              Select Operator [SEL_207] (rows=1957 width=4)
-                                Output:["_col0"]
-                                Filter Operator [FIL_206] (rows=1957 width=8)
-                                  predicate:((d_year) IN (1999, 2000, 2001) and d_date_sk is not null)
-                                  TableScan [TS_3] (rows=73049 width=8)
-                                    default@date_dim,d3,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"]
-                          <-Map 1 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_216]
-                              PartitionCols:_col0
-                              Select Operator [SEL_215] (rows=285117831 width=15)
-                                Output:["_col0","_col1","_col2","_col3"]
-                                Filter Operator [FIL_214] (rows=285117831 width=15)
-                                  predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_42_d3_d_date_sk_min) AND DynamicValue(RS_42_d3_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_42_d3_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
-                                  TableScan [TS_0] (rows=287989836 width=15)
-                                    default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_quantity"]
-                                  <-Reducer 9 [BROADCAST_EDGE] vectorized
-                                    BROADCAST [RS_213]
-                                      Group By Operator [GBY_212] (rows=1 width=12)
-                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                      <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
-                                        PARTITION_ONLY_SHUFFLE [RS_211]
-                                          Group By Operator [GBY_210] (rows=1 width=12)
-                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                            Select Operator [SEL_209] (rows=1957 width=4)
-                                              Output:["_col0"]
-                                               Please refer to the previous Select Operator [SEL_207]
-                      <-Reducer 14 [SIMPLE_EDGE]
+                      <-Reducer 12 [SIMPLE_EDGE]
                         SHUFFLE [RS_45]
                           PartitionCols:_col11, _col12
                           Select Operator [SEL_40] (rows=21091879 width=484)
                             Output:["_col1","_col2","_col8","_col11","_col12","_col14","_col17","_col18"]
                             Merge Join Operator [MERGEJOIN_204] (rows=21091879 width=484)
-                              Conds:RS_37._col3=RS_249._col0(Inner),Output:["_col5","_col8","_col9","_col11","_col14","_col15","_col17","_col18"]
-                            <-Map 23 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_249]
+                              Conds:RS_37._col3=RS_239._col0(Inner),Output:["_col5","_col8","_col9","_col11","_col14","_col15","_col17","_col18"]
+                            <-Map 18 [SIMPLE_EDGE] vectorized
+                              SHUFFLE [RS_239]
                                 PartitionCols:_col0
-                                Select Operator [SEL_248] (rows=1704 width=192)
+                                Select Operator [SEL_238] (rows=1704 width=192)
                                   Output:["_col0","_col1","_col2"]
-                                  Filter Operator [FIL_247] (rows=1704 width=192)
+                                  Filter Operator [FIL_237] (rows=1704 width=192)
                                     predicate:s_store_sk is not null
                                     TableScan [TS_25] (rows=1704 width=192)
                                       default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_store_id","s_store_name"]
-                            <-Reducer 13 [SIMPLE_EDGE]
+                            <-Reducer 11 [SIMPLE_EDGE]
                               SHUFFLE [RS_37]
                                 PartitionCols:_col3
                                 Merge Join Operator [MERGEJOIN_203] (rows=21091879 width=298)
-                                  Conds:RS_34._col1=RS_246._col0(Inner),Output:["_col3","_col5","_col8","_col9","_col11","_col14","_col15"]
-                                <-Map 22 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_246]
+                                  Conds:RS_34._col1=RS_236._col0(Inner),Output:["_col3","_col5","_col8","_col9","_col11","_col14","_col15"]
+                                <-Map 17 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_236]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_245] (rows=462000 width=288)
+                                    Select Operator [SEL_235] (rows=462000 width=288)
                                       Output:["_col0","_col1","_col2"]
-                                      Filter Operator [FIL_244] (rows=462000 width=288)
+                                      Filter Operator [FIL_234] (rows=462000 width=288)
                                         predicate:i_item_sk is not null
                                         TableScan [TS_22] (rows=462000 width=288)
                                           default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_id","i_item_desc"]
-                                <-Reducer 12 [SIMPLE_EDGE]
+                                <-Reducer 10 [SIMPLE_EDGE]
                                   SHUFFLE [RS_34]
                                     PartitionCols:_col1
                                     Merge Join Operator [MERGEJOIN_202] (rows=21091879 width=18)
                                       Conds:RS_31._col1, _col2, _col4=RS_32._col1, _col2, _col3(Inner),Output:["_col1","_col3","_col5","_col8","_col9","_col11"]
-                                    <-Reducer 17 [SIMPLE_EDGE]
-                                      PARTITION_ONLY_SHUFFLE [RS_32]
+                                    <-Reducer 15 [SIMPLE_EDGE]
+                                      SHUFFLE [RS_32]
                                         PartitionCols:_col1, _col2, _col3
                                         Merge Join Operator [MERGEJOIN_201] (rows=5384572 width=13)
-                                          Conds:RS_230._col0=RS_223._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
-                                        <-Map 15 [SIMPLE_EDGE] vectorized
+                                          Conds:RS_233._col0=RS_223._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                        <-Map 13 [SIMPLE_EDGE] vectorized
                                           SHUFFLE [RS_223]
                                             PartitionCols:_col0
                                             Select Operator [SEL_220] (rows=201 width=4)
@@ -232,21 +193,21 @@ Stage-0
                                                 predicate:((d_year = 1999) and d_date_sk is not null and d_moy BETWEEN 4 AND 7)
                                                 TableScan [TS_9] (rows=73049 width=12)
                                                   default@date_dim,d1,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_moy"]
-                                        <-Map 21 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_230]
+                                        <-Map 16 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_233]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_229] (rows=53632139 width=19)
+                                            Select Operator [SEL_232] (rows=53632139 width=19)
                                               Output:["_col0","_col1","_col2","_col3","_col4"]
-                                              Filter Operator [FIL_228] (rows=53632139 width=19)
+                                              Filter Operator [FIL_231] (rows=53632139 width=19)
                                                 predicate:(sr_customer_sk is not null and sr_item_sk is not null and sr_returned_date_sk is not null and sr_ticket_number is not null)
                                                 TableScan [TS_12] (rows=57591150 width=19)
                                                   default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_returned_date_sk","sr_item_sk","sr_customer_sk","sr_ticket_number","sr_return_quantity"]
-                                    <-Reducer 11 [SIMPLE_EDGE]
+                                    <-Reducer 9 [SIMPLE_EDGE]
                                       SHUFFLE [RS_31]
                                         PartitionCols:_col1, _col2, _col4
                                         Merge Join Operator [MERGEJOIN_200] (rows=13737330 width=8)
-                                          Conds:RS_243._col0=RS_221._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
-                                        <-Map 15 [SIMPLE_EDGE] vectorized
+                                          Conds:RS_230._col0=RS_221._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                        <-Map 13 [SIMPLE_EDGE] vectorized
                                           SHUFFLE [RS_221]
                                             PartitionCols:_col0
                                             Select Operator [SEL_219] (rows=50 width=4)
@@ -254,79 +215,58 @@ Stage-0
                                               Filter Operator [FIL_217] (rows=50 width=12)
                                                 predicate:((d_moy = 4) and (d_year = 1999) and d_date_sk is not null)
                                                  Please refer to the previous TableScan [TS_9]
-                                        <-Map 10 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_243]
+                                        <-Map 8 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_230]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_242] (rows=501694138 width=23)
+                                            Select Operator [SEL_229] (rows=501694138 width=23)
                                               Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                              Filter Operator [FIL_241] (rows=501694138 width=23)
-                                                predicate:((ss_customer_sk BETWEEN DynamicValue(RS_32_store_returns_sr_customer_sk_min) AND DynamicValue(RS_32_store_returns_sr_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_32_store_returns_sr_customer_sk_bloom_filter))) and (ss_customer_sk BETWEEN DynamicValue(RS_44_catalog_sales_cs_bill_customer_sk_min) AND DynamicValue(RS_44_catalog_sales_cs_bill_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_44_catalog_sales_cs_bill_customer_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_32_store_returns_sr_item_sk_min) AND DynamicValue(RS_32_store_returns_sr_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_32_store_returns_sr_item_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_44_catalog_sales_cs_item_sk_min) AND DynamicValue(RS_44_catalog_sales_cs_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_44_catalog_sales_cs_item_sk_bloom_filter))) and (ss_sold_da
 te_sk BETWEEN DynamicValue(RS_29_d1_d_date_sk_min) AND DynamicValue(RS_29_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_29_d1_d_date_sk_bloom_filter))) and (ss_ticket_number BETWEEN DynamicValue(RS_32_store_returns_sr_ticket_number_min) AND DynamicValue(RS_32_store_returns_sr_ticket_number_max) and in_bloom_filter(ss_ticket_number, DynamicValue(RS_32_store_returns_sr_ticket_number_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null)
+                                              Filter Operator [FIL_228] (rows=501694138 width=23)
+                                                predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_29_d1_d_date_sk_min) AND DynamicValue(RS_29_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_29_d1_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null)
                                                 TableScan [TS_6] (rows=575995635 width=23)
                                                   default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_quantity"]
-                                                <-Reducer 16 [BROADCAST_EDGE] vectorized
+                                                <-Reducer 14 [BROADCAST_EDGE] vectorized
                                                   BROADCAST [RS_227]
                                                     Group By Operator [GBY_226] (rows=1 width=12)
                                                       Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                    <-Map 15 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    <-Map 13 [CUSTOM_SIMPLE_EDGE] vectorized
                                                       SHUFFLE [RS_225]
                                                         Group By Operator [GBY_224] (rows=1 width=12)
                                                           Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
                                                           Select Operator [SEL_222] (rows=50 width=4)
                                                             Output:["_col0"]
                                                              Please refer to the previous Select Operator [SEL_219]
-                                                <-Reducer 18 [BROADCAST_EDGE] vectorized
-                                                  BROADCAST [RS_232]
-                                                    Group By Operator [GBY_231] (rows=1 width=12)
-                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                    <-Reducer 17 [CUSTOM_SIMPLE_EDGE]
-                                                      PARTITION_ONLY_SHUFFLE [RS_121]
-                                                        Group By Operator [GBY_120] (rows=1 width=12)
-                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                          Select Operator [SEL_119] (rows=5384572 width=8)
-                                                            Output:["_col0"]
-                                                             Please refer to the previous Merge Join Operator [MERGEJOIN_201]
-                                                <-Reducer 19 [BROADCAST_EDGE] vectorized
-                                                  BROADCAST [RS_234]
-                                                    Group By Operator [GBY_233] (rows=1 width=12)
-                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                    <-Reducer 17 [CUSTOM_SIMPLE_EDGE]
-                                                      PARTITION_ONLY_SHUFFLE [RS_126]
-                                                        Group By Operator [GBY_125] (rows=1 width=12)
-                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                          Select Operator [SEL_124] (rows=5384572 width=5)
-                                                            Output:["_col0"]
-                                                             Please refer to the previous Merge Join Operator [MERGEJOIN_201]
-                                                <-Reducer 20 [BROADCAST_EDGE] vectorized
-                                                  BROADCAST [RS_236]
-                                                    Group By Operator [GBY_235] (rows=1 width=12)
-                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=3507020)"]
-                                                    <-Reducer 17 [CUSTOM_SIMPLE_EDGE]
-                                                      PARTITION_ONLY_SHUFFLE [RS_131]
-                                                        Group By Operator [GBY_130] (rows=1 width=12)
-                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=3507020)"]
-                                                          Select Operator [SEL_129] (rows=5384572 width=8)
-                                                            Output:["_col0"]
-                                                             Please refer to the previous Merge Join Operator [MERGEJOIN_201]
-                                                <-Reducer 6 [BROADCAST_EDGE] vectorized
-                                                  BROADCAST [RS_238]
-                                                    Group By Operator [GBY_237] (rows=1 width=12)
-                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                    <-Reducer 2 [CUSTOM_SIMPLE_EDGE]
-                                                      PARTITION_ONLY_SHUFFLE [RS_146]
-                                                        Group By Operator [GBY_145] (rows=1 width=12)
-                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                          Select Operator [SEL_144] (rows=7638375 width=8)
-                                                            Output:["_col0"]
-                                                             Please refer to the previous Merge Join Operator [MERGEJOIN_199]
-                                                <-Reducer 7 [BROADCAST_EDGE] vectorized
-                                                  BROADCAST [RS_240]
-                                                    Group By Operator [GBY_239] (rows=1 width=12)
-                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                    <-Reducer 2 [CUSTOM_SIMPLE_EDGE]
-                                                      PARTITION_ONLY_SHUFFLE [RS_151]
-                                                        Group By Operator [GBY_150] (rows=1 width=12)
-                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                          Select Operator [SEL_149] (rows=7638375 width=6)
-                                                            Output:["_col0"]
-                                                             Please refer to the previous Merge Join Operator [MERGEJOIN_199]
+                      <-Reducer 2 [SIMPLE_EDGE]
+                        SHUFFLE [RS_44]
+                          PartitionCols:_col2, _col1
+                          Merge Join Operator [MERGEJOIN_199] (rows=7638375 width=10)
+                            Conds:RS_216._col0=RS_208._col0(Inner),Output:["_col1","_col2","_col3"]
+                          <-Map 6 [SIMPLE_EDGE] vectorized
+                            PARTITION_ONLY_SHUFFLE [RS_208]
+                              PartitionCols:_col0
+                              Select Operator [SEL_207] (rows=1957 width=4)
+                                Output:["_col0"]
+                                Filter Operator [FIL_206] (rows=1957 width=8)
+                                  predicate:((d_year) IN (1999, 2000, 2001) and d_date_sk is not null)
+                                  TableScan [TS_3] (rows=73049 width=8)
+                                    default@date_dim,d3,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"]
+                          <-Map 1 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_216]
+                              PartitionCols:_col0
+                              Select Operator [SEL_215] (rows=285117831 width=15)
+                                Output:["_col0","_col1","_col2","_col3"]
+                                Filter Operator [FIL_214] (rows=285117831 width=15)
+                                  predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_42_d3_d_date_sk_min) AND DynamicValue(RS_42_d3_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_42_d3_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
+                                  TableScan [TS_0] (rows=287989836 width=15)
+                                    default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_quantity"]
+                                  <-Reducer 7 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_213]
+                                      Group By Operator [GBY_212] (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_211]
+                                          Group By Operator [GBY_210] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                            Select Operator [SEL_209] (rows=1957 width=4)
+                                              Output:["_col0"]
+                                               Please refer to the previous Select Operator [SEL_207]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/e986fc56/ql/src/test/results/clientpositive/perf/tez/query3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query3.q.out b/ql/src/test/results/clientpositive/perf/tez/query3.q.out
index e31c994..a647ab5 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query3.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query3.q.out
@@ -49,27 +49,26 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 1 <- Reducer 7 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
+Map 1 <- Reducer 7 (BROADCAST_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
 Reducer 3 <- Map 8 (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 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 5 vectorized
-      File Output Operator [FS_77]
-        Limit [LIM_76] (rows=100 width=220)
+      File Output Operator [FS_72]
+        Limit [LIM_71] (rows=100 width=220)
           Number of rows:100
-          Select Operator [SEL_75] (rows=274400 width=220)
+          Select Operator [SEL_70] (rows=274400 width=220)
             Output:["_col0","_col1","_col2","_col3"]
           <-Reducer 4 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_74]
-              Group By Operator [GBY_73] (rows=274400 width=220)
+            SHUFFLE [RS_69]
+              Group By Operator [GBY_68] (rows=274400 width=220)
                 Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
               <-Reducer 3 [SIMPLE_EDGE]
                 SHUFFLE [RS_17]
@@ -77,13 +76,13 @@ Stage-0
                   Group By Operator [GBY_16] (rows=274400 width=220)
                     Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col2)"],keys:_col7, _col4, _col5
                     Merge Join Operator [MERGEJOIN_53] (rows=589741 width=108)
-                      Conds:RS_12._col0=RS_64._col0(Inner),Output:["_col2","_col4","_col5","_col7"]
+                      Conds:RS_12._col0=RS_67._col0(Inner),Output:["_col2","_col4","_col5","_col7"]
                     <-Map 8 [SIMPLE_EDGE] vectorized
-                      PARTITION_ONLY_SHUFFLE [RS_64]
+                      SHUFFLE [RS_67]
                         PartitionCols:_col0
-                        Select Operator [SEL_63] (rows=5619 width=8)
+                        Select Operator [SEL_66] (rows=5619 width=8)
                           Output:["_col0","_col1"]
-                          Filter Operator [FIL_62] (rows=5619 width=12)
+                          Filter Operator [FIL_65] (rows=5619 width=12)
                             predicate:((d_moy = 12) and d_date_sk is not null)
                             TableScan [TS_6] (rows=73049 width=12)
                               default@date_dim,dt,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_moy"]
@@ -91,7 +90,7 @@ Stage-0
                       SHUFFLE [RS_12]
                         PartitionCols:_col0
                         Merge Join Operator [MERGEJOIN_52] (rows=7666836 width=104)
-                          Conds:RS_72._col1=RS_56._col0(Inner),Output:["_col0","_col2","_col4","_col5"]
+                          Conds:RS_64._col1=RS_56._col0(Inner),Output:["_col0","_col2","_col4","_col5"]
                         <-Map 6 [SIMPLE_EDGE] vectorized
                           PARTITION_ONLY_SHUFFLE [RS_56]
                             PartitionCols:_col0
@@ -102,12 +101,12 @@ Stage-0
                                 TableScan [TS_3] (rows=462000 width=111)
                                   default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_brand_id","i_brand","i_manufact_id"]
                         <-Map 1 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_72]
+                          SHUFFLE [RS_64]
                             PartitionCols:_col1
-                            Select Operator [SEL_71] (rows=550076554 width=114)
+                            Select Operator [SEL_63] (rows=550076554 width=114)
                               Output:["_col0","_col1","_col2"]
-                              Filter Operator [FIL_70] (rows=550076554 width=114)
-                                predicate:((ss_item_sk BETWEEN DynamicValue(RS_10_item_i_item_sk_min) AND DynamicValue(RS_10_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_10_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_13_dt_d_date_sk_min) AND DynamicValue(RS_13_dt_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_13_dt_d_date_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null)
+                              Filter Operator [FIL_62] (rows=550076554 width=114)
+                                predicate:((ss_item_sk BETWEEN DynamicValue(RS_10_item_i_item_sk_min) AND DynamicValue(RS_10_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_10_item_i_item_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_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_item_sk","ss_ext_sales_price"]
                                 <-Reducer 7 [BROADCAST_EDGE] vectorized
@@ -121,15 +120,4 @@ Stage-0
                                           Select Operator [SEL_57] (rows=669 width=4)
                                             Output:["_col0"]
                                              Please refer to the previous Select Operator [SEL_55]
-                                <-Reducer 9 [BROADCAST_EDGE] vectorized
-                                  BROADCAST [RS_69]
-                                    Group By Operator [GBY_68] (rows=1 width=12)
-                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                    <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
-                                      PARTITION_ONLY_SHUFFLE [RS_67]
-                                        Group By Operator [GBY_66] (rows=1 width=12)
-                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                          Select Operator [SEL_65] (rows=5619 width=4)
-                                            Output:["_col0"]
-                                             Please refer to the previous Select Operator [SEL_63]