You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2018/06/25 16:04:11 UTC

[08/51] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query4.q.out b/ql/src/test/results/clientpositive/perf/tez/query4.q.out
index 918a8e4..75d5423 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query4.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query4.q.out
@@ -217,36 +217,52 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 11 <- Map 10 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 12 <- Map 25 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
-Reducer 13 <- Reducer 12 (SIMPLE_EDGE)
-Reducer 14 <- Map 10 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 15 <- Map 25 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE)
-Reducer 16 <- Reducer 15 (SIMPLE_EDGE)
-Reducer 18 <- Map 17 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 19 <- Map 25 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 20 <- Reducer 19 (SIMPLE_EDGE)
-Reducer 21 <- Map 17 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 22 <- Map 25 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE)
-Reducer 23 <- Reducer 22 (SIMPLE_EDGE)
-Reducer 3 <- Map 25 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Map 1 <- Reducer 26 (BROADCAST_EDGE), Reducer 35 (BROADCAST_EDGE)
+Map 11 <- Reducer 25 (BROADCAST_EDGE), Reducer 34 (BROADCAST_EDGE)
+Map 15 <- Reducer 28 (BROADCAST_EDGE), Reducer 37 (BROADCAST_EDGE)
+Map 19 <- Reducer 24 (BROADCAST_EDGE)
+Map 38 <- Reducer 32 (BROADCAST_EDGE)
+Map 7 <- Reducer 27 (BROADCAST_EDGE), Reducer 36 (BROADCAST_EDGE)
+Reducer 10 <- Reducer 9 (SIMPLE_EDGE)
+Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 23 (SIMPLE_EDGE)
+Reducer 13 <- Map 33 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
+Reducer 14 <- Reducer 13 (SIMPLE_EDGE)
+Reducer 16 <- Map 15 (SIMPLE_EDGE), Map 23 (SIMPLE_EDGE)
+Reducer 17 <- Map 33 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE)
+Reducer 18 <- Reducer 17 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 23 (SIMPLE_EDGE)
+Reducer 20 <- Map 19 (SIMPLE_EDGE), Map 23 (SIMPLE_EDGE)
+Reducer 21 <- Map 33 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE)
+Reducer 22 <- Reducer 21 (SIMPLE_EDGE)
+Reducer 24 <- Map 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 25 <- Map 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 26 <- Map 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 27 <- Map 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 28 <- Map 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 29 <- Map 23 (SIMPLE_EDGE), Map 38 (SIMPLE_EDGE)
+Reducer 3 <- Map 33 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 30 <- Map 33 (SIMPLE_EDGE), Reducer 29 (SIMPLE_EDGE)
+Reducer 31 <- Reducer 30 (SIMPLE_EDGE)
+Reducer 32 <- Map 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 34 <- Map 33 (CUSTOM_SIMPLE_EDGE)
+Reducer 35 <- Map 33 (CUSTOM_SIMPLE_EDGE)
+Reducer 36 <- Map 33 (CUSTOM_SIMPLE_EDGE)
+Reducer 37 <- Map 33 (CUSTOM_SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Reducer 13 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE), Reducer 23 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 5 <- Reducer 10 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE), Reducer 22 (SIMPLE_EDGE), Reducer 31 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
-Reducer 7 <- Map 1 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 8 <- Map 25 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE)
-Reducer 9 <- Reducer 8 (SIMPLE_EDGE)
+Reducer 8 <- Map 23 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
+Reducer 9 <- Map 33 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_357]
-        Limit [LIM_356] (rows=100 width=88)
+      File Output Operator [FS_587]
+        Limit [LIM_586] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_355] (rows=212958399 width=88)
+          Select Operator [SEL_585] (rows=212958399 width=88)
             Output:["_col0"]
           <-Reducer 5 [SIMPLE_EDGE]
             SHUFFLE [RS_139]
@@ -254,182 +270,326 @@ Stage-0
                 Output:["_col0"]
                 Filter Operator [FIL_136] (rows=212958399 width=88)
                   predicate:(((_col1 / _col8) > (_col10 / _col12)) and ((_col1 / _col8) > (_col6 / _col3)))
-                  Merge Join Operator [MERGEJOIN_296] (rows=1916625598 width=88)
-                    Conds:RS_325._col0=RS_342._col0(Inner),RS_342._col0=RS_337._col0(Inner),RS_342._col0=RS_330._col0(Inner),RS_342._col0=RS_349._col0(Inner),RS_342._col0=RS_354._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col8","_col10","_col12"]
-                  <-Reducer 13 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_337]
+                  Merge Join Operator [MERGEJOIN_470] (rows=1916625598 width=88)
+                    Conds:RS_532._col0=RS_544._col0(Inner),RS_544._col0=RS_554._col0(Inner),RS_544._col0=RS_566._col0(Inner),RS_544._col0=RS_574._col0(Inner),RS_544._col0=RS_584._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col8","_col10","_col12"]
+                  <-Reducer 10 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_544]
                       PartitionCols:_col0
