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

[07/58] [abbrv] [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/query44.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query44.q.out b/ql/src/test/results/clientpositive/perf/tez/query44.q.out
index 1a360e7..0dbce70 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query44.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query44.q.out
@@ -1,4 +1,4 @@
-Warning: Shuffle Join MERGEJOIN[131][tables = [$hdt$_2, $hdt$_3, $hdt$_1]] in Stage 'Reducer 9' is a cross product
+Warning: Shuffle Join MERGEJOIN[141][tables = [$hdt$_2, $hdt$_3, $hdt$_1]] in Stage 'Reducer 9' is a cross product
 PREHOOK: query: explain
 select  asceding.rnk, i1.i_product_name best_performing, i2.i_product_name worst_performing
 from(select *
@@ -87,126 +87,126 @@ Stage-0
     limit:100
     Stage-1
       Reducer 4 vectorized
-      File Output Operator [FS_178]
-        Limit [LIM_177] (rows=100 width=185)
+      File Output Operator [FS_188]
+        Limit [LIM_187] (rows=100 width=185)
           Number of rows:100
-          Select Operator [SEL_176] (rows=1393898919384048 width=185)
+          Select Operator [SEL_186] (rows=1393898919384048 width=185)
             Output:["_col0","_col1","_col2"]
           <-Reducer 3 [SIMPLE_EDGE]
             SHUFFLE [RS_101]
               Select Operator [SEL_100] (rows=1393898919384048 width=185)
                 Output:["_col0","_col1","_col2"]
-                Merge Join Operator [MERGEJOIN_135] (rows=1393898919384048 width=185)
+                Merge Join Operator [MERGEJOIN_145] (rows=1393898919384048 width=185)
                   Conds:RS_97._col3=RS_98._col3(Inner),Output:["_col1","_col3","_col5"]
                 <-Reducer 2 [SIMPLE_EDGE]
                   SHUFFLE [RS_97]
                     PartitionCols:_col3
-                    Merge Join Operator [MERGEJOIN_132] (rows=1267180808338276 width=185)
-                      Conds:RS_138._col0=RS_170._col0(Inner),Output:["_col1","_col3"]
+                    Merge Join Operator [MERGEJOIN_142] (rows=1267180808338276 width=185)
+                      Conds:RS_148._col0=RS_180._col0(Inner),Output:["_col1","_col3"]
                     <-Map 1 [SIMPLE_EDGE] vectorized
-                      SHUFFLE [RS_138]
+                      SHUFFLE [RS_148]
                         PartitionCols:_col0
-                        Select Operator [SEL_137] (rows=462000 width=1436)
+                        Select Operator [SEL_147] (rows=462000 width=1436)
                           Output:["_col0","_col1"]
-                          Filter Operator [FIL_136] (rows=462000 width=1436)
+                          Filter Operator [FIL_146] (rows=462000 width=1436)
                             predicate:i_item_sk is not null
                             TableScan [TS_0] (rows=462000 width=1436)
                               default@item,i1,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_product_name"]
                     <-Reducer 10 [SIMPLE_EDGE] vectorized
-                      SHUFFLE [RS_170]
+                      SHUFFLE [RS_180]
                         PartitionCols:_col0
-                        Select Operator [SEL_169] (rows=1151982528066248 width=185)
+                        Select Operator [SEL_179] (rows=1151982528066248 width=185)
                           Output:["_col0","_col1"]
-                          Filter Operator [FIL_168] (rows=1151982528066248 width=185)
+                          Filter Operator [FIL_178] (rows=1151982528066248 width=185)
                             predicate:((rank_window_0 < 11) and _col2 is not null)
-                            PTF Operator [PTF_167] (rows=3455947584198744 width=185)
+                            PTF Operator [PTF_177] (rows=3455947584198744 width=185)
                               Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col3 ASC NULLS FIRST","partition by:":"0"}]
-                              Select Operator [SEL_166] (rows=3455947584198744 width=185)
+                              Select Operator [SEL_176] (rows=3455947584198744 width=185)
                                 Output:["_col2","_col3"]
                               <-Reducer 9 [SIMPLE_EDGE]
                                 SHUFFLE [RS_38]
                                   PartitionCols:0
                                   Filter Operator [FIL_37] (rows=3455947584198744 width=185)
                                     predicate:(_col3 > (0.9 * _col1))
-                                    Merge Join Operator [MERGEJOIN_131] (rows=10367842752596232 width=185)
+                                    Merge Join Operator [MERGEJOIN_141] (rows=10367842752596232 width=185)
                                       Conds:(Inner),(Inner),Output:["_col1","_col2","_col3"]
                                     <-Reducer 13 [CUSTOM_SIMPLE_EDGE] vectorized
-                                      PARTITION_ONLY_SHUFFLE [RS_158]
-                                        Select Operator [SEL_157] (rows=71999454 width=88)
+                                      PARTITION_ONLY_SHUFFLE [RS_168]
+                                        Select Operator [SEL_167] (rows=71999454 width=88)
                                           Output:["_col0"]
-                                          Group By Operator [GBY_156] (rows=71999454 width=88)
+                                          Group By Operator [GBY_166] (rows=71999454 width=88)
                                             Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0
                                           <-Map 12 [SIMPLE_EDGE] vectorized
-                                            SHUFFLE [RS_155]
+                                            SHUFFLE [RS_165]
                                               PartitionCols:_col0
-                                              Group By Operator [GBY_154] (rows=143998908 width=88)
+                                              Group By Operator [GBY_164] (rows=143998908 width=88)
                                                 Output:["_col0","_col1","_col2"],aggregations:["sum(_col1)","count(_col1)"],keys:410
-                                                Select Operator [SEL_153] (rows=143998908 width=88)
+                                                Select Operator [SEL_163] (rows=143998908 width=88)
                                                   Output:["_col1"]
-                                                  Filter Operator [FIL_152] (rows=143998908 width=88)
+                                                  Filter Operator [FIL_162] (rows=143998908 width=88)
                                                     predicate:((ss_store_sk = 410) and ss_hdemo_sk is null)
                                                     TableScan [TS_18] (rows=575995635 width=88)
                                                       default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_hdemo_sk","ss_store_sk","ss_net_profit"]
                                     <-Reducer 15 [CUSTOM_SIMPLE_EDGE] vectorized
-                                      PARTITION_ONLY_SHUFFLE [RS_165]
-                                        Select Operator [SEL_164] (rows=143998908 width=88)
+                                      PARTITION_ONLY_SHUFFLE [RS_175]
+                                        Select Operator [SEL_174] (rows=143998908 width=88)
                                           Output:["_col0","_col1"]
-                                          Group By Operator [GBY_163] (rows=143998908 width=88)
+                                          Group By Operator [GBY_173] (rows=143998908 width=88)
                                             Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0
                                           <-Map 14 [SIMPLE_EDGE] vectorized
-                                            SHUFFLE [RS_162]
+                                            SHUFFLE [RS_172]
                                               PartitionCols:_col0
-                                              Group By Operator [GBY_161] (rows=287997817 width=88)
+                                              Group By Operator [GBY_171] (rows=287997817 width=88)
                                                 Output:["_col0","_col1","_col2"],aggregations:["sum(ss_net_profit)","count(ss_net_profit)"],keys:ss_item_sk
-                                                Select Operator [SEL_160] (rows=287997817 width=88)
+                                                Select Operator [SEL_170] (rows=287997817 width=88)
                                                   Output:["ss_item_sk","ss_net_profit"]
-                                                  Filter Operator [FIL_159] (rows=287997817 width=88)
+                                                  Filter Operator [FIL_169] (rows=287997817 width=88)
                                                     predicate:(ss_store_sk = 410)
                                                     TableScan [TS_26] (rows=575995635 width=88)
                                                       default@store_sales,ss1,Tbl:COMPLETE,Col:NONE,Output:["ss_item_sk","ss_store_sk","ss_net_profit"]
                                     <-Reducer 8 [CUSTOM_SIMPLE_EDGE] vectorized
-                                      PARTITION_ONLY_SHUFFLE [RS_151]
-                                        Select Operator [SEL_150] (rows=1 width=8)
-                                          Filter Operator [FIL_149] (rows=1 width=8)
+                                      PARTITION_ONLY_SHUFFLE [RS_161]
+                                        Select Operator [SEL_160] (rows=1 width=8)
+                                          Filter Operator [FIL_159] (rows=1 width=8)
                                             predicate:(sq_count_check(_col0) <= 1)
-                                            Group By Operator [GBY_148] (rows=1 width=8)
+                                            Group By Operator [GBY_158] (rows=1 width=8)
                                               Output:["_col0"],aggregations:["count(VALUE._col0)"]
                                             <-Reducer 7 [CUSTOM_SIMPLE_EDGE] vectorized
-                                              PARTITION_ONLY_SHUFFLE [RS_147]
-                                                Group By Operator [GBY_146] (rows=1 width=8)
+                                              PARTITION_ONLY_SHUFFLE [RS_157]
+                                                Group By Operator [GBY_156] (rows=1 width=8)
                                                   Output:["_col0"],aggregations:["count()"]
-                                                  Select Operator [SEL_145] (rows=71999454 width=88)
-                                                    Group By Operator [GBY_144] (rows=71999454 width=88)
+                                                  Select Operator [SEL_155] (rows=71999454 width=88)
+                                                    Group By Operator [GBY_154] (rows=71999454 width=88)
                                                       Output:["_col0"],keys:KEY._col0
                                                     <-Map 6 [SIMPLE_EDGE] vectorized
-                                                      SHUFFLE [RS_143]
+                                                      SHUFFLE [RS_153]
                                                         PartitionCols:_col0
-                                                        Group By Operator [GBY_142] (rows=143998908 width=88)
+                                                        Group By Operator [GBY_152] (rows=143998908 width=88)
                                                           Output:["_col0"],keys:410
-                                                          Select Operator [SEL_141] (rows=143998908 width=88)
-                                                            Filter Operator [FIL_140] (rows=143998908 width=88)
+                                                          Select Operator [SEL_151] (rows=143998908 width=88)
+                                                            Filter Operator [FIL_150] (rows=143998908 width=88)
                                                               predicate:((ss_store_sk = 410) and ss_hdemo_sk is null)
                                                               TableScan [TS_3] (rows=575995635 width=88)
                                                                 default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_hdemo_sk","ss_store_sk"]
                 <-Reducer 5 [SIMPLE_EDGE]
                   SHUFFLE [RS_98]
                     PartitionCols:_col3
-                    Merge Join Operator [MERGEJOIN_134] (rows=1267180808338276 width=185)
-                      Conds:RS_139._col0=RS_175._col0(Inner),Output:["_col1","_col3"]
+                    Merge Join Operator [MERGEJOIN_144] (rows=1267180808338276 width=185)
+                      Conds:RS_149._col0=RS_185._col0(Inner),Output:["_col1","_col3"]
                     <-Map 1 [SIMPLE_EDGE] vectorized
-                      SHUFFLE [RS_139]
+                      SHUFFLE [RS_149]
                         PartitionCols:_col0
-                         Please refer to the previous Select Operator [SEL_137]
+                         Please refer to the previous Select Operator [SEL_147]
                     <-Reducer 11 [SIMPLE_EDGE] vectorized
-                      SHUFFLE [RS_175]
+                      SHUFFLE [RS_185]
                         PartitionCols:_col0
-                        Select Operator [SEL_174] (rows=1151982528066248 width=185)
+                        Select Operator [SEL_184] (rows=1151982528066248 width=185)
                           Output:["_col0","_col1"]
-                          Filter Operator [FIL_173] (rows=1151982528066248 width=185)
+                          Filter Operator [FIL_183] (rows=1151982528066248 width=185)
                             predicate:((rank_window_0 < 11) and _col2 is not null)
-                            PTF Operator [PTF_172] (rows=3455947584198744 width=185)
+                            PTF Operator [PTF_182] (rows=3455947584198744 width=185)
                               Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col3 DESC NULLS LAST","partition by:":"0"}]
-                              Select Operator [SEL_171] (rows=3455947584198744 width=185)
+                              Select Operator [SEL_181] (rows=3455947584198744 width=185)
                                 Output:["_col2","_col3"]
                               <-Reducer 9 [SIMPLE_EDGE]
                                 SHUFFLE [RS_83]

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query45.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query45.q.out b/ql/src/test/results/clientpositive/perf/tez/query45.q.out
index 704af01..c9d820b 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query45.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query45.q.out
@@ -1,4 +1,4 @@
-Warning: Shuffle Join MERGEJOIN[87][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[132][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 4' is a cross product
 PREHOOK: query: explain
 select  ca_zip, ca_county, sum(ws_sales_price)
  from web_sales, customer, customer_address, date_dim, item
@@ -40,30 +40,33 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Reducer 14 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 11 <- Map 8 (SIMPLE_EDGE)
-Reducer 12 <- Map 8 (CUSTOM_SIMPLE_EDGE)
-Reducer 14 <- Map 13 (SIMPLE_EDGE), Map 15 (SIMPLE_EDGE)
+Map 14 <- Reducer 11 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE)
+Reducer 10 <- Reducer 15 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 11 <- Reducer 9 (CUSTOM_SIMPLE_EDGE)
+Reducer 12 <- Map 8 (SIMPLE_EDGE)
+Reducer 13 <- Map 8 (CUSTOM_SIMPLE_EDGE)
+Reducer 15 <- Map 14 (SIMPLE_EDGE), Map 16 (SIMPLE_EDGE)
+Reducer 17 <- Map 16 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
 Reducer 3 <- Reducer 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 12 (CUSTOM_SIMPLE_EDGE), Reducer 3 (CUSTOM_SIMPLE_EDGE)
+Reducer 4 <- Reducer 13 (CUSTOM_SIMPLE_EDGE), Reducer 3 (CUSTOM_SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
-Reducer 9 <- Map 8 (SIMPLE_EDGE), Reducer 11 (ONE_TO_ONE_EDGE)
+Reducer 9 <- Map 8 (SIMPLE_EDGE), Reducer 12 (ONE_TO_ONE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_120]
-        Limit [LIM_119] (rows=100 width=152)
+      File Output Operator [FS_172]
+        Limit [LIM_171] (rows=100 width=152)
           Number of rows:100
-          Select Operator [SEL_118] (rows=95833781 width=152)
+          Select Operator [SEL_170] (rows=95833781 width=152)
             Output:["_col0","_col1","_col2"]
           <-Reducer 5 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_117]
-              Group By Operator [GBY_116] (rows=95833781 width=152)
+            SHUFFLE [RS_169]
+              Group By Operator [GBY_168] (rows=95833781 width=152)
                 Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1
               <-Reducer 4 [SIMPLE_EDGE]
                 SHUFFLE [RS_53]
@@ -76,104 +79,126 @@ Stage-0
                         predicate:((substr(_col8, 1, 5)) IN ('85669', '86197', '88274', '83405', '86475', '85392', '85460', '80348', '81792') or CASE WHEN ((_col14 = 0L)) THEN (false) WHEN (_col17 is not null) THEN (true) WHEN (_col13 is null) THEN (null) WHEN ((_col15 < _col14)) THEN (null) ELSE (false) END)
                         Select Operator [SEL_49] (rows=191667562 width=152)
                           Output:["_col3","_col7","_col8","_col13","_col14","_col15","_col17"]
-                          Merge Join Operator [MERGEJOIN_87] (rows=191667562 width=152)
+                          Merge Join Operator [MERGEJOIN_132] (rows=191667562 width=152)
                             Conds:(Inner),Output:["_col3","_col4","_col6","_col8","_col12","_col16","_col17"]
-                          <-Reducer 12 [CUSTOM_SIMPLE_EDGE] vectorized
-                            PARTITION_ONLY_SHUFFLE [RS_115]
-                              Group By Operator [GBY_114] (rows=1 width=16)
+                          <-Reducer 13 [CUSTOM_SIMPLE_EDGE] vectorized
+                            PARTITION_ONLY_SHUFFLE [RS_167]
+                              Group By Operator [GBY_166] (rows=1 width=16)
                                 Output:["_col0","_col1"],aggregations:["count(VALUE._col0)","count(VALUE._col1)"]
                               <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_104]
-                                  Group By Operator [GBY_102] (rows=1 width=16)
+                                SHUFFLE [RS_149]
+                                  Group By Operator [GBY_147] (rows=1 width=16)
                                     Output:["_col0","_col1"],aggregations:["count()","count(i_item_id)"]
-                                    Select Operator [SEL_99] (rows=231000 width=1436)
+                                    Select Operator [SEL_144] (rows=231000 width=1436)
                                       Output:["i_item_id"]
-                                      Filter Operator [FIL_96] (rows=231000 width=1436)
+                                      Filter Operator [FIL_141] (rows=231000 width=1436)
                                         predicate:(i_item_sk) IN (2, 3, 5, 7, 11, 13, 17, 19, 23, 29)
                                         TableScan [TS_6] (rows=462000 width=1436)
                                           default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id"]
                           <-Reducer 3 [CUSTOM_SIMPLE_EDGE]
                             PARTITION_ONLY_SHUFFLE [RS_46]
-                              Merge Join Operator [MERGEJOIN_86] (rows=191667562 width=135)
+                              Merge Join Operator [MERGEJOIN_131] (rows=191667562 width=135)
                                 Conds:RS_43._col0=RS_44._col6(Inner),Output:["_col3","_col4","_col6","_col8","_col12"]
                               <-Reducer 10 [SIMPLE_EDGE]
                                 SHUFFLE [RS_44]
                                   PartitionCols:_col6
-                                  Merge Join Operator [MERGEJOIN_85] (rows=174243235 width=135)
+                                  Merge Join Operator [MERGEJOIN_130] (rows=174243235 width=135)
                                     Conds:RS_29._col0=RS_30._col1(Inner),Output:["_col1","_col3","_col6","_col7"]
-                                  <-Reducer 14 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_30]
-                                      PartitionCols:_col1
-                                      Merge Join Operator [MERGEJOIN_84] (rows=158402938 width=135)
-                                        Conds:RS_110._col0=RS_113._col0(Inner),Output:["_col1","_col2","_col3"]
-                                      <-Map 13 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_110]
-                                          PartitionCols:_col0
-                                          Select Operator [SEL_109] (rows=144002668 width=135)
-                                            Output:["_col0","_col1","_col2","_col3"]
-                                            Filter Operator [FIL_108] (rows=144002668 width=135)
-                                              predicate:(ws_bill_customer_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null)
-                                              TableScan [TS_16] (rows=144002668 width=135)
-                                                default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk","ws_sales_price"]
-                                      <-Map 15 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_113]
-                                          PartitionCols:_col0
-                                          Select Operator [SEL_112] (rows=18262 width=1119)
-                                            Output:["_col0"]
-                                            Filter Operator [FIL_111] (rows=18262 width=1119)
-                                              predicate:((d_qoy = 2) and (d_year = 2000) and d_date_sk is not null)
-                                              TableScan [TS_19] (rows=73049 width=1119)
-                                                default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_qoy"]
                                   <-Reducer 9 [SIMPLE_EDGE]
