You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jc...@apache.org on 2018/07/19 20:59:48 UTC

[10/18] hive git commit: HIVE-17896: TopNKey: Create a standalone vectorizable TopNKey operator (Teddy Choi, reviewed by Jesus Camacho Rodriguez)

http://git-wip-us.apache.org/repos/asf/hive/blob/851c8aba/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 9920ad3..a3b6c03 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query40.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query40.q.out
@@ -71,115 +71,117 @@ Stage-0
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_135]
-        Limit [LIM_134] (rows=100 width=135)
+      File Output Operator [FS_136]
+        Limit [LIM_135] (rows=100 width=135)
           Number of rows:100
-          Select Operator [SEL_133] (rows=210822976 width=135)
+          Select Operator [SEL_134] (rows=210822976 width=135)
             Output:["_col0","_col1","_col2","_col3"]
           <-Reducer 6 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_132]
-              Group By Operator [GBY_131] (rows=210822976 width=135)
+            SHUFFLE [RS_133]
+              Group By Operator [GBY_132] (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]
                   PartitionCols:_col0, _col1
                   Group By Operator [GBY_29] (rows=421645953 width=135)
                     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_100] (rows=421645953 width=135)
-                        Conds:RS_24._col1=RS_119._col0(Inner),Output:["_col4","_col7","_col9","_col11","_col14"]
-                      <-Map 13 [SIMPLE_EDGE] vectorized
-                        SHUFFLE [RS_119]
-                          PartitionCols:_col0
-                          Select Operator [SEL_118] (rows=27 width=1029)
-                            Output:["_col0","_col1"]
-                            Filter Operator [FIL_117] (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_99] (rows=383314495 width=135)
-                            Conds:RS_21._col2=RS_111._col0(Inner),Output:["_col1","_col4","_col7","_col9","_col11"]
-                          <-Map 11 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_111]
-                              PartitionCols:_col0
-                              Select Operator [SEL_110] (rows=51333 width=1436)
-                                Output:["_col0","_col1"]
-                                Filter Operator [FIL_109] (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_98] (rows=348467716 width=135)
-                                Conds:RS_18._col0=RS_103._col0(Inner),Output:["_col1","_col2","_col4","_col7","_col9"]
-                              <-Map 9 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_103]
-                                  PartitionCols:_col0
-                                  Select Operator [SEL_102] (rows=8116 width=1119)
-                                    Output:["_col0","_col1"]
-                                    Filter Operator [FIL_101] (rows=8116 width=1119)
-                                      predicate:(CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-09 00:00:00' AND TIMESTAMP'1998-05-08 00:00:00' 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_97] (rows=316788826 width=135)
-                                    Conds:RS_127._col2, _col3=RS_130._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col7"]
-                                  <-Map 1 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_127]
-                                      PartitionCols:_col2, _col3
-                                      Select Operator [SEL_126] (rows=287989836 width=135)
-                                        Output:["_col0","_col1","_col2","_col3","_col4"]
-                                        Filter Operator [FIL_125] (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_108]
-                                              Group By Operator [GBY_107] (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_106]
-                                                  Group By Operator [GBY_105] (rows=1 width=12)
-                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                    Select Operator [SEL_104] (rows=8116 width=1119)
-                                                      Output:["_col0"]
-                                                       Please refer to the previous Select Operator [SEL_102]
-                                          <-Reducer 12 [BROADCAST_EDGE] vectorized
-                                            BROADCAST [RS_116]
-                                              Group By Operator [GBY_115] (rows=1 width=12)
-                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                              <-Map 11 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                SHUFFLE [RS_114]
-                                                  Group By Operator [GBY_113] (rows=1 width=12)
-                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                    Select Operator [SEL_112] (rows=51333 width=1436)
-                                                      Output:["_col0"]
-                                                       Please refer to the previous Select Operator [SEL_110]
-                                          <-Reducer 14 [BROADCAST_EDGE] vectorized
-                                            BROADCAST [RS_124]
-                                              Group By Operator [GBY_123] (rows=1 width=12)
-                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                              <-Map 13 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                SHUFFLE [RS_122]
-                                                  Group By Operator [GBY_121] (rows=1 width=12)
-                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                    Select Operator [SEL_120] (rows=27 width=1029)
-                                                      Output:["_col0"]
-                                                       Please refer to the previous Select Operator [SEL_118]
-                                  <-Map 8 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_130]
-                                      PartitionCols:_col0, _col1
-                                      Select Operator [SEL_129] (rows=28798881 width=106)
-                                        Output:["_col0","_col1","_col2"]
-                                        Filter Operator [FIL_128] (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"]
+                    Top N Key Operator [TNK_55] (rows=421645953 width=135)
+                      keys:_col0, _col1,sort order:++,top n:100
+                      Select Operator [SEL_27] (rows=421645953 width=135)
+                        Output:["_col0","_col1","_col2","_col3"]
+                        Merge Join Operator [MERGEJOIN_101] (rows=421645953 width=135)
+                          Conds:RS_24._col1=RS_120._col0(Inner),Output:["_col4","_col7","_col9","_col11","_col14"]
+                        <-Map 13 [SIMPLE_EDGE] vectorized
+                          SHUFFLE [RS_120]
+                            PartitionCols:_col0
+                            Select Operator [SEL_119] (rows=27 width=1029)
+                              Output:["_col0","_col1"]
+                              Filter Operator [FIL_118] (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_100] (rows=383314495 width=135)
+                              Conds:RS_21._col2=RS_112._col0(Inner),Output:["_col1","_col4","_col7","_col9","_col11"]
+                            <-Map 11 [SIMPLE_EDGE] vectorized
+                              SHUFFLE [RS_112]
+                                PartitionCols:_col0
+                                Select Operator [SEL_111] (rows=51333 width=1436)
+                                  Output:["_col0","_col1"]
+                                  Filter Operator [FIL_110] (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_99] (rows=348467716 width=135)
+                                  Conds:RS_18._col0=RS_104._col0(Inner),Output:["_col1","_col2","_col4","_col7","_col9"]
+                                <-Map 9 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_104]
+                                    PartitionCols:_col0
+                                    Select Operator [SEL_103] (rows=8116 width=1119)
+                                      Output:["_col0","_col1"]
+                                      Filter Operator [FIL_102] (rows=8116 width=1119)
+                                        predicate:(CAST( d_date AS TIMESTAMP) BETWEEN TIMESTAMP'1998-03-09 00:00:00' AND TIMESTAMP'1998-05-08 00:00:00' 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_98] (rows=316788826 width=135)
+                                      Conds:RS_128._col2, _col3=RS_131._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col7"]
+                                    <-Map 1 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_128]
+                                        PartitionCols:_col2, _col3
+                                        Select Operator [SEL_127] (rows=287989836 width=135)
+                                          Output:["_col0","_col1","_col2","_col3","_col4"]
+                                          Filter Operator [FIL_126] (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_109]
+                                                Group By Operator [GBY_108] (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_107]
+                                                    Group By Operator [GBY_106] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_105] (rows=8116 width=1119)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_103]
+                                            <-Reducer 12 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_117]
+                                                Group By Operator [GBY_116] (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_115]
+                                                    Group By Operator [GBY_114] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_113] (rows=51333 width=1436)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_111]
+                                            <-Reducer 14 [BROADCAST_EDGE] vectorized
+                                              BROADCAST [RS_125]
+                                                Group By Operator [GBY_124] (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_123]
+                                                    Group By Operator [GBY_122] (rows=1 width=12)
+                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                      Select Operator [SEL_121] (rows=27 width=1029)
+                                                        Output:["_col0"]
+                                                         Please refer to the previous Select Operator [SEL_119]
+                                    <-Map 8 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_131]
+                                        PartitionCols:_col0, _col1
+                                        Select Operator [SEL_130] (rows=28798881 width=106)
+                                          Output:["_col0","_col1","_col2"]
+                                          Filter Operator [FIL_129] (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/851c8aba/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 394f728..afa3363 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query43.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query43.q.out
@@ -50,76 +50,78 @@ Stage-0
     limit:100
     Stage-1
       Reducer 5 vectorized
-      File Output Operator [FS_78]
-        Limit [LIM_77] (rows=100 width=88)
+      File Output Operator [FS_79]
+        Limit [LIM_78] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_76] (rows=348477374 width=88)
+          Select Operator [SEL_77] (rows=348477374 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
           <-Reducer 4 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_75]