-                      Select Operator [SEL_336] (rows=348477374 width=88)
+                      Select Operator [SEL_543] (rows=116159124 width=88)
+                        Output:["_col0","_col1"]
+                        Filter Operator [FIL_542] (rows=116159124 width=88)
+                          predicate:(_col7 > 0)
+                          Select Operator [SEL_541] (rows=348477374 width=88)
+                            Output:["_col0","_col7"]
+                            Group By Operator [GBY_540] (rows=348477374 width=88)
+                              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6
+                            <-Reducer 9 [SIMPLE_EDGE]
+                              SHUFFLE [RS_39]
+                                PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
+                                Group By Operator [GBY_38] (rows=696954748 width=88)
+                                  Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col7)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6
+                                  Select Operator [SEL_36] (rows=696954748 width=88)
+                                    Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                                    Merge Join Operator [MERGEJOIN_461] (rows=696954748 width=88)
+                                      Conds:RS_33._col1=RS_512._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
+                                    <-Map 33 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_512]
+                                        PartitionCols:_col0
+                                        Select Operator [SEL_506] (rows=80000000 width=860)
+                                          Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                                          Filter Operator [FIL_505] (rows=80000000 width=860)
+                                            predicate:(c_customer_id is not null and c_customer_sk is not null)
+                                            TableScan [TS_92] (rows=80000000 width=860)
+                                              default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_customer_id","c_first_name","c_last_name","c_preferred_cust_flag","c_birth_country","c_login","c_email_address"]
+                                    <-Reducer 8 [SIMPLE_EDGE]
+                                      SHUFFLE [RS_33]
+                                        PartitionCols:_col1
+                                        Merge Join Operator [MERGEJOIN_460] (rows=633595212 width=88)
+                                          Conds:RS_539._col0=RS_485._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                        <-Map 23 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_485]
+                                            PartitionCols:_col0
+                                            Select Operator [SEL_476] (rows=36524 width=1119)
+                                              Output:["_col0"]
+                                              Filter Operator [FIL_472] (rows=36524 width=1119)
+                                                predicate:((d_year = 2001) and d_date_sk is not null)
+                                                TableScan [TS_89] (rows=73049 width=1119)
+                                                  default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
+                                        <-Map 7 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_539]
+                                            PartitionCols:_col0
+                                            Select Operator [SEL_538] (rows=575995635 width=88)
+                                              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                                              Filter Operator [FIL_537] (rows=575995635 width=88)
+                                                predicate:((ss_customer_sk BETWEEN DynamicValue(RS_34_customer_c_customer_sk_min) AND DynamicValue(RS_34_customer_c_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_34_customer_c_customer_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_31_date_dim_d_date_sk_min) AND DynamicValue(RS_31_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_31_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null)
+                                                TableScan [TS_21] (rows=575995635 width=88)
+                                                  default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_ext_discount_amt","ss_ext_sales_price","ss_ext_wholesale_cost","ss_ext_list_price"]
+                                                <-Reducer 27 [BROADCAST_EDGE] vectorized
+                                                  BROADCAST [RS_534]
+                                                    Group By Operator [GBY_533] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                    <-Map 23 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_500]
+                                                        Group By Operator [GBY_494] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                          Select Operator [SEL_486] (rows=36524 width=1119)
+                                                            Output:["_col0"]
+                                                             Please refer to the previous Select Operator [SEL_476]
+                                                <-Reducer 36 [BROADCAST_EDGE] vectorized
+                                                  BROADCAST [RS_536]
+                                                    Group By Operator [GBY_535] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=80000000)"]
+                                                    <-Map 33 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_523]
+                                                        Group By Operator [GBY_519] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=80000000)"]
+                                                          Select Operator [SEL_513] (rows=80000000 width=860)
+                                                            Output:["_col0"]
+                                                             Please refer to the previous Select Operator [SEL_506]
+                  <-Reducer 14 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_554]
+                      PartitionCols:_col0
+                      Select Operator [SEL_553] (rows=348477374 width=88)
                         Output:["_col0","_col1","_col2"]
-                        Group By Operator [GBY_335] (rows=348477374 width=88)
+                        Group By Operator [GBY_552] (rows=348477374 width=88)
                           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6
-                        <-Reducer 12 [SIMPLE_EDGE]
+                        <-Reducer 13 [SIMPLE_EDGE]
                           SHUFFLE [RS_61]
                             PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
                             Group By Operator [GBY_60] (rows=696954748 width=88)
                               Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col7)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6
                               Select Operator [SEL_58] (rows=696954748 width=88)
                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                Merge Join Operator [MERGEJOIN_289] (rows=696954748 width=88)
-                                  Conds:RS_55._col1=RS_318._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
-                                <-Map 25 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_318]
+                                Merge Join Operator [MERGEJOIN_463] (rows=696954748 width=88)
+                                  Conds:RS_55._col1=RS_508._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
+                                <-Map 33 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_508]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_316] (rows=80000000 width=860)
-                                      Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                      Filter Operator [FIL_315] (rows=80000000 width=860)
-                                        predicate:(c_customer_id is not null and c_customer_sk is not null)
-                                        TableScan [TS_92] (rows=80000000 width=860)
-                                          default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_customer_id","c_first_name","c_last_name","c_preferred_cust_flag","c_birth_country","c_login","c_email_address"]
-                                <-Reducer 11 [SIMPLE_EDGE]
+                                     Please refer to the previous Select Operator [SEL_506]
+                                <-Reducer 12 [SIMPLE_EDGE]
                                   SHUFFLE [RS_55]
                                     PartitionCols:_col1
-                                    Merge Join Operator [MERGEJOIN_288] (rows=633595212 width=88)
-                                      Conds:RS_333._col0=RS_310._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
-                                    <-Map 24 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_310]
+                                    Merge Join Operator [MERGEJOIN_462] (rows=633595212 width=88)
+                                      Conds:RS_551._col0=RS_481._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                    <-Map 23 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_481]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_305] (rows=36524 width=1119)
+                                        Select Operator [SEL_475] (rows=36524 width=1119)
                                           Output:["_col0"]
-                                          Filter Operator [FIL_301] (rows=36524 width=1119)
+                                          Filter Operator [FIL_471] (rows=36524 width=1119)
                                             predicate:((d_year = 2002) and d_date_sk is not null)
-                                            TableScan [TS_89] (rows=73049 width=1119)
-                                              default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
-                                    <-Map 10 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_333]
+                                             Please refer to the previous TableScan [TS_89]
+                                    <-Map 11 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_551]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_332] (rows=575995635 width=88)
+                                        Select Operator [SEL_550] (rows=575995635 width=88)
                                           Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                          Filter Operator [FIL_331] (rows=575995635 width=88)
-                                            predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null)
+                                          Filter Operator [FIL_549] (rows=575995635 width=88)
+                                            predicate:((ss_customer_sk BETWEEN DynamicValue(RS_56_customer_c_customer_sk_min) AND DynamicValue(RS_56_customer_c_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_56_customer_c_customer_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_53_date_dim_d_date_sk_min) AND DynamicValue(RS_53_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_53_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null)
                                             TableScan [TS_43] (rows=575995635 width=88)
                                               default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_ext_discount_amt","ss_ext_sales_price","ss_ext_wholesale_cost","ss_ext_list_price"]
-                  <-Reducer 16 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_342]
+                                            <-Reducer 25 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_546]
+                                                Group By Operator [GBY_545] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 23 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_498]
+                                                    Group By Operator [GBY_492] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_482] (rows=36524 width=1119)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_475]
+                                            <-Reducer 34 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_548]
+                                                Group By Operator [GBY_547] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=80000000)"]
+                                                <-Map 33 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_521]
+                                                    Group By Operator [GBY_517] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=80000000)"]
+                                                      Select Operator [SEL_509] (rows=80000000 width=860)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_506]
+                  <-Reducer 18 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_566]
                       PartitionCols:_col0