-                                    SHUFFLE [RS_29]
+                                    PARTITION_ONLY_SHUFFLE [RS_29]
                                       PartitionCols:_col0
-                                      Merge Join Operator [MERGEJOIN_83] (rows=508200 width=1436)
-                                        Conds:RS_100._col1=RS_107._col0(Left Outer),Output:["_col0","_col1","_col3"]
+                                      Merge Join Operator [MERGEJOIN_128] (rows=508200 width=1436)
+                                        Conds:RS_145._col1=RS_152._col0(Left Outer),Output:["_col0","_col1","_col3"]
                                       <-Map 8 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_100]
+                                        SHUFFLE [RS_145]
                                           PartitionCols:_col1
-                                          Select Operator [SEL_97] (rows=462000 width=1436)
+                                          Select Operator [SEL_142] (rows=462000 width=1436)
                                             Output:["_col0","_col1"]
-                                            Filter Operator [FIL_94] (rows=462000 width=1436)
+                                            Filter Operator [FIL_139] (rows=462000 width=1436)
                                               predicate:i_item_sk is not null
                                                Please refer to the previous TableScan [TS_6]
-                                      <-Reducer 11 [ONE_TO_ONE_EDGE] vectorized
-                                        FORWARD [RS_107]
+                                      <-Reducer 12 [ONE_TO_ONE_EDGE] vectorized
+                                        FORWARD [RS_152]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_106] (rows=115500 width=1436)
+                                          Select Operator [SEL_151] (rows=115500 width=1436)
                                             Output:["_col0","_col1"]
