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/10/17 17:33:53 UTC

[08/12] hive git commit: HIVE-20716: Set default value for hive.cbo.stats.correlated.multi.key.joins to true (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)

http://git-wip-us.apache.org/repos/asf/hive/blob/a22e7dd9/ql/src/test/results/clientpositive/perf/tez/query17.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query17.q.out b/ql/src/test/results/clientpositive/perf/tez/query17.q.out
index 60e956e..3d6e1da 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query17.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query17.q.out
@@ -103,225 +103,224 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 1 <- Reducer 8 (BROADCAST_EDGE)
-Map 13 <- Reducer 12 (BROADCAST_EDGE), Reducer 16 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE), Reducer 18 (BROADCAST_EDGE), Reducer 20 (BROADCAST_EDGE), Reducer 22 (BROADCAST_EDGE)
-Reducer 10 <- Map 19 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 11 <- Map 7 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE)
-Reducer 12 <- Map 7 (CUSTOM_SIMPLE_EDGE)
-Reducer 14 <- Map 13 (SIMPLE_EDGE), Map 15 (SIMPLE_EDGE)
-Reducer 16 <- Map 15 (CUSTOM_SIMPLE_EDGE)
-Reducer 17 <- Map 15 (CUSTOM_SIMPLE_EDGE)
-Reducer 18 <- Map 15 (CUSTOM_SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 20 <- Map 19 (CUSTOM_SIMPLE_EDGE)
-Reducer 22 <- Map 21 (CUSTOM_SIMPLE_EDGE)
-Reducer 3 <- Reducer 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 21 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
+Map 1 <- Reducer 14 (BROADCAST_EDGE), Reducer 15 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE), Reducer 21 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
+Map 18 <- Reducer 12 (BROADCAST_EDGE), Reducer 14 (BROADCAST_EDGE), Reducer 15 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE)
+Reducer 10 <- Map 18 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 11 <- Reducer 10 (SIMPLE_EDGE), Reducer 13 (SIMPLE_EDGE)
+Reducer 12 <- Map 8 (CUSTOM_SIMPLE_EDGE)
+Reducer 13 <- Map 19 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 14 <- Reducer 13 (CUSTOM_SIMPLE_EDGE)
+Reducer 15 <- Reducer 13 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Map 16 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 21 <- Map 20 (CUSTOM_SIMPLE_EDGE)
+Reducer 3 <- Map 16 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 20 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
-Reducer 8 <- Map 7 (CUSTOM_SIMPLE_EDGE)
-Reducer 9 <- Map 7 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
+Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
+Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
-      Reducer 6 vectorized
+      Reducer 7 vectorized
       File Output Operator [FS_270]
         Limit [LIM_269] (rows=100 width=88)
           Number of rows:100
-          Select Operator [SEL_268] (rows=510205767 width=88)
+          Select Operator [SEL_268] (rows=421657640 width=88)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"]
-          <-Reducer 5 [SIMPLE_EDGE] vectorized
+          <-Reducer 6 [SIMPLE_EDGE] vectorized
             SHUFFLE [RS_267]
-              Select Operator [SEL_266] (rows=510205767 width=88)
+              Select Operator [SEL_266] (rows=421657640 width=88)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
-                Group By Operator [GBY_265] (rows=510205767 width=88)
+                Group By Operator [GBY_265] (rows=421657640 width=88)
                   Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"],aggregations:["count(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)","sum(VALUE._col3)","count(VALUE._col4)","sum(VALUE._col5)","sum(VALUE._col6)","sum(VALUE._col7)","count(VALUE._col8)","sum(VALUE._col9)","sum(VALUE._col10)","sum(VALUE._col11)"],keys:KEY._col0, KEY._col1, KEY._col2
-                <-Reducer 4 [SIMPLE_EDGE]
-                  SHUFFLE [RS_49]
+                <-Reducer 5 [SIMPLE_EDGE]
+                  SHUFFLE [RS_50]
                     PartitionCols:_col0, _col1, _col2
-                    Group By Operator [GBY_48] (rows=1020411534 width=88)
+                    Group By Operator [GBY_49] (rows=843315281 width=88)
                       Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13","_col14"],aggregations:["count(_col3)","sum(_col3)","sum(_col7)","sum(_col6)","count(_col4)","sum(_col4)","sum(_col9)","sum(_col8)","count(_col5)","sum(_col5)","sum(_col11)","sum(_col10)"],keys:_col0, _col1, _col2