-                      Select Operator [SEL_341] (rows=116159124 width=88)
+                      Select Operator [SEL_565] (rows=58077952 width=135)
                         Output:["_col0","_col1"]
-                        Filter Operator [FIL_340] (rows=116159124 width=88)
+                        Filter Operator [FIL_564] (rows=58077952 width=135)
                           predicate:(_col7 > 0)
-                          Select Operator [SEL_339] (rows=348477374 width=88)
+                          Select Operator [SEL_563] (rows=174233858 width=135)
                             Output:["_col0","_col7"]
-                            Group By Operator [GBY_338] (rows=348477374 width=88)
+                            Group By Operator [GBY_562] (rows=174233858 width=135)
                               Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6
-                            <-Reducer 15 [SIMPLE_EDGE]
-                              SHUFFLE [RS_39]
+                            <-Reducer 17 [SIMPLE_EDGE]
+                              SHUFFLE [RS_82]
                                 PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                                Group By Operator [GBY_38] (rows=696954748 width=88)
+                                Group By Operator [GBY_81] (rows=348467716 width=135)
                                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col7)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                                  Select Operator [SEL_36] (rows=696954748 width=88)
+                                  Select Operator [SEL_79] (rows=348467716 width=135)
                                     Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                    Merge Join Operator [MERGEJOIN_287] (rows=696954748 width=88)
-                                      Conds:RS_33._col1=RS_320._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
-                                    <-Map 25 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_320]
+                                    Merge Join Operator [MERGEJOIN_465] (rows=348467716 width=135)
+                                      Conds:RS_76._col1=RS_514._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
+                                    <-Map 33 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_514]
                                         PartitionCols:_col0
-                                         Please refer to the previous Select Operator [SEL_316]
-                                    <-Reducer 14 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_33]
+                                         Please refer to the previous Select Operator [SEL_506]
+                                    <-Reducer 16 [SIMPLE_EDGE]
+                                      SHUFFLE [RS_76]
                                         PartitionCols:_col1
-                                        Merge Join Operator [MERGEJOIN_286] (rows=633595212 width=88)
-                                          Conds:RS_334._col0=RS_312._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
-                                        <-Map 24 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_312]
+                                        Merge Join Operator [MERGEJOIN_464] (rows=316788826 width=135)
+                                          Conds:RS_561._col0=RS_487._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                        <-Map 23 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_487]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_306] (rows=36524 width=1119)
+                                            Select Operator [SEL_477] (rows=36524 width=1119)
                                               Output:["_col0"]
-                                              Filter Operator [FIL_302] (rows=36524 width=1119)
+                                              Filter Operator [FIL_473] (rows=36524 width=1119)
                                                 predicate:((d_year = 2001) and d_date_sk is not null)
                                                  Please refer to the previous TableScan [TS_89]
-                                        <-Map 10 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_334]
+                                        <-Map 15 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_561]
                                             PartitionCols:_col0
-                                             Please refer to the previous Select Operator [SEL_332]
-                  <-Reducer 20 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_349]
+                                            Select Operator [SEL_560] (rows=287989836 width=135)
+                                              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                                              Filter Operator [FIL_559] (rows=287989836 width=135)
+                                                predicate:((cs_bill_customer_sk BETWEEN DynamicValue(RS_77_customer_c_customer_sk_min) AND DynamicValue(RS_77_customer_c_customer_sk_max) and in_bloom_filter(cs_bill_customer_sk, DynamicValue(RS_77_customer_c_customer_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_74_date_dim_d_date_sk_min) AND DynamicValue(RS_74_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_74_date_dim_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_sold_date_sk is not null)
+                                                TableScan [TS_64] (rows=287989836 width=135)
+                                                  default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_ext_discount_amt","cs_ext_sales_price","cs_ext_wholesale_cost","cs_ext_list_price"]
+                                                <-Reducer 28 [BROADCAST_EDGE] vectorized
+                                                  BROADCAST [RS_556]
+                                                    Group By Operator [GBY_555] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                    <-Map 23 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_501]
+                                                        Group By Operator [GBY_495] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                          Select Operator [SEL_488] (rows=36524 width=1119)
+                                                            Output:["_col0"]
+                                                             Please refer to the previous Select Operator [SEL_477]
+                                                <-Reducer 37 [BROADCAST_EDGE] vectorized
+                                                  BROADCAST [RS_558]
+                                                    Group By Operator [GBY_557] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=80000000)"]
+                                                    <-Map 33 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_524]
+                                                        Group By Operator [GBY_520] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=80000000)"]
+                                                          Select Operator [SEL_515] (rows=80000000 width=860)
+                                                            Output:["_col0"]
+                                                             Please refer to the previous Select Operator [SEL_506]
+                  <-Reducer 22 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_574]
                       PartitionCols:_col0
-                      Select Operator [SEL_348] (rows=87121617 width=135)
+                      Select Operator [SEL_573] (rows=87121617 width=135)
                         Output:["_col0","_col1"]
-                        Group By Operator [GBY_347] (rows=87121617 width=135)
+                        Group By Operator [GBY_572] (rows=87121617 width=135)
                           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6
-                        <-Reducer 19 [SIMPLE_EDGE]
+                        <-Reducer 21 [SIMPLE_EDGE]
                           SHUFFLE [RS_104]
                             PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
                             Group By Operator [GBY_103] (rows=174243235 width=135)
                               Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col7)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6
                               Select Operator [SEL_101] (rows=174243235 width=135)
                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                Merge Join Operator [MERGEJOIN_293] (rows=174243235 width=135)