-                                            Group By Operator [GBY_105] (rows=115500 width=1436)
+                                            Group By Operator [GBY_150] (rows=115500 width=1436)
                                               Output:["_col0"],keys:KEY._col0
                                             <-Map 8 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_103]
+                                              SHUFFLE [RS_148]
                                                 PartitionCols:_col0
-                                                Group By Operator [GBY_101] (rows=231000 width=1436)
+                                                Group By Operator [GBY_146] (rows=231000 width=1436)
                                                   Output:["_col0"],keys:i_item_id
-                                                  Select Operator [SEL_98] (rows=231000 width=1436)
+                                                  Select Operator [SEL_143] (rows=231000 width=1436)
                                                     Output:["i_item_id"]
-                                                    Filter Operator [FIL_95] (rows=231000 width=1436)
+                                                    Filter Operator [FIL_140] (rows=231000 width=1436)
                                                       predicate:(i_item_sk) IN (2, 3, 5, 7, 11, 13, 17, 19, 23, 29)
                                                        Please refer to the previous TableScan [TS_6]
+                                  <-Reducer 15 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_30]
+                                      PartitionCols:_col1
+                                      Merge Join Operator [MERGEJOIN_129] (rows=158402938 width=135)
+                                        Conds:RS_165._col0=RS_155._col0(Inner),Output:["_col1","_col2","_col3"]
+                                      <-Map 16 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_155]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_154] (rows=18262 width=1119)
+                                            Output:["_col0"]
+                                            Filter Operator [FIL_153] (rows=18262 width=1119)
+                                              predicate:((d_qoy = 2) and (d_year = 2000) and d_date_sk is not null)
+                                              TableScan [TS_19] (rows=73049 width=1119)
+                                                default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_qoy"]
+                                      <-Map 14 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_165]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_164] (rows=144002668 width=135)
+                                            Output:["_col0","_col1","_col2","_col3"]
+                                            Filter Operator [FIL_163] (rows=144002668 width=135)
+                                              predicate:((ws_item_sk BETWEEN DynamicValue(RS_29_item_i_item_sk_min) AND DynamicValue(RS_29_item_i_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_29_item_i_item_sk_bloom_filter))) and (ws_sold_date_sk BETWEEN DynamicValue(RS_23_date_dim_d_date_sk_min) AND DynamicValue(RS_23_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_23_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null)
+                                              TableScan [TS_16] (rows=144002668 width=135)
+                                                default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk","ws_sales_price"]
+                                              <-Reducer 11 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_162]
+                                                  Group By Operator [GBY_161] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Reducer 9 [CUSTOM_SIMPLE_EDGE]
+                                                    PARTITION_ONLY_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=508200 width=1436)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_128]
+                                              <-Reducer 17 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_160]
+                                                  Group By Operator [GBY_159] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 16 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    PARTITION_ONLY_SHUFFLE [RS_158]
+                                                      Group By Operator [GBY_157] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_156] (rows=18262 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_154]
                               <-Reducer 2 [SIMPLE_EDGE]
                                 SHUFFLE [RS_43]
                                   PartitionCols:_col0