-                      Top N Key Operator [TNK_95] (rows=1020411534 width=88)
+                      Top N Key Operator [TNK_93] (rows=843315281 width=88)
                         keys:_col0, _col1, _col2,sort order:+++,top n:100
-                        Select Operator [SEL_46] (rows=1020411534 width=88)
+                        Select Operator [SEL_47] (rows=843315281 width=88)
                           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"]
-                          Merge Join Operator [MERGEJOIN_207] (rows=1020411534 width=88)
-                            Conds:RS_43._col11=RS_256._col0(Inner),Output:["_col3","_col7","_col15","_col20","_col24","_col25"]
-                          <-Map 21 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_256]
+                          Merge Join Operator [MERGEJOIN_213] (rows=843315281 width=88)
+                            Conds:RS_44._col3=RS_251._col0(Inner),Output:["_col5","_col9","_col10","_col14","_col21","_col25"]
+                          <-Map 20 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_251]
                               PartitionCols:_col0
-                              Select Operator [SEL_255] (rows=462000 width=1436)
-                                Output:["_col0","_col1","_col2"]
-                                Filter Operator [FIL_254] (rows=462000 width=1436)
-                                  predicate:i_item_sk is not null
-                                  TableScan [TS_34] (rows=462000 width=1436)
-                                    default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_item_desc"]
-                          <-Reducer 3 [SIMPLE_EDGE]
-                            SHUFFLE [RS_43]
-                              PartitionCols:_col11
-                              Merge Join Operator [MERGEJOIN_206] (rows=927646829 width=88)
-                                Conds:RS_40._col1, _col2=RS_41._col12, _col11(Inner),Output:["_col3","_col7","_col11","_col15","_col20"]
-                              <-Reducer 10 [SIMPLE_EDGE]
+                              Select Operator [SEL_250] (rows=1704 width=1910)
+                                Output:["_col0","_col1"]
+                                Filter Operator [FIL_249] (rows=1704 width=1910)
+                                  predicate:s_store_sk is not null
+                                  TableScan [TS_32] (rows=1704 width=1910)
+                                    default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_state"]
+                          <-Reducer 4 [SIMPLE_EDGE]
+                            SHUFFLE [RS_44]
+                              PartitionCols:_col3
+                              Merge Join Operator [MERGEJOIN_212] (rows=766650239 width=88)
+                                Conds:RS_41._col1, _col2, _col4=RS_42._col7, _col8, _col9(Inner),Output:["_col3","_col5","_col9","_col10","_col14","_col21"]
+                              <-Reducer 11 [SIMPLE_EDGE]
+                                SHUFFLE [RS_42]
+                                  PartitionCols:_col7, _col8, _col9
+                                  Merge Join Operator [MERGEJOIN_211] (rows=348467716 width=135)
+                                    Conds:RS_28._col2, _col1=RS_29._col1, _col2(Inner),Output:["_col3","_col7","_col8","_col9","_col10"]
+                                  <-Reducer 13 [SIMPLE_EDGE]
+                                    PARTITION_ONLY_SHUFFLE [RS_29]
+                                      PartitionCols:_col1, _col2
+                                      Merge Join Operator [MERGEJOIN_210] (rows=63350266 width=77)
+                                        Conds:RS_242._col0=RS_224._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                      <-Map 8 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_224]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_219] (rows=73049 width=1119)
+                                            Output:["_col0"]
+                                            Filter Operator [FIL_216] (rows=73049 width=1119)
+                                              predicate:((d_quarter_name) IN ('2000Q1', '2000Q2', '2000Q3') and d_date_sk is not null)
+                                              TableScan [TS_3] (rows=73049 width=1119)
+                                                default@date_dim,d1,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_quarter_name"]
+                                      <-Map 19 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_242]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_241] (rows=57591150 width=77)
+                                            Output:["_col0","_col1","_col2","_col3","_col4"]
+                                            Filter Operator [FIL_240] (rows=57591150 width=77)
+                                              predicate:(sr_customer_sk is not null and sr_item_sk is not null and sr_returned_date_sk is not null and sr_ticket_number is not null)
+                                              TableScan [TS_15] (rows=57591150 width=77)
+                                                default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_returned_date_sk","sr_item_sk","sr_customer_sk","sr_ticket_number","sr_return_quantity"]
+                                  <-Reducer 10 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_28]
+                                      PartitionCols:_col2, _col1
+                                      Merge Join Operator [MERGEJOIN_209] (rows=316788826 width=135)
+                                        Conds:RS_264._col0=RS_222._col0(Inner),Output:["_col1","_col2","_col3"]
+                                      <-Map 8 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_222]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_218] (rows=73049 width=1119)
+                                            Output:["_col0"]
+                                            Filter Operator [FIL_215] (rows=73049 width=1119)
+                                              predicate:((d_quarter_name) IN ('2000Q1', '2000Q2', '2000Q3') and d_date_sk is not null)
+                                               Please refer to the previous TableScan [TS_3]
+                                      <-Map 18 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_264]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_263] (rows=287989836 width=135)
+                                            Output:["_col0","_col1","_col2","_col3"]
+                                            Filter Operator [FIL_262] (rows=287989836 width=135)
+                                              predicate:((cs_bill_customer_sk BETWEEN DynamicValue(RS_29_store_returns_sr_customer_sk_min) AND DynamicValue(RS_29_store_returns_sr_customer_sk_max) and in_bloom_filter(cs_bill_customer_sk, DynamicValue(RS_29_store_returns_sr_customer_sk_bloom_filter))) and (cs_item_sk BETWEEN DynamicValue(RS_29_store_returns_sr_item_sk_min) AND DynamicValue(RS_29_store_returns_sr_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_29_store_returns_sr_item_sk_bloom_filter))) and (cs_item_sk BETWEEN DynamicValue(RS_39_item_i_item_sk_min) AND DynamicValue(RS_39_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_39_item_i_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_26_d3_d_date_sk_min) AND DynamicValue(RS_26_d3_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_26_d3_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
+                                              TableScan [TS_9] (rows=287989836 width=135)
+                                                default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_quantity"]
+                                              <-Reducer 14 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_245]
+                                                  Group By Operator [GBY_243] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=63350264)"]
+                                                  <-Reducer 13 [CUSTOM_SIMPLE_EDGE]
+                                                    PARTITION_ONLY_SHUFFLE [RS_111]
+                                                      Group By Operator [GBY_110] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=63350264)"]
+                                                        Select Operator [SEL_109] (rows=63350266 width=77)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_210]
+                                              <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_248]
+                                                  Group By Operator [GBY_246] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=63350264)"]
+                                                  <-Reducer 13 [CUSTOM_SIMPLE_EDGE]
+                                                    PARTITION_ONLY_SHUFFLE [RS_126]
+                                                      Group By Operator [GBY_125] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=63350264)"]
+                                                        Select Operator [SEL_124] (rows=63350266 width=77)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_210]
+                                              <-Reducer 17 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_239]
+                                                  Group By Operator [GBY_237] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 16 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_236]
+                                                      Group By Operator [GBY_235] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_234] (rows=462000 width=1436)
+                                                          Output:["_col0"]
+                                                          Select Operator [SEL_232] (rows=462000 width=1436)
+                                                            Output:["_col0","_col1","_col2"]
+                                                            Filter Operator [FIL_231] (rows=462000 width=1436)
+                                                              predicate:i_item_sk is not null
+                                                              TableScan [TS_6] (rows=462000 width=1436)
+                                                                default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_item_desc"]
+                                              <-Reducer 12 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_261]
+                                                  Group By Operator [GBY_260] (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_228]
+                                                      Group By Operator [GBY_226] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_223] (rows=73049 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_218]
+                              <-Reducer 3 [SIMPLE_EDGE]
                                 SHUFFLE [RS_41]