-                                  Conds:RS_98._col1=RS_317._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
-                                <-Map 25 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_317]
+                                Merge Join Operator [MERGEJOIN_467] (rows=174243235 width=135)
+                                  Conds:RS_98._col1=RS_507._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
+                                <-Map 33 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_507]
                                     PartitionCols:_col0
-                                     Please refer to the previous Select Operator [SEL_316]
-                                <-Reducer 18 [SIMPLE_EDGE]
+                                     Please refer to the previous Select Operator [SEL_506]
+                                <-Reducer 20 [SIMPLE_EDGE]
                                   SHUFFLE [RS_98]
                                     PartitionCols:_col1
-                                    Merge Join Operator [MERGEJOIN_292] (rows=158402938 width=135)
-                                      Conds:RS_345._col0=RS_309._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
-                                    <-Map 24 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_309]
+                                    Merge Join Operator [MERGEJOIN_466] (rows=158402938 width=135)
+                                      Conds:RS_571._col0=RS_479._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                    <-Map 23 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_479]
                                         PartitionCols:_col0
-                                         Please refer to the previous Select Operator [SEL_305]
-                                    <-Map 17 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_345]
+                                         Please refer to the previous Select Operator [SEL_475]
+                                    <-Map 19 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_571]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_344] (rows=144002668 width=135)
+                                        Select Operator [SEL_570] (rows=144002668 width=135)
                                           Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                          Filter Operator [FIL_343] (rows=144002668 width=135)
-                                            predicate:(ws_bill_customer_sk is not null and ws_sold_date_sk is not null)
+                                          Filter Operator [FIL_569] (rows=144002668 width=135)
+                                            predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_96_date_dim_d_date_sk_min) AND DynamicValue(RS_96_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_96_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk is not null and ws_sold_date_sk is not null)
                                             TableScan [TS_86] (rows=144002668 width=135)
                                               default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_bill_customer_sk","ws_ext_discount_amt","ws_ext_sales_price","ws_ext_wholesale_cost","ws_ext_list_price"]
-                  <-Reducer 23 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_354]
+                                            <-Reducer 24 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_568]
+                                                Group By Operator [GBY_567] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 23 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_497]
+                                                    Group By Operator [GBY_491] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_480] (rows=36524 width=1119)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_475]
+                  <-Reducer 31 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_584]
                       PartitionCols:_col0
-                      Select Operator [SEL_353] (rows=29040539 width=135)
+                      Select Operator [SEL_583] (rows=29040539 width=135)
                         Output:["_col0","_col1"]
-                        Filter Operator [FIL_352] (rows=29040539 width=135)
+                        Filter Operator [FIL_582] (rows=29040539 width=135)
                           predicate:(_col7 > 0)
-                          Select Operator [SEL_351] (rows=87121617 width=135)
+                          Select Operator [SEL_581] (rows=87121617 width=135)
                             Output:["_col0","_col7"]
-                            Group By Operator [GBY_350] (rows=87121617 width=135)
+                            Group By Operator [GBY_580] (rows=87121617 width=135)
                               Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6
-                            <-Reducer 22 [SIMPLE_EDGE]
+                            <-Reducer 30 [SIMPLE_EDGE]
                               SHUFFLE [RS_125]
                                 PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
                                 Group By Operator [GBY_124] (rows=174243235 width=135)
                                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col7)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6
                                   Select Operator [SEL_122] (rows=174243235 width=135)
                                     Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                    Merge Join Operator [MERGEJOIN_295] (rows=174243235 width=135)
-                                      Conds:RS_119._col1=RS_322._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
-                                    <-Map 25 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_322]
+                                    Merge Join Operator [MERGEJOIN_469] (rows=174243235 width=135)
+                                      Conds:RS_119._col1=RS_516._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
+                                    <-Map 33 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_516]
                                         PartitionCols:_col0
-                                         Please refer to the previous Select Operator [SEL_316]
-                                    <-Reducer 21 [SIMPLE_EDGE]
+                                         Please refer to the previous Select Operator [SEL_506]
+                                    <-Reducer 29 [SIMPLE_EDGE]
                                       SHUFFLE [RS_119]
                                         PartitionCols:_col1
-                                        Merge Join Operator [MERGEJOIN_294] (rows=158402938 width=135)
-                                          Conds:RS_346._col0=RS_314._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
-                                        <-Map 24 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_314]
+                                        Merge Join Operator [MERGEJOIN_468] (rows=158402938 width=135)
+                                          Conds:RS_579._col0=RS_489._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                        <-Map 23 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_489]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_308] (rows=36524 width=1119)
+                                            Select Operator [SEL_478] (rows=36524 width=1119)
                                               Output:["_col0"]
-                                              Filter Operator [FIL_304] (rows=36524 width=1119)
+                                              Filter Operator [FIL_474] (rows=36524 width=1119)
                                                 predicate:((d_year = 2001) and d_date_sk is not null)
                                                  Please refer to the previous TableScan [TS_89]
-                                        <-Map 17 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_346]
+                                        <-Map 38 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_579]
                                             PartitionCols:_col0
-                                             Please refer to the previous Select Operator [SEL_344]
+                                            Select Operator [SEL_578] (rows=144002668 width=135)
+                                              Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                                              Filter Operator [FIL_577] (rows=144002668 width=135)
+                                                predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_117_date_dim_d_date_sk_min) AND DynamicValue(RS_117_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_117_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk is not null and ws_sold_date_sk is not null)
+                                                TableScan [TS_107] (rows=144002668 width=135)
+                                                  default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_bill_customer_sk","ws_ext_discount_amt","ws_ext_sales_price","ws_ext_wholesale_cost","ws_ext_list_price"]
+                                                <-Reducer 32 [BROADCAST_EDGE] vectorized
+                                                  BROADCAST [RS_576]
+                                                    Group By Operator [GBY_575] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                    <-Map 23 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_502]
+                                                        Group By Operator [GBY_496] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                          Select Operator [SEL_490] (rows=36524 width=1119)
+                                                            Output:["_col0"]
+                                                             Please refer to the previous Select Operator [SEL_478]
                   <-Reducer 4 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_325]
+                    SHUFFLE [RS_532]
                       PartitionCols:_col0