-                                  Merge Join Operator [MERGEJOIN_82] (rows=88000001 width=860)
-                                    Conds:RS_90._col1=RS_93._col0(Inner),Output:["_col0","_col3","_col4"]
+                                  Merge Join Operator [MERGEJOIN_127] (rows=88000001 width=860)
+                                    Conds:RS_135._col1=RS_138._col0(Inner),Output:["_col0","_col3","_col4"]
                                   <-Map 1 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_90]
+                                    SHUFFLE [RS_135]
                                       PartitionCols:_col1
-                                      Select Operator [SEL_89] (rows=80000000 width=860)
+                                      Select Operator [SEL_134] (rows=80000000 width=860)
                                         Output:["_col0","_col1"]
-                                        Filter Operator [FIL_88] (rows=80000000 width=860)
+                                        Filter Operator [FIL_133] (rows=80000000 width=860)
                                           predicate:(c_current_addr_sk is not null and c_customer_sk is not null)
                                           TableScan [TS_0] (rows=80000000 width=860)
                                             default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_addr_sk"]
                                   <-Map 7 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_93]
+                                    SHUFFLE [RS_138]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_92] (rows=40000000 width=1014)
+                                      Select Operator [SEL_137] (rows=40000000 width=1014)
                                         Output:["_col0","_col1","_col2"]