-                                  PartitionCols:_col12, _col11
-                                  Select Operator [SEL_33] (rows=843315281 width=88)
-                                    Output:["_col1","_col5","_col9","_col11","_col12","_col14"]
-                                    Merge Join Operator [MERGEJOIN_205] (rows=843315281 width=88)
-                                      Conds:RS_30._col3=RS_248._col0(Inner),Output:["_col1","_col5","_col7","_col8","_col10","_col16"]
-                                    <-Map 19 [SIMPLE_EDGE] vectorized
-                                      PARTITION_ONLY_SHUFFLE [RS_248]
-                                        PartitionCols:_col0
-                                        Select Operator [SEL_247] (rows=1704 width=1910)
-                                          Output:["_col0","_col1"]
-                                          Filter Operator [FIL_246] (rows=1704 width=1910)
-                                            predicate:s_store_sk is not null
-                                            TableScan [TS_18] (rows=1704 width=1910)
-                                              default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_state"]
-                                    <-Reducer 9 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_30]
-                                        PartitionCols:_col3
-                                        Merge Join Operator [MERGEJOIN_204] (rows=766650239 width=88)
-                                          Conds:RS_27._col6=RS_214._col0(Inner),Output:["_col1","_col3","_col5","_col7","_col8","_col10"]
-                                        <-Map 7 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_214]
-                                            PartitionCols:_col0
-                                            Select Operator [SEL_210] (rows=73049 width=1119)
-                                              Output:["_col0"]
-                                              Filter Operator [FIL_208] (rows=73049 width=1119)
-                                                predicate:((d_quarter_name) IN ('2000Q1', '2000Q2', '2000Q3') and d_date_sk is not null)
-                                                TableScan [TS_3] (rows=73049 width=1119)
-                                                  default@date_dim,d3,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_quarter_name"]
-                                        <-Reducer 11 [SIMPLE_EDGE]
-                                          SHUFFLE [RS_27]
-                                            PartitionCols:_col6
-                                            Merge Join Operator [MERGEJOIN_203] (rows=696954748 width=88)
-                                              Conds:RS_24._col0=RS_215._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7","_col8","_col10"]
-                                            <-Map 7 [SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_215]
-                                                PartitionCols:_col0
-                                                Select Operator [SEL_211] (rows=36524 width=1119)
-                                                  Output:["_col0"]
-                                                  Filter Operator [FIL_209] (rows=36524 width=1119)
-                                                    predicate:((d_quarter_name = '2000Q1') and d_date_sk is not null)
-                                                     Please refer to the previous TableScan [TS_3]
-                                            <-Reducer 14 [SIMPLE_EDGE]
-                                              SHUFFLE [RS_24]
-                                                PartitionCols:_col0
-                                                Merge Join Operator [MERGEJOIN_202] (rows=633595212 width=88)
-                                                  Conds:RS_264._col1, _col2, _col4=RS_228._col1, _col2, _col3(Inner),Output:["_col0","_col1","_col3","_col5","_col6","_col7","_col8","_col10"]
-                                                <-Map 15 [SIMPLE_EDGE] vectorized
-                                                  PARTITION_ONLY_SHUFFLE [RS_228]
-                                                    PartitionCols:_col1, _col2, _col3
-                                                    Select Operator [SEL_227] (rows=57591150 width=77)
-                                                      Output:["_col0","_col1","_col2","_col3","_col4"]
-                                                      Filter Operator [FIL_226] (rows=57591150 width=77)
-                                                        predicate:(sr_customer_sk is not null and sr_item_sk is not null and sr_returned_date_sk is not null and sr_ticket_number is not null)
-                                                        TableScan [TS_9] (rows=57591150 width=77)
-                                                          default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_returned_date_sk","sr_item_sk","sr_customer_sk","sr_ticket_number","sr_return_quantity"]
-                                                <-Map 13 [SIMPLE_EDGE] vectorized
-                                                  SHUFFLE [RS_264]
-                                                    PartitionCols:_col1, _col2, _col4
-                                                    Select Operator [SEL_263] (rows=575995635 width=88)
-                                                      Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                                      Filter Operator [FIL_262] (rows=575995635 width=88)
-                                                        predicate:((ss_customer_sk BETWEEN DynamicValue(RS_22_store_returns_sr_customer_sk_min) AND DynamicValue(RS_22_store_returns_sr_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_22_store_returns_sr_customer_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_22_store_returns_sr_item_sk_min) AND DynamicValue(RS_22_store_returns_sr_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_22_store_returns_sr_item_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_44_item_i_item_sk_min) AND DynamicValue(RS_44_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_44_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_25_d1_d_date_sk_min) AND DynamicValue(RS_25_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_25_d1_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_31_store_s_store_sk_min) AND DynamicValue(RS_31_store_s_s
 tore_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_31_store_s_store_sk_bloom_filter))) and (ss_ticket_number BETWEEN DynamicValue(RS_22_store_returns_sr_ticket_number_min) AND DynamicValue(RS_22_store_returns_sr_ticket_number_max) and in_bloom_filter(ss_ticket_number, DynamicValue(RS_22_store_returns_sr_ticket_number_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null)
-                                                        TableScan [TS_6] (rows=575995635 width=88)
-                                                          default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_quantity"]
-                                                        <-Reducer 12 [BROADCAST_EDGE] vectorized
-                                                          BROADCAST [RS_245]
-                                                            Group By Operator [GBY_244] (rows=1 width=12)
-                                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                            <-Map 7 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                              SHUFFLE [RS_220]
-                                                                Group By Operator [GBY_218] (rows=1 width=12)
-                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                                  Select Operator [SEL_216] (rows=36524 width=1119)
-                                                                    Output:["_col0"]
-                                                                     Please refer to the previous Select Operator [SEL_211]
-                                                        <-Reducer 16 [BROADCAST_EDGE] vectorized
-                                                          BROADCAST [RS_239]
-                                                            Group By Operator [GBY_238] (rows=1 width=12)
-                                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=57591152)"]
-                                                            <-Map 15 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                              PARTITION_ONLY_SHUFFLE [RS_235]
-                                                                Group By Operator [GBY_232] (rows=1 width=12)
-                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=57591152)"]
-                                                                  Select Operator [SEL_229] (rows=57591150 width=77)
-                                                                    Output:["_col0"]
-                                                                     Please refer to the previous Select Operator [SEL_227]
-                                                        <-Reducer 17 [BROADCAST_EDGE] vectorized
-                                                          BROADCAST [RS_241]
-                                                            Group By Operator [GBY_240] (rows=1 width=12)
-                                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=57591152)"]
-                                                            <-Map 15 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                              PARTITION_ONLY_SHUFFLE [RS_236]
-                                                                Group By Operator [GBY_233] (rows=1 width=12)
-                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=57591152)"]
-                                                                  Select Operator [SEL_230] (rows=57591150 width=77)
-                                                                    Output:["_col0"]
-                                                                     Please refer to the previous Select Operator [SEL_227]
-                                                        <-Reducer 18 [BROADCAST_EDGE] vectorized
-                                                          BROADCAST [RS_243]
-                                                            Group By Operator [GBY_242] (rows=1 width=12)
-                                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=57591152)"]
-                                                            <-Map 15 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                              PARTITION_ONLY_SHUFFLE [RS_237]
-                                                                Group By Operator [GBY_234] (rows=1 width=12)
-                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=57591152)"]
-                                                                  Select Operator [SEL_231] (rows=57591150 width=77)
-                                                                    Output:["_col0"]
-                                                                     Please refer to the previous Select Operator [SEL_227]
-                                                        <-Reducer 20 [BROADCAST_EDGE] vectorized
-                                                          BROADCAST [RS_253]
-                                                            Group By Operator [GBY_252] (rows=1 width=12)
-                                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                            <-Map 19 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                              PARTITION_ONLY_SHUFFLE [RS_251]
-                                                                Group By Operator [GBY_250] (rows=1 width=12)
-                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                                  Select Operator [SEL_249] (rows=1704 width=1910)
-                                                                    Output:["_col0"]
-                                                                     Please refer to the previous Select Operator [SEL_247]
-                                                        <-Reducer 22 [BROADCAST_EDGE] vectorized
-                                                          BROADCAST [RS_261]
-                                                            Group By Operator [GBY_260] (rows=1 width=12)
-                                                              Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                            <-Map 21 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                              SHUFFLE [RS_259]
-                                                                Group By Operator [GBY_258] (rows=1 width=12)
-                                                                  Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                                  Select Operator [SEL_257] (rows=462000 width=1436)
-                                                                    Output:["_col0"]
-                                                                     Please refer to the previous Select Operator [SEL_255]
-                              <-Reducer 2 [SIMPLE_EDGE]
-                                SHUFFLE [RS_40]
-                                  PartitionCols:_col1, _col2
-                                  Merge Join Operator [MERGEJOIN_201] (rows=316788826 width=135)
-                                    Conds:RS_225._col0=RS_212._col0(Inner),Output:["_col1","_col2","_col3"]
-                                  <-Map 7 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_212]
+                                  PartitionCols:_col1, _col2, _col4
+                                  Merge Join Operator [MERGEJOIN_208] (rows=696954748 width=88)
+                                    Conds:RS_38._col1=RS_233._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col9","_col10"]
+                                  <-Map 16 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_233]
                                       PartitionCols:_col0