-                      Select Operator [SEL_324] (rows=174233858 width=135)
+                      Select Operator [SEL_531] (rows=174233858 width=135)
                         Output:["_col0","_col1"]
-                        Group By Operator [GBY_323] (rows=174233858 width=135)
+                        Group By Operator [GBY_530] (rows=174233858 width=135)
                           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6
                         <-Reducer 3 [SIMPLE_EDGE]
                           SHUFFLE [RS_18]
@@ -438,69 +598,50 @@ Stage-0
                               Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col7)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6
                               Select Operator [SEL_15] (rows=348467716 width=135)
                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                Merge Join Operator [MERGEJOIN_285] (rows=348467716 width=135)
-                                  Conds:RS_12._col1=RS_319._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
-                                <-Map 25 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_319]
+                                Merge Join Operator [MERGEJOIN_459] (rows=348467716 width=135)
+                                  Conds:RS_12._col1=RS_510._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
+                                <-Map 33 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_510]
                                     PartitionCols:_col0
-                                     Please refer to the previous Select Operator [SEL_316]
+                                     Please refer to the previous Select Operator [SEL_506]
                                 <-Reducer 2 [SIMPLE_EDGE]
                                   SHUFFLE [RS_12]
                                     PartitionCols:_col1
-                                    Merge Join Operator [MERGEJOIN_284] (rows=316788826 width=135)
-                                      Conds:RS_299._col0=RS_311._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
-                                    <-Map 24 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_311]
+                                    Merge Join Operator [MERGEJOIN_458] (rows=316788826 width=135)
+                                      Conds:RS_529._col0=RS_483._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                    <-Map 23 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_483]
                                         PartitionCols:_col0
-                                         Please refer to the previous Select Operator [SEL_305]
+                                         Please refer to the previous Select Operator [SEL_475]
                                     <-Map 1 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_299]
+                                      SHUFFLE [RS_529]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_298] (rows=287989836 width=135)
+                                        Select Operator [SEL_528] (rows=287989836 width=135)
                                           Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                          Filter Operator [FIL_297] (rows=287989836 width=135)
-                                            predicate:(cs_bill_customer_sk is not null and cs_sold_date_sk is not null)
+                                          Filter Operator [FIL_527] (rows=287989836 width=135)
+                                            predicate:((cs_bill_customer_sk BETWEEN DynamicValue(RS_13_customer_c_customer_sk_min) AND DynamicValue(RS_13_customer_c_customer_sk_max) and in_bloom_filter(cs_bill_customer_sk, DynamicValue(RS_13_customer_c_customer_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_10_date_dim_d_date_sk_min) AND DynamicValue(RS_10_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_10_date_dim_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_sold_date_sk is not null)
                                             TableScan [TS_0] (rows=287989836 width=135)
                                               default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_ext_discount_amt","cs_ext_sales_price","cs_ext_wholesale_cost","cs_ext_list_price"]
-                  <-Reducer 9 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_330]
-                      PartitionCols:_col0
-                      Select Operator [SEL_329] (rows=58077952 width=135)
-                        Output:["_col0","_col1"]
-                        Filter Operator [FIL_328] (rows=58077952 width=135)
-                          predicate:(_col7 > 0)
-                          Select Operator [SEL_327] (rows=174233858 width=135)
-                            Output:["_col0","_col7"]
-                            Group By Operator [GBY_326] (rows=174233858 width=135)
-                              Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5, KEY._col6
-                            <-Reducer 8 [SIMPLE_EDGE]
-                              SHUFFLE [RS_82]
-                                PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                                Group By Operator [GBY_81] (rows=348467716 width=135)
-                                  Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col7)"],keys:_col0, _col1, _col2, _col3, _col4, _col5, _col6
-                                  Select Operator [SEL_79] (rows=348467716 width=135)
-                                    Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                    Merge Join Operator [MERGEJOIN_291] (rows=348467716 width=135)
-                                      Conds:RS_76._col1=RS_321._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
-                                    <-Map 25 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_321]
-                                        PartitionCols:_col0
-                                         Please refer to the previous Select Operator [SEL_316]
-                                    <-Reducer 7 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_76]
-                                        PartitionCols:_col1
-                                        Merge Join Operator [MERGEJOIN_290] (rows=316788826 width=135)
-                                          Conds:RS_300._col0=RS_313._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
-                                        <-Map 24 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_313]
-                                            PartitionCols:_col0
-                                            Select Operator [SEL_307] (rows=36524 width=1119)
-                                              Output:["_col0"]
-                                              Filter Operator [FIL_303] (rows=36524 width=1119)
-                                                predicate:((d_year = 2001) and d_date_sk is not null)
-                                                 Please refer to the previous TableScan [TS_89]
-                                        <-Map 1 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_300]
-                                            PartitionCols:_col0
-                                             Please refer to the previous Select Operator [SEL_298]
+                                            <-Reducer 26 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_504]
+                                                Group By Operator [GBY_503] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                <-Map 23 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_499]
+                                                    Group By Operator [GBY_493] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_484] (rows=36524 width=1119)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_475]
+                                            <-Reducer 35 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_526]
+                                                Group By Operator [GBY_525] (rows=1 width=12)
+                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=80000000)"]
+                                                <-Map 33 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_522]
+                                                    Group By Operator [GBY_518] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=80000000)"]
+                                                      Select Operator [SEL_511] (rows=80000000 width=860)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_506]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query40.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query40.q.out b/ql/src/test/results/clientpositive/perf/tez/query40.q.out
index fba9e76..96bbe46 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query40.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query40.q.out
@@ -55,10 +55,14 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 10 (BROADCAST_EDGE), Reducer 12 (BROADCAST_EDGE), Reducer 14 (BROADCAST_EDGE)
+Reducer 10 <- Map 9 (CUSTOM_SIMPLE_EDGE)
+Reducer 12 <- Map 11 (CUSTOM_SIMPLE_EDGE)
+Reducer 14 <- Map 13 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
 Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 10 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 11 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 13 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
 
@@ -67,14 +71,14 @@ Stage-0
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_78]
-        Limit [LIM_77] (rows=100 width=135)
+      File Output Operator [FS_134]
+        Limit [LIM_133] (rows=100 width=135)
           Number of rows:100