-                                        Filter Operator [FIL_91] (rows=40000000 width=1014)
+                                        Filter Operator [FIL_136] (rows=40000000 width=1014)
                                           predicate:ca_address_sk is not null
                                           TableScan [TS_3] (rows=40000000 width=1014)
                                             default@customer_address,customer_address,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_county","ca_zip"]

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query46.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query46.q.out b/ql/src/test/results/clientpositive/perf/tez/query46.q.out
index 29795b2..708a852 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query46.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query46.q.out
@@ -69,24 +69,30 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Map 13 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 11 <- Map 14 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE)
+Map 10 <- Reducer 15 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE), Reducer 19 (BROADCAST_EDGE), Reducer 5 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
+Reducer 11 <- Map 10 (SIMPLE_EDGE), Map 14 (SIMPLE_EDGE)
+Reducer 12 <- Map 16 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
+Reducer 13 <- Map 18 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
+Reducer 15 <- Map 14 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Map 16 (CUSTOM_SIMPLE_EDGE)
+Reducer 19 <- Map 18 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
+Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
-Reducer 6 <- Map 5 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
-Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
-Reducer 9 <- Map 12 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 5 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+Reducer 7 <- Map 6 (SIMPLE_EDGE), Reducer 13 (SIMPLE_EDGE)
+Reducer 8 <- Reducer 7 (SIMPLE_EDGE)
+Reducer 9 <- Map 6 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 4 vectorized
-      File Output Operator [FS_110]
-        Limit [LIM_109] (rows=100 width=88)
+      File Output Operator [FS_192]
+        Limit [LIM_191] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_108] (rows=463823414 width=88)
+          Select Operator [SEL_190] (rows=463823414 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
           <-Reducer 3 [SIMPLE_EDGE]
             SHUFFLE [RS_46]
@@ -94,98 +100,153 @@ Stage-0
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
                 Filter Operator [FIL_44] (rows=463823414 width=88)
                   predicate:(_col5 <> _col8)
-                  Merge Join Operator [MERGEJOIN_85] (rows=463823414 width=88)
-                    Conds:RS_41._col0=RS_107._col1(Inner),Output:["_col2","_col3","_col5","_col6","_col8","_col9","_col10"]
+                  Merge Join Operator [MERGEJOIN_145] (rows=463823414 width=88)
+                    Conds:RS_41._col0=RS_189._col1(Inner),Output:["_col2","_col3","_col5","_col6","_col8","_col9","_col10"]
                   <-Reducer 2 [SIMPLE_EDGE]
-                    SHUFFLE [RS_41]
+                    PARTITION_ONLY_SHUFFLE [RS_41]
                       PartitionCols:_col0
-                      Merge Join Operator [MERGEJOIN_80] (rows=88000001 width=860)
-                        Conds:RS_88._col1=RS_91._col0(Inner),Output:["_col0","_col2","_col3","_col5"]
-                      <-Map 5 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_91]
+                      Merge Join Operator [MERGEJOIN_140] (rows=88000001 width=860)
+                        Conds:RS_148._col1=RS_151._col0(Inner),Output:["_col0","_col2","_col3","_col5"]
+                      <-Map 6 [SIMPLE_EDGE] vectorized
+                        PARTITION_ONLY_SHUFFLE [RS_151]
                           PartitionCols:_col0
-                          Select Operator [SEL_90] (rows=40000000 width=1014)
+                          Select Operator [SEL_150] (rows=40000000 width=1014)
                             Output:["_col0","_col1"]
-                            Filter Operator [FIL_89] (rows=40000000 width=1014)
+                            Filter Operator [FIL_149] (rows=40000000 width=1014)
                               predicate:ca_address_sk is not null
                               TableScan [TS_3] (rows=40000000 width=1014)
                                 default@customer_address,current_addr,Tbl:COMPLETE,Col:NONE,Output:["ca_address_sk","ca_city"]
                       <-Map 1 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_88]
+                        SHUFFLE [RS_148]
                           PartitionCols:_col1
-                          Select Operator [SEL_87] (rows=80000000 width=860)
+                          Select Operator [SEL_147] (rows=80000000 width=860)
                             Output:["_col0","_col1","_col2","_col3"]
-                            Filter Operator [FIL_86] (rows=80000000 width=860)
+                            Filter Operator [FIL_146] (rows=80000000 width=860)
                               predicate:(c_current_addr_sk is not null and c_customer_sk is not null)
                               TableScan [TS_0] (rows=80000000 width=860)
                                 default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk","c_current_addr_sk","c_first_name","c_last_name"]
-                  <-Reducer 7 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_107]
+                  <-Reducer 8 [SIMPLE_EDGE] vectorized
+                    SHUFFLE [RS_189]
                       PartitionCols:_col1
-                      Select Operator [SEL_106] (rows=421657640 width=88)
+                      Select Operator [SEL_188] (rows=421657640 width=88)
                         Output:["_col0","_col1","_col2","_col3","_col4"]
-                        Group By Operator [GBY_105] (rows=421657640 width=88)
+                        Group By Operator [GBY_187] (rows=421657640 width=88)
                           Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3
-                        <-Reducer 6 [SIMPLE_EDGE]
+                        <-Reducer 7 [SIMPLE_EDGE]
                           SHUFFLE [RS_35]
                             PartitionCols:_col0, _col1, _col2, _col3
                             Group By Operator [GBY_34] (rows=843315281 width=88)
                               Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(_col6)","sum(_col7)"],keys:_col1, _col17, _col3, _col5
-                              Merge Join Operator [MERGEJOIN_84] (rows=843315281 width=88)
-                                Conds:RS_30._col3=RS_92._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7","_col17"]
-                              <-Map 5 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_92]
+                              Merge Join Operator [MERGEJOIN_144] (rows=843315281 width=88)
+                                Conds:RS_30._col3=RS_152._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7","_col17"]
+                              <-Map 6 [SIMPLE_EDGE] vectorized
+                                PARTITION_ONLY_SHUFFLE [RS_152]
                                   PartitionCols:_col0
-                                   Please refer to the previous Select Operator [SEL_90]
-                              <-Reducer 11 [SIMPLE_EDGE]
+                                   Please refer to the previous Select Operator [SEL_150]
+                              <-Reducer 13 [SIMPLE_EDGE]
                                 SHUFFLE [RS_30]
                                   PartitionCols:_col3
-                                  Merge Join Operator [MERGEJOIN_83] (rows=766650239 width=88)
-                                    Conds:RS_27._col2=RS_104._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7"]
-                                  <-Map 14 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_104]
+                                  Merge Join Operator [MERGEJOIN_143] (rows=766650239 width=88)
+                                    Conds:RS_27._col2=RS_174._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7"]
+                                  <-Map 18 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_174]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_103] (rows=7200 width=107)
+                                      Select Operator [SEL_173] (rows=7200 width=107)
                                         Output:["_col0"]