-              Group By Operator [GBY_74] (rows=348477374 width=88)
+            SHUFFLE [RS_76]
+              Group By Operator [GBY_75] (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]
                   PartitionCols:_col0, _col1
                   Group By Operator [GBY_17] (rows=696954748 width=88)
                     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_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_64] (rows=852 width=1910)
-                            Output:["_col0","_col1","_col2"]
-                            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_53] (rows=633595212 width=88)
-                            Conds:RS_73._col0=RS_57._col0(Inner),Output:["_col1","_col2","_col5"]
-                          <-Map 6 [SIMPLE_EDGE] vectorized
-                            PARTITION_ONLY_SHUFFLE [RS_57]
-                              PartitionCols:_col0
-                              Select Operator [SEL_56] (rows=36524 width=1119)
-                                Output:["_col0","_col2"]
-                                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]
+                    Top N Key Operator [TNK_33] (rows=696954748 width=88)
+                      keys:_col0, _col1,sort order:++,top n:100
+                      Select Operator [SEL_15] (rows=696954748 width=88)
+                        Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
+                        Merge Join Operator [MERGEJOIN_55] (rows=696954748 width=88)
+                          Conds:RS_12._col1=RS_66._col0(Inner),Output:["_col2","_col5","_col7","_col8"]
+                        <-Map 8 [SIMPLE_EDGE] vectorized
+                          PARTITION_ONLY_SHUFFLE [RS_66]
+                            PartitionCols:_col0
+                            Select Operator [SEL_65] (rows=852 width=1910)
+                              Output:["_col0","_col1","_col2"]
+                              Filter Operator [FIL_64] (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_54] (rows=633595212 width=88)
+                              Conds:RS_74._col0=RS_58._col0(Inner),Output:["_col1","_col2","_col5"]
+                            <-Map 6 [SIMPLE_EDGE] vectorized
+                              PARTITION_ONLY_SHUFFLE [RS_58]
+                                PartitionCols:_col0
+                                Select Operator [SEL_57] (rows=36524 width=1119)
+                                  Output:["_col0","_col2"]
+                                  Filter Operator [FIL_56] (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_74]
+                                PartitionCols:_col0
+                                Select Operator [SEL_73] (rows=575995635 width=88)
+                                  Output:["_col0","_col1","_col2"]
+                                  Filter Operator [FIL_72] (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_63]
+                                        Group By Operator [GBY_62] (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_61]
+                                            Group By Operator [GBY_60] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                              Select Operator [SEL_59] (rows=36524 width=1119)
+                                                Output:["_col0"]
+                                                 Please refer to the previous Select Operator [SEL_57]
+                                    <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                      BROADCAST [RS_71]
+                                        Group By Operator [GBY_70] (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_69]
+                                            Group By Operator [GBY_68] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                              Select Operator [SEL_67] (rows=852 width=1910)
+                                                Output:["_col0"]
+                                                 Please refer to the previous Select Operator [SEL_65]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/851c8aba/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 c9d820b..edb047d 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[132][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[133][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
@@ -59,147 +59,149 @@ Stage-0
     limit:100
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_172]
-        Limit [LIM_171] (rows=100 width=152)
+      File Output Operator [FS_173]
+        Limit [LIM_172] (rows=100 width=152)
           Number of rows:100
-          Select Operator [SEL_170] (rows=95833781 width=152)
+          Select Operator [SEL_171] (rows=95833781 width=152)
             Output:["_col0","_col1","_col2"]
           <-Reducer 5 [SIMPLE_EDGE] vectorized
-            SHUFFLE [RS_169]
-              Group By Operator [GBY_168] (rows=95833781 width=152)
+            SHUFFLE [RS_170]
+              Group By Operator [GBY_169] (rows=95833781 width=152)
                 Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1
               <-Reducer 4 [SIMPLE_EDGE]
                 SHUFFLE [RS_53]
                   PartitionCols:_col0, _col1
                   Group By Operator [GBY_52] (rows=191667562 width=152)
                     Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col8, _col7
-                    Select Operator [SEL_51] (rows=191667562 width=152)
-                      Output:["_col3","_col7","_col8"]
-                      Filter Operator [FIL_50] (rows=191667562 width=152)
-                        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_132] (rows=191667562 width=152)
-                            Conds:(Inner),Output:["_col3","_col4","_col6","_col8","_col12","_col16","_col17"]
-                          <-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_149]
-                                  Group By Operator [GBY_147] (rows=1 width=16)
-                                    Output:["_col0","_col1"],aggregations:["count()","count(i_item_id)"]
-                                    Select Operator [SEL_144] (rows=231000 width=1436)
-                                      Output:["i_item_id"]
-                                      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_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_130] (rows=174243235 width=135)
-                                    Conds:RS_29._col0=RS_30._col1(Inner),Output:["_col1","_col3","_col6","_col7"]
-                                  <-Reducer 9 [SIMPLE_EDGE]
-                                    PARTITION_ONLY_SHUFFLE [RS_29]
-                                      PartitionCols:_col0
-                                      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_145]
-                                          PartitionCols:_col1
-                                          Select Operator [SEL_142] (rows=462000 width=1436)
-                                            Output:["_col0","_col1"]
-                                            Filter Operator [FIL_139] (rows=462000 width=1436)
-                                              predicate:i_item_sk is not null
-                                               Please refer to the previous TableScan [TS_6]
-                                      <-Reducer 12 [ONE_TO_ONE_EDGE] vectorized
-                                        FORWARD [RS_152]
-                                          PartitionCols:_col0
-                                          Select Operator [SEL_151] (rows=115500 width=1436)
-                                            Output:["_col0","_col1"]
-                                            Group By Operator [GBY_150] (rows=115500 width=1436)
-                                              Output:["_col0"],keys:KEY._col0
-                                            <-Map 8 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_148]
-                                                PartitionCols:_col0
-                                                Group By Operator [GBY_146] (rows=231000 width=1436)
-                                                  Output:["_col0"],keys:i_item_id
-                                                  Select Operator [SEL_143] (rows=231000 width=1436)
-                                                    Output:["i_item_id"]
-                                                    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_127] (rows=88000001 width=860)
-                                    Conds:RS_135._col1=RS_138._col0(Inner),Output:["_col0","_col3","_col4"]
-                                  <-Map 1 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_135]
-                                      PartitionCols:_col1
-                                      Select Operator [SEL_134] (rows=80000000 width=860)
-                                        Output:["_col0","_col1"]
-                                        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_138]
-                                      PartitionCols:_col0
-                                      Select Operator [SEL_137] (rows=40000000 width=1014)
-                                        Output:["_col0","_col1","_col2"]
-                                        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"]
+                    Top N Key Operator [TNK_82] (rows=191667562 width=152)
+                      keys:_col8, _col7,sort order:++,top n:100
+                      Select Operator [SEL_51] (rows=191667562 width=152)
+                        Output:["_col3","_col7","_col8"]
+                        Filter Operator [FIL_50] (rows=191667562 width=152)
+                          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_133] (rows=191667562 width=152)
+                              Conds:(Inner),Output:["_col3","_col4","_col6","_col8","_col12","_col16","_col17"]
+                            <-Reducer 13 [CUSTOM_SIMPLE_EDGE] vectorized
+                              PARTITION_ONLY_SHUFFLE [RS_168]
+                                Group By Operator [GBY_167] (rows=1 width=16)
+                                  Output:["_col0","_col1"],aggregations:["count(VALUE._col0)","count(VALUE._col1)"]
+                                <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_150]
+                                    Group By Operator [GBY_148] (rows=1 width=16)
+                                      Output:["_col0","_col1"],aggregations:["count()","count(i_item_id)"]
+                                      Select Operator [SEL_145] (rows=231000 width=1436)
+                                        Output:["i_item_id"]
+                                        Filter Operator [FIL_142] (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_132] (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_131] (rows=174243235 width=135)
+                                      Conds:RS_29._col0=RS_30._col1(Inner),Output:["_col1","_col3","_col6","_col7"]
+                                    <-Reducer 9 [SIMPLE_EDGE]
+                                      PARTITION_ONLY_SHUFFLE [RS_29]
+                                        PartitionCols:_col0
+                                        Merge Join Operator [MERGEJOIN_129] (rows=508200 width=1436)
+                                          Conds:RS_146._col1=RS_153._col0(Left Outer),Output:["_col0","_col1","_col3"]
+                                        <-Map 8 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_146]
+                                            PartitionCols:_col1
+                                            Select Operator [SEL_143] (rows=462000 width=1436)
+                                              Output:["_col0","_col1"]
+                                              Filter Operator [FIL_140] (rows=462000 width=1436)
+                                                predicate:i_item_sk is not null
+                                                 Please refer to the previous TableScan [TS_6]
+                                        <-Reducer 12 [ONE_TO_ONE_EDGE] vectorized
+                                          FORWARD [RS_153]
+                                            PartitionCols:_col0
+                                            Select Operator [SEL_152] (rows=115500 width=1436)
+                                              Output:["_col0","_col1"]
+                                              Group By Operator [GBY_151] (rows=115500 width=1436)
+                                                Output:["_col0"],keys:KEY._col0
+                                              <-Map 8 [SIMPLE_EDGE] vectorized
+                                                SHUFFLE [RS_149]
+                                                  PartitionCols:_col0
+                                                  Group By Operator [GBY_147] (rows=231000 width=1436)
+                                                    Output:["_col0"],keys:i_item_id
+                                                    Select Operator [SEL_144] (rows=231000 width=1436)
+                                                      Output:["i_item_id"]
+                                                      Filter Operator [FIL_141] (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_130] (rows=158402938 width=135)
+                                          Conds:RS_166._col0=RS_156._col0(Inner),Output:["_col1","_col2","_col3"]
+                                        <-Map 16 [SIMPLE_EDGE] vectorized
+                                          PARTITION_ONLY_SHUFFLE [RS_156]
+                                            PartitionCols:_col0
+                                            Select Operator [SEL_155] (rows=18262 width=1119)
+                                              Output:["_col0"]
+                                              Filter Operator [FIL_154] (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_166]
+                                            PartitionCols:_col0
+                                            Select Operator [SEL_165] (rows=144002668 width=135)
+                                              Output:["_col0","_col1","_col2","_col3"]
+                                              Filter Operator [FIL_164] (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_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)"]
+                                                    <-Reducer 9 [CUSTOM_SIMPLE_EDGE]
+                                                      PARTITION_ONLY_SHUFFLE [RS_115]
+                                                        Group By Operator [GBY_114] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                          Select Operator [SEL_113] (rows=508200 width=1436)
+                                                            Output:["_col0"]
+                                                             Please refer to the previous Merge Join Operator [MERGEJOIN_129]
+                                                <-Reducer 17 [BROADCAST_EDGE] vectorized
+                                                  BROADCAST [RS_161]
+                                                    Group By Operator [GBY_160] (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_159]
+                                                        Group By Operator [GBY_158] (rows=1 width=12)
+                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                          Select Operator [SEL_157] (rows=18262 width=1119)
+                                                            Output:["_col0"]
+                                                             Please refer to the previous Select Operator [SEL_155]
+                                <-Reducer 2 [SIMPLE_EDGE]
+                                  SHUFFLE [RS_43]
+                                    PartitionCols:_col0
+                                    Merge Join Operator [MERGEJOIN_128] (rows=88000001 width=860)
+                                      Conds:RS_136._col1=RS_139._col0(Inner),Output:["_col0","_col3","_col4"]
+                                    <-Map 1 [SIMPLE_EDGE] vectorized
+                                      SHUFFLE [RS_136]
+                                        PartitionCols:_col1
+                                        Select Operator [SEL_135] (rows=80000000 width=860)
+                                          Output:["_col0","_col1"]
+                                          Filter Operator [FIL_134] (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_139]
+                                        PartitionCols:_col0
+                                        Select Operator [SEL_138] (rows=40000000 width=1014)
+                                          Output:["_col0","_col1","_col2"]
+                                          Filter Operator [FIL_137] (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"]