-          Select Operator [SEL_76] (rows=210822976 width=135)
+          Select Operator [SEL_132] (rows=210822976 width=135)
             Output:["_col0","_col1","_col2","_col3"]
           <-Reducer 6 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_75]
-              Group By Operator [GBY_74] (rows=210822976 width=135)
+            SHUFFLE [RS_131]
+              Group By Operator [GBY_130] (rows=210822976 width=135)
                 Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0, KEY._col1
               <-Reducer 5 [SIMPLE_EDGE]
                 SHUFFLE [RS_30]
@@ -83,65 +87,98 @@ Stage-0
                     Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(_col2)","sum(_col3)"],keys:_col0, _col1
                     Select Operator [SEL_27] (rows=421645953 width=135)
                       Output:["_col0","_col1","_col2","_col3"]
-                      Merge Join Operator [MERGEJOIN_58] (rows=421645953 width=135)
-                        Conds:RS_24._col1=RS_73._col0(Inner),Output:["_col4","_col7","_col9","_col11","_col14"]
-                      <-Map 11 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_73]
+                      Merge Join Operator [MERGEJOIN_99] (rows=421645953 width=135)
+                        Conds:RS_24._col1=RS_118._col0(Inner),Output:["_col4","_col7","_col9","_col11","_col14"]
+                      <-Map 13 [SIMPLE_EDGE] vectorized
+                        SHUFFLE [RS_118]
                           PartitionCols:_col0
-                          Select Operator [SEL_72] (rows=27 width=1029)
+                          Select Operator [SEL_117] (rows=27 width=1029)
                             Output:["_col0","_col1"]
-                            Filter Operator [FIL_71] (rows=27 width=1029)
+                            Filter Operator [FIL_116] (rows=27 width=1029)
                               predicate:w_warehouse_sk is not null
                               TableScan [TS_12] (rows=27 width=1029)
                                 default@warehouse,warehouse,Tbl:COMPLETE,Col:NONE,Output:["w_warehouse_sk","w_state"]
                       <-Reducer 4 [SIMPLE_EDGE]
                         SHUFFLE [RS_24]
                           PartitionCols:_col1
-                          Merge Join Operator [MERGEJOIN_57] (rows=383314495 width=135)
-                            Conds:RS_21._col2=RS_70._col0(Inner),Output:["_col1","_col4","_col7","_col9","_col11"]
-                          <-Map 10 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_70]
+                          Merge Join Operator [MERGEJOIN_98] (rows=383314495 width=135)
+                            Conds:RS_21._col2=RS_110._col0(Inner),Output:["_col1","_col4","_col7","_col9","_col11"]
+                          <-Map 11 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_110]
                               PartitionCols:_col0
-                              Select Operator [SEL_69] (rows=51333 width=1436)
+                              Select Operator [SEL_109] (rows=51333 width=1436)
                                 Output:["_col0","_col1"]
-                                Filter Operator [FIL_68] (rows=51333 width=1436)
+                                Filter Operator [FIL_108] (rows=51333 width=1436)
                                   predicate:(i_current_price BETWEEN 0.99 AND 1.49 and i_item_sk is not null)
                                   TableScan [TS_9] (rows=462000 width=1436)
                                     default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_current_price"]
                           <-Reducer 3 [SIMPLE_EDGE]
                             SHUFFLE [RS_21]
                               PartitionCols:_col2
-                              Merge Join Operator [MERGEJOIN_56] (rows=348467716 width=135)
-                                Conds:RS_18._col0=RS_67._col0(Inner),Output:["_col1","_col2","_col4","_col7","_col9"]
+                              Merge Join Operator [MERGEJOIN_97] (rows=348467716 width=135)
+                                Conds:RS_18._col0=RS_102._col0(Inner),Output:["_col1","_col2","_col4","_col7","_col9"]
                               <-Map 9 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_67]
+                                SHUFFLE [RS_102]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_66] (rows=8116 width=1119)
+                                  Select Operator [SEL_101] (rows=8116 width=1119)
                                     Output:["_col0","_col1"]
-                                    Filter Operator [FIL_65] (rows=8116 width=1119)
+                                    Filter Operator [FIL_100] (rows=8116 width=1119)
                                       predicate:(CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-08 23:00:00.0' AND TIMESTAMP'1998-05-08 00:00:00.0' and d_date_sk is not null)
                                       TableScan [TS_6] (rows=73049 width=1119)
                                         default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date"]
                               <-Reducer 2 [SIMPLE_EDGE]
                                 SHUFFLE [RS_18]
                                   PartitionCols:_col0
-                                  Merge Join Operator [MERGEJOIN_55] (rows=316788826 width=135)
-                                    Conds:RS_61._col2, _col3=RS_64._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col7"]
+                                  Merge Join Operator [MERGEJOIN_96] (rows=316788826 width=135)
+                                    Conds:RS_126._col2, _col3=RS_129._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col7"]
                                   <-Map 1 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_61]
+                                    SHUFFLE [RS_126]
                                       PartitionCols:_col2, _col3
-                                      Select Operator [SEL_60] (rows=287989836 width=135)
+                                      Select Operator [SEL_125] (rows=287989836 width=135)
                                         Output:["_col0","_col1","_col2","_col3","_col4"]