-                                        Filter Operator [FIL_102] (rows=7200 width=107)
+                                        Filter Operator [FIL_172] (rows=7200 width=107)
                                           predicate:(((hd_dep_count = 2) or (hd_vehicle_count = 1)) and hd_demo_sk is not null)
                                           TableScan [TS_15] (rows=7200 width=107)
                                             default@household_demographics,household_demographics,Tbl:COMPLETE,Col:NONE,Output:["hd_demo_sk","hd_dep_count","hd_vehicle_count"]
-                                  <-Reducer 10 [SIMPLE_EDGE]
+                                  <-Reducer 12 [SIMPLE_EDGE]
                                     SHUFFLE [RS_27]
                                       PartitionCols:_col2
-                                      Merge Join Operator [MERGEJOIN_82] (rows=696954748 width=88)
-                                        Conds:RS_24._col4=RS_101._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6","_col7"]
-                                      <-Map 13 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_101]
+                                      Merge Join Operator [MERGEJOIN_142] (rows=696954748 width=88)
+                                        Conds:RS_24._col4=RS_166._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6","_col7"]
+                                      <-Map 16 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_166]
                                           PartitionCols:_col0
-                                          Select Operator [SEL_100] (rows=852 width=1910)
+                                          Select Operator [SEL_165] (rows=852 width=1910)
                                             Output:["_col0"]
-                                            Filter Operator [FIL_99] (rows=852 width=1910)
+                                            Filter Operator [FIL_164] (rows=852 width=1910)
                                               predicate:((s_city) IN ('Cedar Grove', 'Wildwood', 'Union', 'Salem', 'Highland Park') and s_store_sk is not null)
                                               TableScan [TS_12] (rows=1704 width=1910)
                                                 default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_city"]
-                                      <-Reducer 9 [SIMPLE_EDGE]
+                                      <-Reducer 11 [SIMPLE_EDGE]
                                         SHUFFLE [RS_24]
                                           PartitionCols:_col4
-                                          Merge Join Operator [MERGEJOIN_81] (rows=633595212 width=88)
-                                            Conds:RS_95._col0=RS_98._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                          <-Map 12 [SIMPLE_EDGE] vectorized
-                                            SHUFFLE [RS_98]
+                                          Merge Join Operator [MERGEJOIN_141] (rows=633595212 width=88)
+                                            Conds:RS_186._col0=RS_158._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                                          <-Map 14 [SIMPLE_EDGE] vectorized
+                                            PARTITION_ONLY_SHUFFLE [RS_158]
                                               PartitionCols:_col0
-                                              Select Operator [SEL_97] (rows=18263 width=1119)
+                                              Select Operator [SEL_157] (rows=18263 width=1119)
                                                 Output:["_col0"]
-                                                Filter Operator [FIL_96] (rows=18263 width=1119)
+                                                Filter Operator [FIL_156] (rows=18263 width=1119)
                                                   predicate:((d_dow) IN (6, 0) and (d_year) IN (1998, 1999, 2000) and d_date_sk is not null)
                                                   TableScan [TS_9] (rows=73049 width=1119)
                                                     default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_dow"]
-                                          <-Map 8 [SIMPLE_EDGE] vectorized
-                                            SHUFFLE [RS_95]
+                                          <-Map 10 [SIMPLE_EDGE] vectorized
+                                            SHUFFLE [RS_186]
                                               PartitionCols:_col0
-                                              Select Operator [SEL_94] (rows=575995635 width=88)
+                                              Select Operator [SEL_185] (rows=575995635 width=88)
                                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                                Filter Operator [FIL_93] (rows=575995635 width=88)
-                                                  predicate:(ss_addr_sk is not null and ss_customer_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+                                                Filter Operator [FIL_184] (rows=575995635 width=88)
+                                                  predicate:((ss_addr_sk BETWEEN DynamicValue(RS_31_customer_address_ca_address_sk_min) AND DynamicValue(RS_31_customer_address_ca_address_sk_max) and in_bloom_filter(ss_addr_sk, DynamicValue(RS_31_customer_address_ca_address_sk_bloom_filter))) and (ss_customer_sk BETWEEN DynamicValue(RS_41_customer_c_customer_sk_min) AND DynamicValue(RS_41_customer_c_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_41_customer_c_customer_sk_bloom_filter))) and (ss_hdemo_sk BETWEEN DynamicValue(RS_28_household_demographics_hd_demo_sk_min) AND DynamicValue(RS_28_household_demographics_hd_demo_sk_max) and in_bloom_filter(ss_hdemo_sk, DynamicValue(RS_28_household_demographics_hd_demo_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_22_date_dim_d_date_sk_min) AND DynamicValue(RS_22_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_22_date_dim_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN Dy
 namicValue(RS_25_store_s_store_sk_min) AND DynamicValue(RS_25_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_25_store_s_store_sk_bloom_filter))) and ss_addr_sk is not null and ss_customer_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
                                                   TableScan [TS_6] (rows=575995635 width=88)
                                                     default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_hdemo_sk","ss_addr_sk","ss_store_sk","ss_ticket_number","ss_coupon_amt","ss_net_profit"]
+                                                  <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                                    BROADCAST [RS_163]
+                                                      Group By Operator [GBY_162] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                      <-Map 14 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                        PARTITION_ONLY_SHUFFLE [RS_161]
+                                                          Group By Operator [GBY_160] (rows=1 width=12)
+                                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                            Select Operator [SEL_159] (rows=18263 width=1119)
+                                                              Output:["_col0"]
+                                                               Please refer to the previous Select Operator [SEL_157]
+                                                  <-Reducer 17 [BROADCAST_EDGE] vectorized
+                                                    BROADCAST [RS_171]
+                                                      Group By Operator [GBY_170] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                      <-Map 16 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                        PARTITION_ONLY_SHUFFLE [RS_169]
+                                                          Group By Operator [GBY_168] (rows=1 width=12)
+                                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                            Select Operator [SEL_167] (rows=852 width=1910)
+                                                              Output:["_col0"]
+                                                               Please refer to the previous Select Operator [SEL_165]
+                                                  <-Reducer 19 [BROADCAST_EDGE] vectorized
+                                                    BROADCAST [RS_179]
+                                                      Group By Operator [GBY_178] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                      <-Map 18 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                        PARTITION_ONLY_SHUFFLE [RS_177]
+                                                          Group By Operator [GBY_176] (rows=1 width=12)
+                                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                            Select Operator [SEL_175] (rows=7200 width=107)
+                                                              Output:["_col0"]
+                                                               Please refer to the previous Select Operator [SEL_173]
+                                                  <-Reducer 5 [BROADCAST_EDGE] vectorized
+                                                    BROADCAST [RS_183]
+                                                      Group By Operator [GBY_182] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=88000000)"]
+                                                      <-Reducer 2 [CUSTOM_SIMPLE_EDGE]
+                                                        PARTITION_ONLY_SHUFFLE [RS_117]
+                                                          Group By Operator [GBY_116] (rows=1 width=12)
+                                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=88000000)"]
+                                                            Select Operator [SEL_115] (rows=88000001 width=860)
+                                                              Output:["_col0"]
+                                                               Please refer to the previous Merge Join Operator [MERGEJOIN_140]
+                                                  <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                                    BROADCAST [RS_181]
+                                                      Group By Operator [GBY_180] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=40000000)"]
+                                                      <-Map 6 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                        PARTITION_ONLY_SHUFFLE [RS_155]
+                                                          Group By Operator [GBY_154] (rows=1 width=12)
+                                                            Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=40000000)"]
+                                                            Select Operator [SEL_153] (rows=40000000 width=1014)
+                                                              Output:["_col0"]
+                                                               Please refer to the previous Select Operator [SEL_150]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/perf/tez/query47.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query47.q.out b/ql/src/test/results/clientpositive/perf/tez/query47.q.out
index 2989fce..d034ea9 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query47.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query47.q.out
@@ -101,11 +101,15 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 1 <- Reducer 13 (BROADCAST_EDGE), Reducer 15 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE)
 Reducer 10 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 11 <- Reducer 10 (SIMPLE_EDGE)
+Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 15 <- Map 14 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Map 16 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 12 (SIMPLE_EDGE)
-Reducer 3 <- Map 13 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 14 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 3 <- Map 14 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 16 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
 Reducer 7 <- Reducer 11 (SIMPLE_EDGE), Reducer 6 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
@@ -117,16 +121,16 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 8 vectorized
-      File Output Operator [FS_215]
-        Limit [LIM_214] (rows=100 width=88)
+      File Output Operator [FS_320]
+        Limit [LIM_319] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_213] (rows=843315280 width=88)
+          Select Operator [SEL_318] (rows=843315280 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
           <-Reducer 7 [SIMPLE_EDGE]
             SHUFFLE [RS_108]
               Select Operator [SEL_107] (rows=843315280 width=88)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                Merge Join Operator [MERGEJOIN_189] (rows=843315280 width=88)
+                Merge Join Operator [MERGEJOIN_279] (rows=843315280 width=88)
                   Conds:RS_103._col0, _col1, _col2, _col3, (_col5 + 1)=RS_104._col0, _col1, _col2, _col3, _col8(Inner),RS_104._col0, _col1, _col2, _col3, _col8=RS_105._col0, _col1, _col2, _col3, (_col5 - 1)(Inner),Output:["_col4","_col6","_col10","_col11","_col12","_col13","_col19"]
                 <-Reducer 11 [SIMPLE_EDGE]
                   SHUFFLE [RS_104]
@@ -144,72 +148,105 @@ Stage-0
                               Select Operator [SEL_64] (rows=383325119 width=88)
                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
                               <-Reducer 10 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_211]
+                                SHUFFLE [RS_316]
                                   PartitionCols:_col3, _col2, _col4, _col5
-                                  Select Operator [SEL_210] (rows=383325119 width=88)
+                                  Select Operator [SEL_315] (rows=383325119 width=88)
                                     Output:["avg_window_0","_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
-                                    PTF Operator [PTF_209] (rows=383325119 width=88)
+                                    PTF Operator [PTF_314] (rows=383325119 width=88)
                                       Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col3 ASC NULLS FIRST, _col2 ASC NULLS FIRST, _col4 ASC NULLS FIRST, _col5 ASC NULLS FIRST, _col0 ASC NULLS FIRST","partition by:":"_col3, _col2, _col4, _col5, _col0"}]
-                                      Select Operator [SEL_208] (rows=383325119 width=88)
+                                      Select Operator [SEL_313] (rows=383325119 width=88)
                                         Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
                                       <-Reducer 5 [SIMPLE_EDGE] vectorized
-                                        SHUFFLE [RS_205]
+                                        SHUFFLE [RS_310]
                                           PartitionCols:_col3, _col2, _col4, _col5, _col0
-                                          Group By Operator [GBY_202] (rows=383325119 width=88)
+                                          Group By Operator [GBY_307] (rows=383325119 width=88)
                                             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4, KEY._col5
                                           <-Reducer 4 [SIMPLE_EDGE]
                                             SHUFFLE [RS_93]
                                               PartitionCols:_col0, _col1, _col2, _col3, _col4, _col5
                                               Group By Operator [GBY_92] (rows=766650239 width=88)
                                                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col3)"],keys:_col5, _col6, _col8, _col9, _col11, _col12
-                                                Merge Join Operator [MERGEJOIN_188] (rows=766650239 width=88)
-                                                  Conds:RS_88._col2=RS_201._col0(Inner),Output:["_col3","_col5","_col6","_col8","_col9","_col11","_col12"]
-                                                <-Map 14 [SIMPLE_EDGE] vectorized
-                                                  SHUFFLE [RS_201]
+                                                Merge Join Operator [MERGEJOIN_278] (rows=766650239 width=88)
+                                                  Conds:RS_88._col2=RS_298._col0(Inner),Output:["_col3","_col5","_col6","_col8","_col9","_col11","_col12"]
+                                                <-Map 16 [SIMPLE_EDGE] vectorized
+                                                  SHUFFLE [RS_298]
                                                     PartitionCols:_col0
-                                                    Select Operator [SEL_200] (rows=1704 width=1910)
+                                                    Select Operator [SEL_297] (rows=1704 width=1910)
                                                       Output:["_col0","_col1","_col2"]
-                                                      Filter Operator [FIL_199] (rows=1704 width=1910)
+                                                      Filter Operator [FIL_296] (rows=1704 width=1910)
                                                         predicate:(s_company_name is not null and s_store_name is not null and s_store_sk is not null)
                                                         TableScan [TS_79] (rows=1704 width=1910)
                                                           default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_name","s_company_name"]
                                                 <-Reducer 3 [SIMPLE_EDGE]
                                                   SHUFFLE [RS_88]
                                                     PartitionCols:_col2