-                                       Please refer to the previous Select Operator [SEL_210]
-                                  <-Map 1 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_225]
-                                      PartitionCols:_col0
-                                      Select Operator [SEL_224] (rows=287989836 width=135)
-                                        Output:["_col0","_col1","_col2","_col3"]
-                                        Filter Operator [FIL_223] (rows=287989836 width=135)
-                                          predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_38_d3_d_date_sk_min) AND DynamicValue(RS_38_d3_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_38_d3_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
-                                          TableScan [TS_0] (rows=287989836 width=135)
-                                            default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_quantity"]
-                                          <-Reducer 8 [BROADCAST_EDGE] vectorized
-                                            BROADCAST [RS_222]
-                                              Group By Operator [GBY_221] (rows=1 width=12)
-                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                              <-Map 7 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                SHUFFLE [RS_219]
-                                                  Group By Operator [GBY_217] (rows=1 width=12)
-                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                    Select Operator [SEL_213] (rows=73049 width=1119)
-                                                      Output:["_col0"]
-                                                       Please refer to the previous Select Operator [SEL_210]
+                                       Please refer to the previous Select Operator [SEL_232]
+                                  <-Reducer 2 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_38]
+                                      PartitionCols:_col1
+                                      Merge Join Operator [MERGEJOIN_207] (rows=633595212 width=88)
+                                        Conds:RS_259._col0=RS_220._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5"]
+                                      <-Map 8 [SIMPLE_EDGE] vectorized
+                                        PARTITION_ONLY_SHUFFLE [RS_220]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_217] (rows=36524 width=1119)
+                                            Output:["_col0"]
+                                            Filter Operator [FIL_214] (rows=36524 width=1119)
+                                              predicate:((d_quarter_name = '2000Q1') and d_date_sk is not null)
+                                               Please refer to the previous TableScan [TS_3]
+                                      <-Map 1 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_259]
+                                          PartitionCols:_col0
+                                          Select Operator [SEL_258] (rows=575995635 width=88)
+                                            Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                                            Filter Operator [FIL_257] (rows=575995635 width=88)
+                                              predicate:((ss_customer_sk BETWEEN DynamicValue(RS_29_store_returns_sr_customer_sk_min) AND DynamicValue(RS_29_store_returns_sr_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_29_store_returns_sr_customer_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_29_store_returns_sr_item_sk_min) AND DynamicValue(RS_29_store_returns_sr_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_29_store_returns_sr_item_sk_bloom_filter))) and (ss_item_sk BETWEEN DynamicValue(RS_39_item_i_item_sk_min) AND DynamicValue(RS_39_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_39_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_36_d1_d_date_sk_min) AND DynamicValue(RS_36_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_36_d1_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_45_store_s_store_sk_min) AND DynamicValue(RS_45_store_s_store_sk_ma
 x) and in_bloom_filter(ss_store_sk, DynamicValue(RS_45_store_s_store_sk_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null and ss_ticket_number is not null)
+                                              TableScan [TS_0] (rows=575995635 width=88)
+                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_quantity"]
+                                              <-Reducer 14 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_244]
+                                                   Please refer to the previous Group By Operator [GBY_243]
+                                              <-Reducer 15 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_247]
+                                                   Please refer to the previous Group By Operator [GBY_246]
+                                              <-Reducer 17 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_238]
+                                                   Please refer to the previous Group By Operator [GBY_237]
+                                              <-Reducer 21 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_256]
+                                                  Group By Operator [GBY_255] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Map 20 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                    SHUFFLE [RS_254]
+                                                      Group By Operator [GBY_253] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_252] (rows=1704 width=1910)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_250]
+                                              <-Reducer 9 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_230]
+                                                  Group By Operator [GBY_229] (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_227]
+                                                      Group By Operator [GBY_225] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_221] (rows=36524 width=1119)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Select Operator [SEL_217]