-                                        Filter Operator [FIL_59] (rows=287989836 width=135)
-                                          predicate:(cs_item_sk is not null and cs_sold_date_sk is not null and cs_warehouse_sk is not null)
+                                        Filter Operator [FIL_124] (rows=287989836 width=135)
+                                          predicate:((cs_item_sk BETWEEN DynamicValue(RS_22_item_i_item_sk_min) AND DynamicValue(RS_22_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_22_item_i_item_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_warehouse_sk BETWEEN DynamicValue(RS_25_warehouse_w_warehouse_sk_min) AND DynamicValue(RS_25_warehouse_w_warehouse_sk_max) and in_bloom_filter(cs_warehouse_sk, DynamicValue(RS_25_warehouse_w_warehouse_sk_bloom_filter))) and cs_item_sk is not null and cs_sold_date_sk is not null and cs_warehouse_sk is not null)
                                           TableScan [TS_0] (rows=287989836 width=135)
                                             default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_warehouse_sk","cs_item_sk","cs_order_number","cs_sales_price"]
+                                          <-Reducer 10 [BROADCAST_EDGE] vectorized
+                                            BROADCAST [RS_107]
+                                              Group By Operator [GBY_106] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                              <-Map 9 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_105]
+                                                  Group By Operator [GBY_104] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                    Select Operator [SEL_103] (rows=8116 width=1119)
+                                                      Output:["_col0"]
+                                                       Please refer to the previous Select Operator [SEL_101]
+                                          <-Reducer 12 [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 11 [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=51333 width=1436)
+                                                      Output:["_col0"]
+                                                       Please refer to the previous Select Operator [SEL_109]
+                                          <-Reducer 14 [BROADCAST_EDGE] vectorized
+                                            BROADCAST [RS_123]
+                                              Group By Operator [GBY_122] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                              <-Map 13 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                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=27 width=1029)
+                                                      Output:["_col0"]
+                                                       Please refer to the previous Select Operator [SEL_117]
                                   <-Map 8 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_64]
+                                    SHUFFLE [RS_129]
                                       PartitionCols:_col0, _col1
-                                      Select Operator [SEL_63] (rows=28798881 width=106)
+                                      Select Operator [SEL_128] (rows=28798881 width=106)
                                         Output:["_col0","_col1","_col2"]
-                                        Filter Operator [FIL_62] (rows=28798881 width=106)
+                                        Filter Operator [FIL_127] (rows=28798881 width=106)
                                           predicate:cr_item_sk is not null
                                           TableScan [TS_3] (rows=28798881 width=106)
                                             default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:NONE,Output:["cr_item_sk","cr_order_number","cr_refunded_cash"]

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query42.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query42.q.out b/ql/src/test/results/clientpositive/perf/tez/query42.q.out
index f47816a..a653fa8 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query42.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query42.q.out
@@ -43,64 +43,89 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 7 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
-Reducer 3 <- Map 7 (SIMPLE_EDGE), Reducer 2 (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_49]
-        Limit [LIM_48] (rows=100 width=88)
+      File Output Operator [FS_79]
+        Limit [LIM_78] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_47] (rows=348477374 width=88)
+          Select Operator [SEL_77] (rows=348477374 width=88)
             Output:["_col0","_col1","_col2","_col3"]
           <-Reducer 4 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_46]
-              Select Operator [SEL_45] (rows=348477374 width=88)
+            SHUFFLE [RS_76]
+              Select Operator [SEL_75] (rows=348477374 width=88)
                 Output:["_col0","_col1","_col3"]
-                Group By Operator [GBY_44] (rows=348477374 width=88)
+                Group By Operator [GBY_74] (rows=348477374 width=88)
                   Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1
                 <-Reducer 3 [SIMPLE_EDGE]
                   SHUFFLE [RS_17]
                     PartitionCols:_col0, _col1
                     Group By Operator [GBY_16] (rows=696954748 width=88)
                       Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)"],keys:_col7, _col8
-                      Merge Join Operator [MERGEJOIN_34] (rows=696954748 width=88)
-                        Conds:RS_12._col1=RS_43._col0(Inner),Output:["_col2","_col7","_col8"]
-                      <-Map 7 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_43]
+                      Merge Join Operator [MERGEJOIN_54] (rows=696954748 width=88)
+                        Conds:RS_12._col1=RS_65._col0(Inner),Output:["_col2","_col7","_col8"]
+                      <-Map 8 [SIMPLE_EDGE] vectorized
+                        PARTITION_ONLY_SHUFFLE [RS_65]
                           PartitionCols:_col0
-                          Select Operator [SEL_42] (rows=231000 width=1436)
+                          Select Operator [SEL_64] (rows=231000 width=1436)
                             Output:["_col0","_col1","_col2"]
-                            Filter Operator [FIL_41] (rows=231000 width=1436)
+                            Filter Operator [FIL_63] (rows=231000 width=1436)
                               predicate:((i_manager_id = 1) and i_item_sk is not null)
                               TableScan [TS_6] (rows=462000 width=1436)
                                 default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_category_id","i_category","i_manager_id"]
                       <-Reducer 2 [SIMPLE_EDGE]
                         SHUFFLE [RS_12]
                           PartitionCols:_col1
-                          Merge Join Operator [MERGEJOIN_33] (rows=633595212 width=88)
-                            Conds:RS_37._col0=RS_40._col0(Inner),Output:["_col1","_col2"]
-                          <-Map 1 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_37]
-                              PartitionCols:_col0
-                              Select Operator [SEL_36] (rows=575995635 width=88)
-                                Output:["_col0","_col1","_col2"]
-                                Filter Operator [FIL_35] (rows=575995635 width=88)
-                                  predicate:(ss_item_sk is not null and ss_sold_date_sk is not null)
-                                  TableScan [TS_0] (rows=575995635 width=88)
-                                    default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_ext_sales_price"]
+                          Merge Join Operator [MERGEJOIN_53] (rows=633595212 width=88)
+                            Conds:RS_73._col0=RS_57._col0(Inner),Output:["_col1","_col2"]
                           <-Map 6 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_40]
+                            PARTITION_ONLY_SHUFFLE [RS_57]
                               PartitionCols:_col0
-                              Select Operator [SEL_39] (rows=18262 width=1119)
+                              Select Operator [SEL_56] (rows=18262 width=1119)
                                 Output:["_col0"]
-                                Filter Operator [FIL_38] (rows=18262 width=1119)
+                                Filter Operator [FIL_55] (rows=18262 width=1119)
                                   predicate:((d_moy = 12) and (d_year = 1998) and d_date_sk is not null)
                                   TableScan [TS_3] (rows=73049 width=1119)
                                     default@date_dim,dt,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