-                                                    Merge Join Operator [MERGEJOIN_187] (rows=696954748 width=88)
-                                                      Conds:RS_85._col1=RS_198._col0(Inner),Output:["_col2","_col3","_col5","_col6","_col8","_col9"]
-                                                    <-Map 13 [SIMPLE_EDGE] vectorized
-                                                      SHUFFLE [RS_198]
+                                                    Merge Join Operator [MERGEJOIN_277] (rows=696954748 width=88)
+                                                      Conds:RS_85._col1=RS_290._col0(Inner),Output:["_col2","_col3","_col5","_col6","_col8","_col9"]
+                                                    <-Map 14 [SIMPLE_EDGE] vectorized
+                                                      SHUFFLE [RS_290]
                                                         PartitionCols:_col0
-                                                        Select Operator [SEL_197] (rows=462000 width=1436)
+                                                        Select Operator [SEL_289] (rows=462000 width=1436)
                                                           Output:["_col0","_col1","_col2"]
-                                                          Filter Operator [FIL_196] (rows=462000 width=1436)
+                                                          Filter Operator [FIL_288] (rows=462000 width=1436)
                                                             predicate:(i_brand is not null and i_category is not null and i_item_sk is not null)
                                                             TableScan [TS_76] (rows=462000 width=1436)
                                                               default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_brand","i_category"]
                                                     <-Reducer 2 [SIMPLE_EDGE]
                                                       SHUFFLE [RS_85]
                                                         PartitionCols:_col1
-                                                        Merge Join Operator [MERGEJOIN_186] (rows=633595212 width=88)
-                                                          Conds:RS_192._col0=RS_195._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6"]
-                                                        <-Map 1 [SIMPLE_EDGE] vectorized
-                                                          SHUFFLE [RS_192]
-                                                            PartitionCols:_col0
-                                                            Select Operator [SEL_191] (rows=575995635 width=88)
-                                                              Output:["_col0","_col1","_col2","_col3"]
-                                                              Filter Operator [FIL_190] (rows=575995635 width=88)
-                                                                predicate:(ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
-                                                                TableScan [TS_70] (rows=575995635 width=88)
-                                                                  default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_store_sk","ss_sales_price"]
+                                                        Merge Join Operator [MERGEJOIN_276] (rows=633595212 width=88)
+                                                          Conds:RS_306._col0=RS_282._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6"]
                                                         <-Map 12 [SIMPLE_EDGE] vectorized
-                                                          SHUFFLE [RS_195]
+                                                          SHUFFLE [RS_282]
                                                             PartitionCols:_col0
-                                                            Select Operator [SEL_194] (rows=73048 width=1119)
+                                                            Select Operator [SEL_281] (rows=73048 width=1119)
                                                               Output:["_col0","_col1","_col2"]
-                                                              Filter Operator [FIL_193] (rows=73048 width=1119)
+                                                              Filter Operator [FIL_280] (rows=73048 width=1119)
                                                                 predicate:(((d_year = 2000) or ((d_year = 1999) and (d_moy = 12)) or ((d_year = 2001) and (d_moy = 1))) and d_date_sk is not null)
                                                                 TableScan [TS_73] (rows=73049 width=1119)
                                                                   default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
+                                                        <-Map 1 [SIMPLE_EDGE] vectorized
+                                                          SHUFFLE [RS_306]
+                                                            PartitionCols:_col0
+                                                            Select Operator [SEL_305] (rows=575995635 width=88)
+                                                              Output:["_col0","_col1","_col2","_col3"]
+                                                              Filter Operator [FIL_304] (rows=575995635 width=88)
+                                                                predicate:((ss_item_sk BETWEEN DynamicValue(RS_86_item_i_item_sk_min) AND DynamicValue(RS_86_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_86_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_83_date_dim_d_date_sk_min) AND DynamicValue(RS_83_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_83_date_dim_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_89_store_s_store_sk_min) AND DynamicValue(RS_89_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_89_store_s_store_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+                                                                TableScan [TS_70] (rows=575995635 width=88)
+                                                                  default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_store_sk","ss_sales_price"]
+                                                                <-Reducer 13 [BROADCAST_EDGE] vectorized
+                                                                  BROADCAST [RS_287]
+                                                                    Group By Operator [GBY_286] (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_285]
+                                                                        Group By Operator [GBY_284] (rows=1 width=12)
+                                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                          Select Operator [SEL_283] (rows=73048 width=1119)
+                                                                            Output:["_col0"]
+                                                                             Please refer to the previous Select Operator [SEL_281]
+                                                                <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                                                  BROADCAST [RS_295]
+                                                                    Group By Operator [GBY_294] (rows=1 width=12)
+                                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                    <-Map 14 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                      SHUFFLE [RS_293]
+                                                                        Group By Operator [GBY_292] (rows=1 width=12)
+                                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                          Select Operator [SEL_291] (rows=462000 width=1436)
+                                                                            Output:["_col0"]
+                                                                             Please refer to the previous Select Operator [SEL_289]
+                                                                <-Reducer 17 [BROADCAST_EDGE] vectorized
+                                                                  BROADCAST [RS_303]
+                                                                    Group By Operator [GBY_302] (rows=1 width=12)
+                                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                                    <-Map 16 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                      SHUFFLE [RS_301]
+                                                                        Group By Operator [GBY_300] (rows=1 width=12)
+                                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                                          Select Operator [SEL_299] (rows=1704 width=1910)
+                                                                            Output:["_col0"]
+                                                                             Please refer to the previous Select Operator [SEL_297]
                 <-Reducer 6 [SIMPLE_EDGE]
                   SHUFFLE [RS_105]
                     PartitionCols:_col0, _col1, _col2, _col3, (_col5 - 1)
@@ -222,9 +259,9 @@ Stage-0
                           Select Operator [SEL_97] (rows=383325119 width=88)
                             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
                           <-Reducer 5 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_203]
+                            SHUFFLE [RS_308]
                               PartitionCols:_col3, _col2, _col4, _col5
-                               Please refer to the previous Group By Operator [GBY_202]
+                               Please refer to the previous Group By Operator [GBY_307]
                 <-Reducer 9 [SIMPLE_EDGE]
                   SHUFFLE [RS_103]
                     PartitionCols:_col0, _col1, _col2, _col3, (_col5 + 1)
@@ -237,7 +274,7 @@ Stage-0
                           Select Operator [SEL_27] (rows=383325119 width=88)
                             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
                           <-Reducer 5 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_204]
+                            SHUFFLE [RS_309]
                               PartitionCols:_col3, _col2, _col4, _col5
-                               Please refer to the previous Group By Operator [GBY_202]
+                               Please refer to the previous Group By Operator [GBY_307]