+                          <-Map 1 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_73]
+                              PartitionCols:_col0
+                              Select Operator [SEL_72] (rows=575995635 width=88)
+                                Output:["_col0","_col1","_col2"]
+                                Filter Operator [FIL_71] (rows=575995635 width=88)
+                                  predicate:((ss_item_sk BETWEEN DynamicValue(RS_13_item_i_item_sk_min) AND DynamicValue(RS_13_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_13_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_10_dt_d_date_sk_min) AND DynamicValue(RS_10_dt_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_10_dt_d_date_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null)
+                                  TableScan [TS_0] (rows=575995635 width=88)
+                                    default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_ext_sales_price"]
+                                  <-Reducer 7 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_62]
+                                      Group By Operator [GBY_61] (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_60]
+                                          Group By Operator [GBY_59] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                            Select Operator [SEL_58] (rows=18262 width=1119)
+                                              Output:["_col0"]
+                                               Please refer to the previous Select Operator [SEL_56]
+                                  <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_70]
+                                      Group By Operator [GBY_69] (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_68]
+                                          Group By Operator [GBY_67] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                            Select Operator [SEL_66] (rows=231000 width=1436)
+                                              Output:["_col0"]
+                                               Please refer to the previous Select Operator [SEL_64]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query43.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query43.q.out b/ql/src/test/results/clientpositive/perf/tez/query43.q.out
index 0086a94..394f728 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query43.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query43.q.out
@@ -37,24 +37,27 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 7 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
-Reducer 3 <- Map 7 (SIMPLE_EDGE), Reducer 2 (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_48]
-        Limit [LIM_47] (rows=100 width=88)
+      File Output Operator [FS_78]
+        Limit [LIM_77] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_46] (rows=348477374 width=88)
+          Select Operator [SEL_76] (rows=348477374 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
           <-Reducer 4 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_45]
-              Group By Operator [GBY_44] (rows=348477374 width=88)
+            SHUFFLE [RS_75]
+              Group By Operator [GBY_74] (rows=348477374 width=88)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)","sum(VALUE._col4)","sum(VALUE._col5)","sum(VALUE._col6)"],keys:KEY._col0, KEY._col1
               <-Reducer 3 [SIMPLE_EDGE]
                 SHUFFLE [RS_18]
@@ -63,38 +66,60 @@ Stage-0
                     Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(_col2)","sum(_col3)","sum(_col4)","sum(_col5)","sum(_col6)","sum(_col7)","sum(_col8)"],keys:_col0, _col1
                     Select Operator [SEL_15] (rows=696954748 width=88)
                       Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
-                      Merge Join Operator [MERGEJOIN_34] (rows=696954748 width=88)
-                        Conds:RS_12._col1=RS_43._col0(Inner),Output:["_col2","_col5","_col7","_col8"]
-                      <-Map 7 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_43]
+                      Merge Join Operator [MERGEJOIN_54] (rows=696954748 width=88)
+                        Conds:RS_12._col1=RS_65._col0(Inner),Output:["_col2","_col5","_col7","_col8"]
+                      <-Map 8 [SIMPLE_EDGE] vectorized
+                        PARTITION_ONLY_SHUFFLE [RS_65]
                           PartitionCols:_col0
-                          Select Operator [SEL_42] (rows=852 width=1910)
+                          Select Operator [SEL_64] (rows=852 width=1910)
                             Output:["_col0","_col1","_col2"]
-                            Filter Operator [FIL_41] (rows=852 width=1910)
+                            Filter Operator [FIL_63] (rows=852 width=1910)
                               predicate:((s_gmt_offset = -6) and s_store_sk is not null)
                               TableScan [TS_6] (rows=1704 width=1910)
                                 default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_id","s_store_name","s_gmt_offset"]
                       <-Reducer 2 [SIMPLE_EDGE]
                         SHUFFLE [RS_12]
                           PartitionCols:_col1
-                          Merge Join Operator [MERGEJOIN_33] (rows=633595212 width=88)
-                            Conds:RS_37._col0=RS_40._col0(Inner),Output:["_col1","_col2","_col5"]
-                          <-Map 1 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_37]
-                              PartitionCols:_col0
-                              Select Operator [SEL_36] (rows=575995635 width=88)
-                                Output:["_col0","_col1","_col2"]
-                                Filter Operator [FIL_35] (rows=575995635 width=88)
-                                  predicate:(ss_sold_date_sk is not null and ss_store_sk is not null)
-                                  TableScan [TS_0] (rows=575995635 width=88)
-                                    default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_store_sk","ss_sales_price"]
+                          Merge Join Operator [MERGEJOIN_53] (rows=633595212 width=88)
+                            Conds:RS_73._col0=RS_57._col0(Inner),Output:["_col1","_col2","_col5"]
                           <-Map 6 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_40]
+                            PARTITION_ONLY_SHUFFLE [RS_57]
                               PartitionCols:_col0
-                              Select Operator [SEL_39] (rows=36524 width=1119)
+                              Select Operator [SEL_56] (rows=36524 width=1119)
                                 Output:["_col0","_col2"]
-                                Filter Operator [FIL_38] (rows=36524 width=1119)
+                                Filter Operator [FIL_55] (rows=36524 width=1119)
                                   predicate:((d_year = 1998) and d_date_sk is not null)
                                   TableScan [TS_3] (rows=73049 width=1119)
                                     default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_day_name"]
+                          <-Map 1 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_73]
+                              PartitionCols:_col0
+                              Select Operator [SEL_72] (rows=575995635 width=88)
+                                Output:["_col0","_col1","_col2"]
+                                Filter Operator [FIL_71] (rows=575995635 width=88)
+                                  predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_10_date_dim_d_date_sk_min) AND DynamicValue(RS_10_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_10_date_dim_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_13_store_s_store_sk_min) AND DynamicValue(RS_13_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_13_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=88)
+                                    default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_store_sk","ss_sales_price"]
+                                  <-Reducer 7 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_62]
+                                      Group By Operator [GBY_61] (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_60]
+                                          Group By Operator [GBY_59] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                            Select Operator [SEL_58] (rows=36524 width=1119)
+                                              Output:["_col0"]
+                                               Please refer to the previous Select Operator [SEL_56]
+                                  <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                    BROADCAST [RS_70]
+                                      Group By Operator [GBY_69] (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_68]
+                                          Group By Operator [GBY_67] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                            Select Operator [SEL_66] (rows=852 width=1910)
+                                              Output:["_col0"]
+                                               Please refer to the previous Select Operator [SEL_64]