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

[10/12] hive git commit: HIVE-20090 : Extend creation of semijoin reduction filters to be able to discover new opportunities (Jesus Camacho Rodriguez via Deepak Jaiswal)

http://git-wip-us.apache.org/repos/asf/hive/blob/ab9e954d/ql/src/test/results/clientpositive/perf/tez/query2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query2.q.out b/ql/src/test/results/clientpositive/perf/tez/query2.q.out
index d24899c..5f90894 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query2.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query2.q.out
@@ -139,33 +139,33 @@ Stage-0
     limit:-1
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_191]
-        Select Operator [SEL_190] (rows=287491028 width=135)
+      File Output Operator [FS_195]
+        Select Operator [SEL_194] (rows=287491028 width=135)
           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
         <-Reducer 6 [SIMPLE_EDGE]
           SHUFFLE [RS_58]
             Select Operator [SEL_57] (rows=287491028 width=135)
               Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-              Merge Join Operator [MERGEJOIN_143] (rows=287491028 width=135)
+              Merge Join Operator [MERGEJOIN_147] (rows=287491028 width=135)
                 Conds:RS_54._col0=RS_55.(_col0 - 53)(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col9","_col10","_col11","_col12","_col13","_col14","_col15"]
               <-Reducer 13 [SIMPLE_EDGE]
                 SHUFFLE [RS_55]
                   PartitionCols:(_col0 - 53)
-                  Merge Join Operator [MERGEJOIN_142] (rows=261355475 width=135)
-                    Conds:RS_189._col0=RS_187._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                  Merge Join Operator [MERGEJOIN_146] (rows=261355475 width=135)
+                    Conds:RS_193._col0=RS_191._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
                   <-Map 15 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_187]
+                    SHUFFLE [RS_191]
                       PartitionCols:_col0
-                      Select Operator [SEL_185] (rows=36524 width=1119)
+                      Select Operator [SEL_189] (rows=36524 width=1119)
                         Output:["_col0"]
-                        Filter Operator [FIL_183] (rows=36524 width=1119)
+                        Filter Operator [FIL_187] (rows=36524 width=1119)
                           predicate:((d_year = 2002) and d_week_seq is not null)
                           TableScan [TS_20] (rows=73049 width=1119)
                             default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_week_seq","d_year"]
                   <-Reducer 12 [ONE_TO_ONE_EDGE] vectorized
-                    FORWARD [RS_189]
+                    FORWARD [RS_193]
                       PartitionCols:_col0
-                      Group By Operator [GBY_188] (rows=237595882 width=135)
+                      Group By Operator [GBY_192] (rows=237595882 width=135)
                         Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],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
                       <-Reducer 11 [SIMPLE_EDGE]
                         SHUFFLE [RS_44]
@@ -174,67 +174,67 @@ Stage-0
                             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col1)","sum(_col2)","sum(_col3)","sum(_col4)","sum(_col5)","sum(_col6)","sum(_col7)"],keys:_col0
                             Select Operator [SEL_41] (rows=475191764 width=135)
                               Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                              Merge Join Operator [MERGEJOIN_141] (rows=475191764 width=135)
-                                Conds:Union 17._col0=RS_168._col0(Inner),Output:["_col1","_col3","_col4"]
+                              Merge Join Operator [MERGEJOIN_145] (rows=475191764 width=135)
+                                Conds:Union 17._col0=RS_172._col0(Inner),Output:["_col1","_col3","_col4"]
                               <-Map 9 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_168]
+                                SHUFFLE [RS_172]
                                   PartitionCols:_col0
-                                  Select Operator [SEL_165] (rows=73049 width=1119)
+                                  Select Operator [SEL_169] (rows=73049 width=1119)
                                     Output:["_col0","_col1","_col2"]
-                                    Filter Operator [FIL_164] (rows=73049 width=1119)
+                                    Filter Operator [FIL_168] (rows=73049 width=1119)
                                       predicate:(d_date_sk is not null and d_week_seq is not null)
                                       TableScan [TS_8] (rows=73049 width=1119)
                                         default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_week_seq","d_day_name"]
                               <-Union 17 [SIMPLE_EDGE]
                                 <-Map 16 [CONTAINS] vectorized
-                                  Reduce Output Operator [RS_200]
+                                  Reduce Output Operator [RS_204]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_199] (rows=144002668 width=135)
+                                    Select Operator [SEL_203] (rows=144002668 width=135)
                                       Output:["_col0","_col1"]
-                                      Filter Operator [FIL_198] (rows=144002668 width=135)
+                                      Filter Operator [FIL_202] (rows=144002668 width=135)
                                         predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_39_date_dim_d_date_sk_min) AND DynamicValue(RS_39_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_39_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null)
-                                        TableScan [TS_154] (rows=144002668 width=135)
+                                        TableScan [TS_158] (rows=144002668 width=135)
                                           Output:["ws_sold_date_sk","ws_ext_sales_price"]
                                         <-Reducer 14 [BROADCAST_EDGE] vectorized
-                                          BROADCAST [RS_196]
-                                            Group By Operator [GBY_195] (rows=1 width=12)
+                                          BROADCAST [RS_200]
+                                            Group By Operator [GBY_199] (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_173]
-                                                Group By Operator [GBY_171] (rows=1 width=12)
+                                              SHUFFLE [RS_177]
+                                                Group By Operator [GBY_175] (rows=1 width=12)
                                                   Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                  Select Operator [SEL_169] (rows=73049 width=1119)
+                                                  Select Operator [SEL_173] (rows=73049 width=1119)
                                                     Output:["_col0"]
-                                                     Please refer to the previous Select Operator [SEL_165]
+                                                     Please refer to the previous Select Operator [SEL_169]
                                 <-Map 18 [CONTAINS] vectorized
-                                  Reduce Output Operator [RS_203]
+                                  Reduce Output Operator [RS_207]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_202] (rows=287989836 width=135)
+                                    Select Operator [SEL_206] (rows=287989836 width=135)
                                       Output:["_col0","_col1"]
-                                      Filter Operator [FIL_201] (rows=287989836 width=135)
+                                      Filter Operator [FIL_205] (rows=287989836 width=135)
                                         predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_39_date_dim_d_date_sk_min) AND DynamicValue(RS_39_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_39_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null)
-                                        TableScan [TS_159] (rows=287989836 width=135)
+                                        TableScan [TS_163] (rows=287989836 width=135)
                                           Output:["cs_sold_date_sk","cs_ext_sales_price"]
                                         <-Reducer 14 [BROADCAST_EDGE] vectorized
-                                          BROADCAST [RS_197]
-                                             Please refer to the previous Group By Operator [GBY_195]
+                                          BROADCAST [RS_201]
+                                             Please refer to the previous Group By Operator [GBY_199]
               <-Reducer 5 [ONE_TO_ONE_EDGE]
                 FORWARD [RS_54]
                   PartitionCols:_col0
-                  Merge Join Operator [MERGEJOIN_140] (rows=261355475 width=135)
-                    Conds:RS_181._col0=RS_186._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+                  Merge Join Operator [MERGEJOIN_144] (rows=261355475 width=135)
+                    Conds:RS_185._col0=RS_190._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
                   <-Map 15 [SIMPLE_EDGE] vectorized
-                    SHUFFLE [RS_186]
+                    SHUFFLE [RS_190]
                       PartitionCols:_col0
-                      Select Operator [SEL_184] (rows=36524 width=1119)
+                      Select Operator [SEL_188] (rows=36524 width=1119)
                         Output:["_col0"]
-                        Filter Operator [FIL_182] (rows=36524 width=1119)
+                        Filter Operator [FIL_186] (rows=36524 width=1119)
                           predicate:((d_year = 2001) and d_week_seq is not null)
                            Please refer to the previous TableScan [TS_20]
                   <-Reducer 4 [ONE_TO_ONE_EDGE] vectorized
-                    FORWARD [RS_181]
+                    FORWARD [RS_185]
                       PartitionCols:_col0
-                      Group By Operator [GBY_180] (rows=237595882 width=135)
+                      Group By Operator [GBY_184] (rows=237595882 width=135)
                         Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],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
                       <-Reducer 3 [SIMPLE_EDGE]
                         SHUFFLE [RS_17]
@@ -243,43 +243,43 @@ Stage-0
                             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"],aggregations:["sum(_col1)","sum(_col2)","sum(_col3)","sum(_col4)","sum(_col5)","sum(_col6)","sum(_col7)"],keys:_col0
                             Select Operator [SEL_14] (rows=475191764 width=135)
                               Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                              Merge Join Operator [MERGEJOIN_139] (rows=475191764 width=135)
-                                Conds:Union 2._col0=RS_166._col0(Inner),Output:["_col1","_col3","_col4"]
+                              Merge Join Operator [MERGEJOIN_143] (rows=475191764 width=135)
+                                Conds:Union 2._col0=RS_170._col0(Inner),Output:["_col1","_col3","_col4"]
                               <-Map 9 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_166]
+                                SHUFFLE [RS_170]
                                   PartitionCols:_col0
-                                   Please refer to the previous Select Operator [SEL_165]
+                                   Please refer to the previous Select Operator [SEL_169]
                               <-Union 2 [SIMPLE_EDGE]
                                 <-Map 1 [CONTAINS] vectorized
-                                  Reduce Output Operator [RS_179]
+                                  Reduce Output Operator [RS_183]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_178] (rows=144002668 width=135)
+                                    Select Operator [SEL_182] (rows=144002668 width=135)
                                       Output:["_col0","_col1"]
-                                      Filter Operator [FIL_177] (rows=144002668 width=135)
+                                      Filter Operator [FIL_181] (rows=144002668 width=135)
                                         predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_12_date_dim_d_date_sk_min) AND DynamicValue(RS_12_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_12_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null)
-                                        TableScan [TS_144] (rows=144002668 width=135)
+                                        TableScan [TS_148] (rows=144002668 width=135)
                                           Output:["ws_sold_date_sk","ws_ext_sales_price"]
                                         <-Reducer 10 [BROADCAST_EDGE] vectorized
-                                          BROADCAST [RS_175]
-                                            Group By Operator [GBY_174] (rows=1 width=12)
+                                          BROADCAST [RS_179]
+                                            Group By Operator [GBY_178] (rows=1 width=12)
                                               Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
                                             <-Map 9 [CUSTOM_SIMPLE_EDGE] vectorized
-                                              SHUFFLE [RS_172]
-                                                Group By Operator [GBY_170] (rows=1 width=12)
+                                              SHUFFLE [RS_176]
+                                                Group By Operator [GBY_174] (rows=1 width=12)
                                                   Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                  Select Operator [SEL_167] (rows=73049 width=1119)
+                                                  Select Operator [SEL_171] (rows=73049 width=1119)
                                                     Output:["_col0"]
-                                                     Please refer to the previous Select Operator [SEL_165]
+                                                     Please refer to the previous Select Operator [SEL_169]
                                 <-Map 8 [CONTAINS] vectorized
-                                  Reduce Output Operator [RS_194]
+                                  Reduce Output Operator [RS_198]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_193] (rows=287989836 width=135)
+                                    Select Operator [SEL_197] (rows=287989836 width=135)
                                       Output:["_col0","_col1"]
-                                      Filter Operator [FIL_192] (rows=287989836 width=135)
+                                      Filter Operator [FIL_196] (rows=287989836 width=135)
                                         predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_12_date_dim_d_date_sk_min) AND DynamicValue(RS_12_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_12_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null)
-                                        TableScan [TS_149] (rows=287989836 width=135)
+                                        TableScan [TS_153] (rows=287989836 width=135)
                                           Output:["cs_sold_date_sk","cs_ext_sales_price"]
                                         <-Reducer 10 [BROADCAST_EDGE] vectorized
-                                          BROADCAST [RS_176]
-                                             Please refer to the previous Group By Operator [GBY_174]
+                                          BROADCAST [RS_180]
+                                             Please refer to the previous Group By Operator [GBY_178]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/ab9e954d/ql/src/test/results/clientpositive/perf/tez/query23.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query23.q.out b/ql/src/test/results/clientpositive/perf/tez/query23.q.out
index 6725bec..aab3f93 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query23.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query23.q.out
@@ -1,5 +1,5 @@
-Warning: Shuffle Join MERGEJOIN[581][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 27' is a cross product
-Warning: Shuffle Join MERGEJOIN[583][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 35' is a cross product
+Warning: Shuffle Join MERGEJOIN[585][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 28' is a cross product
+Warning: Shuffle Join MERGEJOIN[587][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 36' is a cross product
 PREHOOK: query: explain
 with frequent_ss_items as 
  (select substr(i_item_desc,1,30) itemdesc,i_item_sk item_sk,d_date solddate,count(*) cnt
@@ -107,11 +107,11 @@ Plan optimized by CBO.
 Vertex dependency in root stage
 Map 1 <- Reducer 17 (BROADCAST_EDGE), Reducer 8 (BROADCAST_EDGE)
 Map 13 <- Reducer 19 (BROADCAST_EDGE), Reducer 21 (BROADCAST_EDGE)
-Map 22 <- Reducer 30 (BROADCAST_EDGE)
-Map 42 <- Reducer 12 (BROADCAST_EDGE)
-Map 43 <- Reducer 37 (BROADCAST_EDGE)
+Map 23 <- Reducer 31 (BROADCAST_EDGE)
+Map 43 <- Reducer 12 (BROADCAST_EDGE), Reducer 22 (BROADCAST_EDGE)
+Map 44 <- Reducer 38 (BROADCAST_EDGE)
 Reducer 10 <- Reducer 16 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 11 <- Reducer 10 (SIMPLE_EDGE), Reducer 35 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 11 <- Reducer 10 (SIMPLE_EDGE), Reducer 36 (SIMPLE_EDGE), Union 5 (CONTAINS)
 Reducer 12 <- Map 7 (CUSTOM_SIMPLE_EDGE)
 Reducer 14 <- Map 13 (SIMPLE_EDGE), Map 18 (SIMPLE_EDGE)
 Reducer 15 <- Map 20 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE)
@@ -120,64 +120,65 @@ Reducer 17 <- Reducer 16 (CUSTOM_SIMPLE_EDGE)
 Reducer 19 <- Map 18 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
 Reducer 21 <- Map 20 (CUSTOM_SIMPLE_EDGE)
-Reducer 23 <- Map 22 (SIMPLE_EDGE), Map 29 (SIMPLE_EDGE)
-Reducer 24 <- Map 41 (SIMPLE_EDGE), Reducer 23 (SIMPLE_EDGE)
-Reducer 25 <- Reducer 24 (SIMPLE_EDGE)
-Reducer 26 <- Reducer 25 (CUSTOM_SIMPLE_EDGE)
-Reducer 27 <- Reducer 26 (CUSTOM_SIMPLE_EDGE), Reducer 28 (CUSTOM_SIMPLE_EDGE), Reducer 40 (CUSTOM_SIMPLE_EDGE)
-Reducer 28 <- Reducer 25 (CUSTOM_SIMPLE_EDGE)
+Reducer 22 <- Map 20 (CUSTOM_SIMPLE_EDGE)
+Reducer 24 <- Map 23 (SIMPLE_EDGE), Map 30 (SIMPLE_EDGE)
+Reducer 25 <- Map 42 (SIMPLE_EDGE), Reducer 24 (SIMPLE_EDGE)
+Reducer 26 <- Reducer 25 (SIMPLE_EDGE)
+Reducer 27 <- Reducer 26 (CUSTOM_SIMPLE_EDGE)
+Reducer 28 <- Reducer 27 (CUSTOM_SIMPLE_EDGE), Reducer 29 (CUSTOM_SIMPLE_EDGE), Reducer 41 (CUSTOM_SIMPLE_EDGE)
+Reducer 29 <- Reducer 26 (CUSTOM_SIMPLE_EDGE)
 Reducer 3 <- Reducer 16 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 30 <- Map 29 (CUSTOM_SIMPLE_EDGE)
-Reducer 31 <- Map 29 (SIMPLE_EDGE), Map 43 (SIMPLE_EDGE)
-Reducer 32 <- Map 41 (SIMPLE_EDGE), Reducer 31 (SIMPLE_EDGE)
-Reducer 33 <- Reducer 32 (SIMPLE_EDGE)
-Reducer 34 <- Reducer 33 (CUSTOM_SIMPLE_EDGE)
-Reducer 35 <- Reducer 34 (CUSTOM_SIMPLE_EDGE), Reducer 36 (CUSTOM_SIMPLE_EDGE), Reducer 40 (CUSTOM_SIMPLE_EDGE)
-Reducer 36 <- Reducer 33 (CUSTOM_SIMPLE_EDGE)
-Reducer 37 <- Map 29 (CUSTOM_SIMPLE_EDGE)
-Reducer 39 <- Map 38 (SIMPLE_EDGE), Map 41 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 27 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS)
-Reducer 40 <- Reducer 39 (SIMPLE_EDGE)
+Reducer 31 <- Map 30 (CUSTOM_SIMPLE_EDGE)
+Reducer 32 <- Map 30 (SIMPLE_EDGE), Map 44 (SIMPLE_EDGE)
+Reducer 33 <- Map 42 (SIMPLE_EDGE), Reducer 32 (SIMPLE_EDGE)
+Reducer 34 <- Reducer 33 (SIMPLE_EDGE)
+Reducer 35 <- Reducer 34 (CUSTOM_SIMPLE_EDGE)
+Reducer 36 <- Reducer 35 (CUSTOM_SIMPLE_EDGE), Reducer 37 (CUSTOM_SIMPLE_EDGE), Reducer 41 (CUSTOM_SIMPLE_EDGE)
+Reducer 37 <- Reducer 34 (CUSTOM_SIMPLE_EDGE)
+Reducer 38 <- Map 30 (CUSTOM_SIMPLE_EDGE)
+Reducer 4 <- Reducer 28 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 40 <- Map 39 (SIMPLE_EDGE), Map 42 (SIMPLE_EDGE)
+Reducer 41 <- Reducer 40 (SIMPLE_EDGE)
 Reducer 6 <- Union 5 (CUSTOM_SIMPLE_EDGE)
 Reducer 8 <- Map 7 (CUSTOM_SIMPLE_EDGE)
-Reducer 9 <- Map 42 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
+Reducer 9 <- Map 43 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
     limit:100
     Stage-1
       Reducer 6 vectorized
-      File Output Operator [FS_684]
-        Limit [LIM_683] (rows=1 width=112)
+      File Output Operator [FS_691]
+        Limit [LIM_690] (rows=1 width=112)
           Number of rows:100
-          Group By Operator [GBY_682] (rows=1 width=112)
+          Group By Operator [GBY_689] (rows=1 width=112)
             Output:["_col0"],aggregations:["sum(VALUE._col0)"]
           <-Union 5 [CUSTOM_SIMPLE_EDGE]
             <-Reducer 11 [CONTAINS]
-              Reduce Output Operator [RS_594]
-                Group By Operator [GBY_593] (rows=1 width=112)
+              Reduce Output Operator [RS_598]
+                Group By Operator [GBY_597] (rows=1 width=112)
                   Output:["_col0"],aggregations:["sum(_col0)"]
-                  Select Operator [SEL_591] (rows=191667562 width=135)
+                  Select Operator [SEL_595] (rows=191667562 width=135)
                     Output:["_col0"]
-                    Merge Join Operator [MERGEJOIN_590] (rows=191667562 width=135)
+                    Merge Join Operator [MERGEJOIN_594] (rows=191667562 width=135)
                       Conds:RS_244._col2=RS_245._col0(Inner),Output:["_col3","_col4"]
                     <-Reducer 10 [SIMPLE_EDGE]
                       SHUFFLE [RS_244]
                         PartitionCols:_col2
-                        Merge Join Operator [MERGEJOIN_580] (rows=174243235 width=135)
-                          Conds:RS_241._col1=RS_633._col0(Inner),Output:["_col2","_col3","_col4"]
+                        Merge Join Operator [MERGEJOIN_584] (rows=174243235 width=135)
+                          Conds:RS_241._col1=RS_640._col0(Inner),Output:["_col2","_col3","_col4"]
                         <-Reducer 16 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_633]
+                          SHUFFLE [RS_640]
                             PartitionCols:_col0
-                            Group By Operator [GBY_630] (rows=58079562 width=88)
+                            Group By Operator [GBY_637] (rows=58079562 width=88)
                               Output:["_col0"],keys:_col1
-                              Select Operator [SEL_629] (rows=116159124 width=88)
+                              Select Operator [SEL_636] (rows=116159124 width=88)
                                 Output:["_col1"]
-                                Filter Operator [FIL_628] (rows=116159124 width=88)
+                                Filter Operator [FIL_635] (rows=116159124 width=88)
                                   predicate:(_col3 > 4L)
-                                  Select Operator [SEL_627] (rows=348477374 width=88)
+                                  Select Operator [SEL_634] (rows=348477374 width=88)
                                     Output:["_col0","_col3"]
-                                    Group By Operator [GBY_626] (rows=348477374 width=88)
+                                    Group By Operator [GBY_633] (rows=348477374 width=88)
                                       Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
                                     <-Reducer 15 [SIMPLE_EDGE]
                                       SHUFFLE [RS_24]
@@ -186,350 +187,361 @@ Stage-0
                                           Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col1, _col0, _col2
                                           Select Operator [SEL_21] (rows=696954748 width=88)
                                             Output:["_col0","_col1","_col2"]
-                                            Merge Join Operator [MERGEJOIN_565] (rows=696954748 width=88)
-                                              Conds:RS_18._col1=RS_617._col0(Inner),Output:["_col3","_col5","_col6"]
+                                            Merge Join Operator [MERGEJOIN_569] (rows=696954748 width=88)
+                                              Conds:RS_18._col1=RS_621._col0(Inner),Output:["_col3","_col5","_col6"]
                                             <-Map 20 [SIMPLE_EDGE] vectorized
-                                              PARTITION_ONLY_SHUFFLE [RS_617]
+                                              PARTITION_ONLY_SHUFFLE [RS_621]
                                                 PartitionCols:_col0
-                                                Select Operator [SEL_616] (rows=462000 width=1436)
+                                                Select Operator [SEL_620] (rows=462000 width=1436)
                                                   Output:["_col0","_col1"]
-                                                  Filter Operator [FIL_615] (rows=462000 width=1436)
+                                                  Filter Operator [FIL_619] (rows=462000 width=1436)
                                                     predicate:i_item_sk is not null
                                                     TableScan [TS_12] (rows=462000 width=1436)
                                                       default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_desc"]
                                             <-Reducer 14 [SIMPLE_EDGE]
                                               SHUFFLE [RS_18]
                                                 PartitionCols:_col1
-                                                Merge Join Operator [MERGEJOIN_564] (rows=633595212 width=88)
-                                                  Conds:RS_625._col0=RS_609._col0(Inner),Output:["_col1","_col3"]
+                                                Merge Join Operator [MERGEJOIN_568] (rows=633595212 width=88)
+                                                  Conds:RS_632._col0=RS_613._col0(Inner),Output:["_col1","_col3"]
                                                 <-Map 18 [SIMPLE_EDGE] vectorized
-                                                  PARTITION_ONLY_SHUFFLE [RS_609]
+                                                  PARTITION_ONLY_SHUFFLE [RS_613]
                                                     PartitionCols:_col0
-                                                    Select Operator [SEL_608] (rows=36525 width=1119)
+                                                    Select Operator [SEL_612] (rows=36525 width=1119)
                                                       Output:["_col0","_col1"]
-                                                      Filter Operator [FIL_607] (rows=36525 width=1119)
+                                                      Filter Operator [FIL_611] (rows=36525 width=1119)
                                                         predicate:((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null)
                                                         TableScan [TS_9] (rows=73049 width=1119)
                                                           default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date","d_year"]
                                                 <-Map 13 [SIMPLE_EDGE] vectorized
-                                                  SHUFFLE [RS_625]
+                                                  SHUFFLE [RS_632]
                                                     PartitionCols:_col0
-                                                    Select Operator [SEL_624] (rows=575995635 width=88)
+                                                    Select Operator [SEL_631] (rows=575995635 width=88)
                                                       Output:["_col0","_col1"]
-                                                      Filter Operator [FIL_623] (rows=575995635 width=88)
+                                                      Filter Operator [FIL_630] (rows=575995635 width=88)
                                                         predicate:((ss_item_sk BETWEEN DynamicValue(RS_19_item_i_item_sk_min) AND DynamicValue(RS_19_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_19_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_16_date_dim_d_date_sk_min) AND DynamicValue(RS_16_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_16_date_dim_d_date_sk_bloom_filter))) and ss_item_sk is not null and ss_sold_date_sk is not null)
                                                         TableScan [TS_6] (rows=575995635 width=88)
                                                           default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk"]
                                                         <-Reducer 19 [BROADCAST_EDGE] vectorized
-                                                          BROADCAST [RS_614]
-                                                            Group By Operator [GBY_613] (rows=1 width=12)
+                                                          BROADCAST [RS_618]
+                                                            Group By Operator [GBY_617] (rows=1 width=12)
                                                               Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
                                                             <-Map 18 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                              PARTITION_ONLY_SHUFFLE [RS_612]
-                                                                Group By Operator [GBY_611] (rows=1 width=12)
+                                                              PARTITION_ONLY_SHUFFLE [RS_616]
+                                                                Group By Operator [GBY_615] (rows=1 width=12)
                                                                   Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                                  Select Operator [SEL_610] (rows=36525 width=1119)
+                                                                  Select Operator [SEL_614] (rows=36525 width=1119)
                                                                     Output:["_col0"]
-                                                                     Please refer to the previous Select Operator [SEL_608]
+                                                                     Please refer to the previous Select Operator [SEL_612]
                                                         <-Reducer 21 [BROADCAST_EDGE] vectorized
-                                                          BROADCAST [RS_622]
-                                                            Group By Operator [GBY_621] (rows=1 width=12)
+                                                          BROADCAST [RS_629]
+                                                            Group By Operator [GBY_628] (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
-                                                              PARTITION_ONLY_SHUFFLE [RS_620]
-                                                                Group By Operator [GBY_619] (rows=1 width=12)
+                                                              PARTITION_ONLY_SHUFFLE [RS_626]
+                                                                Group By Operator [GBY_624] (rows=1 width=12)
                                                                   Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                                  Select Operator [SEL_618] (rows=462000 width=1436)
+                                                                  Select Operator [SEL_622] (rows=462000 width=1436)
                                                                     Output:["_col0"]
-                                                                     Please refer to the previous Select Operator [SEL_616]
+                                                                     Please refer to the previous Select Operator [SEL_620]
                         <-Reducer 9 [SIMPLE_EDGE]
                           SHUFFLE [RS_241]
                             PartitionCols:_col1
-                            Merge Join Operator [MERGEJOIN_571] (rows=158402938 width=135)
-                              Conds:RS_689._col0=RS_599._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                            Merge Join Operator [MERGEJOIN_575] (rows=158402938 width=135)
+                              Conds:RS_698._col0=RS_603._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
                             <-Map 7 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_599]
+                              SHUFFLE [RS_603]
                                 PartitionCols:_col0
-                                Select Operator [SEL_596] (rows=18262 width=1119)
+                                Select Operator [SEL_600] (rows=18262 width=1119)
                                   Output:["_col0"]
-                                  Filter Operator [FIL_595] (rows=18262 width=1119)
+                                  Filter Operator [FIL_599] (rows=18262 width=1119)
                                     predicate:((d_moy = 1) and (d_year = 1999) 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_moy"]
-                            <-Map 42 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_689]
+                            <-Map 43 [SIMPLE_EDGE] vectorized
+                              SHUFFLE [RS_698]
                                 PartitionCols:_col0
-                                Select Operator [SEL_688] (rows=144002668 width=135)
+                                Select Operator [SEL_697] (rows=144002668 width=135)
                                   Output:["_col0","_col1","_col2","_col3","_col4"]
-                                  Filter Operator [FIL_687] (rows=144002668 width=135)
-                                    predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_239_date_dim_d_date_sk_min) AND DynamicValue(RS_239_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_239_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)
+                                  Filter Operator [FIL_696] (rows=144002668 width=135)
+                                    predicate:((ws_item_sk BETWEEN DynamicValue(RS_143_item_i_item_sk_min) AND DynamicValue(RS_143_item_i_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_143_item_i_item_sk_bloom_filter))) and (ws_sold_date_sk BETWEEN DynamicValue(RS_239_date_dim_d_date_sk_min) AND DynamicValue(RS_239_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_239_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_124] (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_quantity","ws_list_price"]
                                     <-Reducer 12 [BROADCAST_EDGE] vectorized
-                                      BROADCAST [RS_686]
-                                        Group By Operator [GBY_685] (rows=1 width=12)
+                                      BROADCAST [RS_693]
+                                        Group By Operator [GBY_692] (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_604]
-                                            Group By Operator [GBY_602] (rows=1 width=12)
+                                          SHUFFLE [RS_608]
+                                            Group By Operator [GBY_606] (rows=1 width=12)
                                               Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                              Select Operator [SEL_600] (rows=18262 width=1119)
+                                              Select Operator [SEL_604] (rows=18262 width=1119)
                                                 Output:["_col0"]
-                                                 Please refer to the previous Select Operator [SEL_596]
-                    <-Reducer 35 [SIMPLE_EDGE]
+                                                 Please refer to the previous Select Operator [SEL_600]
+                                    <-Reducer 22 [BROADCAST_EDGE] vectorized
+                                      BROADCAST [RS_695]
+                                        Group By Operator [GBY_694] (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
+                                          PARTITION_ONLY_SHUFFLE [RS_627]
+                                            Group By Operator [GBY_625] (rows=1 width=12)
+                                              Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                              Select Operator [SEL_623] (rows=462000 width=1436)
+                                                Output:["_col0"]
+                                                 Please refer to the previous Select Operator [SEL_620]
+                    <-Reducer 36 [SIMPLE_EDGE]
                       SHUFFLE [RS_245]
                         PartitionCols:_col0
                         Select Operator [SEL_237] (rows=105599202 width=433)
                           Output:["_col0"]
                           Filter Operator [FIL_236] (rows=105599202 width=433)
                             predicate:(_col3 > (0.95 * _col1))
-                            Merge Join Operator [MERGEJOIN_583] (rows=316797606 width=433)
+                            Merge Join Operator [MERGEJOIN_587] (rows=316797606 width=433)
                               Conds:(Inner),(Inner),Output:["_col1","_col2","_col3"]
-                            <-Reducer 40 [CUSTOM_SIMPLE_EDGE] vectorized
-                              PARTITION_ONLY_SHUFFLE [RS_681]
-                                Group By Operator [GBY_679] (rows=316797606 width=88)
+                            <-Reducer 41 [CUSTOM_SIMPLE_EDGE] vectorized
+                              PARTITION_ONLY_SHUFFLE [RS_688]
+                                Group By Operator [GBY_686] (rows=316797606 width=88)
                                   Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                                <-Reducer 39 [SIMPLE_EDGE]
+                                <-Reducer 40 [SIMPLE_EDGE]
                                   SHUFFLE [RS_105]
                                     PartitionCols:_col0
                                     Group By Operator [GBY_104] (rows=633595212 width=88)
                                       Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
                                       Select Operator [SEL_102] (rows=633595212 width=88)
                                         Output:["_col0","_col1"]
-                                        Merge Join Operator [MERGEJOIN_570] (rows=633595212 width=88)
-                                          Conds:RS_678._col0=RS_658._col0(Inner),Output:["_col1","_col2","_col3"]
-                                        <-Map 41 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_658]
+                                        Merge Join Operator [MERGEJOIN_574] (rows=633595212 width=88)
+                                          Conds:RS_685._col0=RS_665._col0(Inner),Output:["_col1","_col2","_col3"]
+                                        <-Map 42 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_665]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_657] (rows=80000000 width=860)
+                                            Select Operator [SEL_664] (rows=80000000 width=860)
                                               Output:["_col0"]
-                                              Filter Operator [FIL_656] (rows=80000000 width=860)
+                                              Filter Operator [FIL_663] (rows=80000000 width=860)
                                                 predicate:c_customer_sk is not null
                                                 TableScan [TS_96] (rows=80000000 width=860)
                                                   default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk"]
-                                        <-Map 38 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_678]
+                                        <-Map 39 [SIMPLE_EDGE] vectorized
+                                          SHUFFLE [RS_685]
                                             PartitionCols:_col0
-                                            Select Operator [SEL_677] (rows=575995635 width=88)
+                                            Select Operator [SEL_684] (rows=575995635 width=88)
                                               Output:["_col0","_col1","_col2"]
-                                              Filter Operator [FIL_676] (rows=575995635 width=88)
+                                              Filter Operator [FIL_683] (rows=575995635 width=88)
                                                 predicate:ss_customer_sk is not null
                                                 TableScan [TS_93] (rows=575995635 width=88)
                                                   default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_customer_sk","ss_quantity","ss_sales_price"]
-                            <-Reducer 34 [CUSTOM_SIMPLE_EDGE] vectorized
-                              PARTITION_ONLY_SHUFFLE [RS_707]
-                                Select Operator [SEL_706] (rows=1 width=120)
-                                  Filter Operator [FIL_705] (rows=1 width=120)
+                            <-Reducer 35 [CUSTOM_SIMPLE_EDGE] vectorized
+                              PARTITION_ONLY_SHUFFLE [RS_716]
+                                Select Operator [SEL_715] (rows=1 width=120)
+                                  Filter Operator [FIL_714] (rows=1 width=120)
                                     predicate:(sq_count_check(_col0) <= 1)
-                                    Group By Operator [GBY_704] (rows=1 width=120)
+                                    Group By Operator [GBY_713] (rows=1 width=120)
                                       Output:["_col0"],aggregations:["count()"]
-                                      Select Operator [SEL_703] (rows=1 width=120)
-                                        Group By Operator [GBY_702] (rows=1 width=120)
+                                      Select Operator [SEL_712] (rows=1 width=120)
+                                        Group By Operator [GBY_711] (rows=1 width=120)
                                           Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                                        <-Reducer 33 [CUSTOM_SIMPLE_EDGE] vectorized
-                                          PARTITION_ONLY_SHUFFLE [RS_700]
-                                            Group By Operator [GBY_698] (rows=1 width=120)
+                                        <-Reducer 34 [CUSTOM_SIMPLE_EDGE] vectorized
+                                          PARTITION_ONLY_SHUFFLE [RS_709]
+                                            Group By Operator [GBY_707] (rows=1 width=120)
                                               Output:["_col0"],aggregations:["count(_col0)"]
-                                              Select Operator [SEL_696] (rows=348477374 width=88)
+                                              Select Operator [SEL_705] (rows=348477374 width=88)
                                                 Output:["_col0"]
-                                                Group By Operator [GBY_695] (rows=348477374 width=88)
+                                                Group By Operator [GBY_704] (rows=348477374 width=88)
                                                   Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                                                <-Reducer 32 [SIMPLE_EDGE]
+                                                <-Reducer 33 [SIMPLE_EDGE]
                                                   SHUFFLE [RS_175]
                                                     PartitionCols:_col0
                                                     Group By Operator [GBY_174] (rows=696954748 width=88)
                                                       Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
                                                       Select Operator [SEL_172] (rows=696954748 width=88)
                                                         Output:["_col0","_col1"]
-                                                        Merge Join Operator [MERGEJOIN_575] (rows=696954748 width=88)
-                                                          Conds:RS_169._col1=RS_660._col0(Inner),Output:["_col2","_col3","_col6"]
-                                                        <-Map 41 [SIMPLE_EDGE] vectorized
-                                                          SHUFFLE [RS_660]
+                                                        Merge Join Operator [MERGEJOIN_579] (rows=696954748 width=88)
+                                                          Conds:RS_169._col1=RS_667._col0(Inner),Output:["_col2","_col3","_col6"]
+                                                        <-Map 42 [SIMPLE_EDGE] vectorized
+                                                          SHUFFLE [RS_667]
                                                             PartitionCols:_col0
-                                                             Please refer to the previous Select Operator [SEL_657]
-                                                        <-Reducer 31 [SIMPLE_EDGE]
+                                                             Please refer to the previous Select Operator [SEL_664]
+                                                        <-Reducer 32 [SIMPLE_EDGE]
                                                           SHUFFLE [RS_169]
                                                             PartitionCols:_col1
-                                                            Merge Join Operator [MERGEJOIN_574] (rows=633595212 width=88)
-                                                              Conds:RS_694._col0=RS_645._col0(Inner),Output:["_col1","_col2","_col3"]
-                                                            <-Map 29 [SIMPLE_EDGE] vectorized
-                                                              PARTITION_ONLY_SHUFFLE [RS_645]
+                                                            Merge Join Operator [MERGEJOIN_578] (rows=633595212 width=88)
+                                                              Conds:RS_703._col0=RS_652._col0(Inner),Output:["_col1","_col2","_col3"]
+                                                            <-Map 30 [SIMPLE_EDGE] vectorized
+                                                              PARTITION_ONLY_SHUFFLE [RS_652]
                                                                 PartitionCols:_col0
-                                                                Select Operator [SEL_642] (rows=36525 width=1119)
+                                                                Select Operator [SEL_649] (rows=36525 width=1119)
                                                                   Output:["_col0"]
-                                                                  Filter Operator [FIL_641] (rows=36525 width=1119)
+                                                                  Filter Operator [FIL_648] (rows=36525 width=1119)
                                                                     predicate:((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null)
                                                                     TableScan [TS_36] (rows=73049 width=1119)
                                                                       default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
-                                                            <-Map 43 [SIMPLE_EDGE] vectorized
-                                                              SHUFFLE [RS_694]
+                                                            <-Map 44 [SIMPLE_EDGE] vectorized
+                                                              SHUFFLE [RS_703]
                                                                 PartitionCols:_col0
-                                                                Select Operator [SEL_693] (rows=575995635 width=88)
+                                                                Select Operator [SEL_702] (rows=575995635 width=88)
                                                                   Output:["_col0","_col1","_col2","_col3"]
-                                                                  Filter Operator [FIL_692] (rows=575995635 width=88)
+                                                                  Filter Operator [FIL_701] (rows=575995635 width=88)
                                                                     predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_167_date_dim_d_date_sk_min) AND DynamicValue(RS_167_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_167_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null)
                                                                     TableScan [TS_157] (rows=575995635 width=88)
                                                                       default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_quantity","ss_sales_price"]
-                                                                    <-Reducer 37 [BROADCAST_EDGE] vectorized
-                                                                      BROADCAST [RS_691]
-                                                                        Group By Operator [GBY_690] (rows=1 width=12)
+                                                                    <-Reducer 38 [BROADCAST_EDGE] vectorized
+                                                                      BROADCAST [RS_700]
+                                                                        Group By Operator [GBY_699] (rows=1 width=12)
                                                                           Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                                        <-Map 29 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                                          PARTITION_ONLY_SHUFFLE [RS_650]
-                                                                            Group By Operator [GBY_648] (rows=1 width=12)
+                                                                        <-Map 30 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                          PARTITION_ONLY_SHUFFLE [RS_657]
+                                                                            Group By Operator [GBY_655] (rows=1 width=12)
                                                                               Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                                              Select Operator [SEL_646] (rows=36525 width=1119)
+                                                                              Select Operator [SEL_653] (rows=36525 width=1119)
                                                                                 Output:["_col0"]
-                                                                                 Please refer to the previous Select Operator [SEL_642]
-                            <-Reducer 36 [CUSTOM_SIMPLE_EDGE] vectorized
-                              PARTITION_ONLY_SHUFFLE [RS_709]
-                                Group By Operator [GBY_708] (rows=1 width=224)
+                                                                                 Please refer to the previous Select Operator [SEL_649]
+                            <-Reducer 37 [CUSTOM_SIMPLE_EDGE] vectorized
+                              PARTITION_ONLY_SHUFFLE [RS_718]
+                                Group By Operator [GBY_717] (rows=1 width=224)
                                   Output:["_col0"],aggregations:["max(VALUE._col0)"]
-                                <-Reducer 33 [CUSTOM_SIMPLE_EDGE] vectorized
-                                  PARTITION_ONLY_SHUFFLE [RS_701]
-                                    Group By Operator [GBY_699] (rows=1 width=224)
+                                <-Reducer 34 [CUSTOM_SIMPLE_EDGE] vectorized
+                                  PARTITION_ONLY_SHUFFLE [RS_710]
+                                    Group By Operator [GBY_708] (rows=1 width=224)
                                       Output:["_col0"],aggregations:["max(_col1)"]
-                                      Select Operator [SEL_697] (rows=348477374 width=88)
+                                      Select Operator [SEL_706] (rows=348477374 width=88)
                                         Output:["_col1"]
-                                         Please refer to the previous Group By Operator [GBY_695]
+                                         Please refer to the previous Group By Operator [GBY_704]
             <-Reducer 4 [CONTAINS]
-              Reduce Output Operator [RS_589]
-                Group By Operator [GBY_588] (rows=1 width=112)
+              Reduce Output Operator [RS_593]
+                Group By Operator [GBY_592] (rows=1 width=112)
                   Output:["_col0"],aggregations:["sum(_col0)"]
-                  Select Operator [SEL_586] (rows=383314495 width=135)
+                  Select Operator [SEL_590] (rows=383314495 width=135)
                     Output:["_col0"]
-                    Merge Join Operator [MERGEJOIN_585] (rows=383314495 width=135)
+                    Merge Join Operator [MERGEJOIN_589] (rows=383314495 width=135)
                       Conds:RS_120._col1=RS_121._col0(Inner),Output:["_col3","_col4"]
-                    <-Reducer 27 [SIMPLE_EDGE]
+                    <-Reducer 28 [SIMPLE_EDGE]
                       SHUFFLE [RS_121]
                         PartitionCols:_col0
                         Select Operator [SEL_113] (rows=105599202 width=433)
                           Output:["_col0"]
                           Filter Operator [FIL_112] (rows=105599202 width=433)
                             predicate:(_col3 > (0.95 * _col1))
-                            Merge Join Operator [MERGEJOIN_581] (rows=316797606 width=433)
+                            Merge Join Operator [MERGEJOIN_585] (rows=316797606 width=433)
                               Conds:(Inner),(Inner),Output:["_col1","_col2","_col3"]
-                            <-Reducer 40 [CUSTOM_SIMPLE_EDGE] vectorized
+                            <-Reducer 41 [CUSTOM_SIMPLE_EDGE] vectorized
+                              PARTITION_ONLY_SHUFFLE [RS_687]
+                                 Please refer to the previous Group By Operator [GBY_686]
+                            <-Reducer 27 [CUSTOM_SIMPLE_EDGE] vectorized
                               PARTITION_ONLY_SHUFFLE [RS_680]
-                                 Please refer to the previous Group By Operator [GBY_679]
-                            <-Reducer 26 [CUSTOM_SIMPLE_EDGE] vectorized
-                              PARTITION_ONLY_SHUFFLE [RS_673]
-                                Select Operator [SEL_672] (rows=1 width=120)
-                                  Filter Operator [FIL_671] (rows=1 width=120)
+                                Select Operator [SEL_679] (rows=1 width=120)
+                                  Filter Operator [FIL_678] (rows=1 width=120)
                                     predicate:(sq_count_check(_col0) <= 1)
-                                    Group By Operator [GBY_670] (rows=1 width=120)
+                                    Group By Operator [GBY_677] (rows=1 width=120)
                                       Output:["_col0"],aggregations:["count()"]
-                                      Select Operator [SEL_669] (rows=1 width=120)
-                                        Group By Operator [GBY_668] (rows=1 width=120)
+                                      Select Operator [SEL_676] (rows=1 width=120)
+                                        Group By Operator [GBY_675] (rows=1 width=120)
                                           Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                                        <-Reducer 25 [CUSTOM_SIMPLE_EDGE] vectorized
-                                          PARTITION_ONLY_SHUFFLE [RS_666]
-                                            Group By Operator [GBY_664] (rows=1 width=120)
+                                        <-Reducer 26 [CUSTOM_SIMPLE_EDGE] vectorized
+                                          PARTITION_ONLY_SHUFFLE [RS_673]
+                                            Group By Operator [GBY_671] (rows=1 width=120)
                                               Output:["_col0"],aggregations:["count(_col0)"]
-                                              Select Operator [SEL_662] (rows=348477374 width=88)
+                                              Select Operator [SEL_669] (rows=348477374 width=88)
                                                 Output:["_col0"]
-                                                Group By Operator [GBY_661] (rows=348477374 width=88)
+                                                Group By Operator [GBY_668] (rows=348477374 width=88)
                                                   Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                                                <-Reducer 24 [SIMPLE_EDGE]
+                                                <-Reducer 25 [SIMPLE_EDGE]
                                                   SHUFFLE [RS_51]
                                                     PartitionCols:_col0
                                                     Group By Operator [GBY_50] (rows=696954748 width=88)
                                                       Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
                                                       Select Operator [SEL_48] (rows=696954748 width=88)
                                                         Output:["_col0","_col1"]
-                                                        Merge Join Operator [MERGEJOIN_567] (rows=696954748 width=88)
-                                                          Conds:RS_45._col1=RS_659._col0(Inner),Output:["_col2","_col3","_col6"]
-                                                        <-Map 41 [SIMPLE_EDGE] vectorized
-                                                          SHUFFLE [RS_659]
+                                                        Merge Join Operator [MERGEJOIN_571] (rows=696954748 width=88)
+                                                          Conds:RS_45._col1=RS_666._col0(Inner),Output:["_col2","_col3","_col6"]
+                                                        <-Map 42 [SIMPLE_EDGE] vectorized
+                                                          SHUFFLE [RS_666]
                                                             PartitionCols:_col0
-                                                             Please refer to the previous Select Operator [SEL_657]
-                                                        <-Reducer 23 [SIMPLE_EDGE]
+                                                             Please refer to the previous Select Operator [SEL_664]
+                                                        <-Reducer 24 [SIMPLE_EDGE]
                                                           SHUFFLE [RS_45]
                                                             PartitionCols:_col1
-                                                            Merge Join Operator [MERGEJOIN_566] (rows=633595212 width=88)
-                                                              Conds:RS_655._col0=RS_643._col0(Inner),Output:["_col1","_col2","_col3"]
-                                                            <-Map 29 [SIMPLE_EDGE] vectorized
-                                                              PARTITION_ONLY_SHUFFLE [RS_643]
+                                                            Merge Join Operator [MERGEJOIN_570] (rows=633595212 width=88)
+                                                              Conds:RS_662._col0=RS_650._col0(Inner),Output:["_col1","_col2","_col3"]
+                                                            <-Map 30 [SIMPLE_EDGE] vectorized
+                                                              PARTITION_ONLY_SHUFFLE [RS_650]
                                                                 PartitionCols:_col0
-                                                                 Please refer to the previous Select Operator [SEL_642]
-                                                            <-Map 22 [SIMPLE_EDGE] vectorized
-                                                              SHUFFLE [RS_655]
+                                                                 Please refer to the previous Select Operator [SEL_649]
+                                                            <-Map 23 [SIMPLE_EDGE] vectorized
+                                                              SHUFFLE [RS_662]
                                                                 PartitionCols:_col0
-                                                                Select Operator [SEL_654] (rows=575995635 width=88)
+                                                                Select Operator [SEL_661] (rows=575995635 width=88)
                                                                   Output:["_col0","_col1","_col2","_col3"]
-                                                                  Filter Operator [FIL_653] (rows=575995635 width=88)
+                                                                  Filter Operator [FIL_660] (rows=575995635 width=88)
                                                                     predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_43_date_dim_d_date_sk_min) AND DynamicValue(RS_43_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_43_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null)
                                                                     TableScan [TS_33] (rows=575995635 width=88)
                                                                       default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk","ss_quantity","ss_sales_price"]
-                                                                    <-Reducer 30 [BROADCAST_EDGE] vectorized
-                                                                      BROADCAST [RS_652]
-                                                                        Group By Operator [GBY_651] (rows=1 width=12)
+                                                                    <-Reducer 31 [BROADCAST_EDGE] vectorized
+                                                                      BROADCAST [RS_659]
+                                                                        Group By Operator [GBY_658] (rows=1 width=12)
                                                                           Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                                        <-Map 29 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                                          PARTITION_ONLY_SHUFFLE [RS_649]
-                                                                            Group By Operator [GBY_647] (rows=1 width=12)
+                                                                        <-Map 30 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                                          PARTITION_ONLY_SHUFFLE [RS_656]
+                                                                            Group By Operator [GBY_654] (rows=1 width=12)
                                                                               Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                                              Select Operator [SEL_644] (rows=36525 width=1119)
+                                                                              Select Operator [SEL_651] (rows=36525 width=1119)
                                                                                 Output:["_col0"]
-                                                                                 Please refer to the previous Select Operator [SEL_642]
-                            <-Reducer 28 [CUSTOM_SIMPLE_EDGE] vectorized
-                              PARTITION_ONLY_SHUFFLE [RS_675]
-                                Group By Operator [GBY_674] (rows=1 width=224)
+                                                                                 Please refer to the previous Select Operator [SEL_649]
+                            <-Reducer 29 [CUSTOM_SIMPLE_EDGE] vectorized
+                              PARTITION_ONLY_SHUFFLE [RS_682]
+                                Group By Operator [GBY_681] (rows=1 width=224)
                                   Output:["_col0"],aggregations:["max(VALUE._col0)"]
-                                <-Reducer 25 [CUSTOM_SIMPLE_EDGE] vectorized
-                                  PARTITION_ONLY_SHUFFLE [RS_667]
-                                    Group By Operator [GBY_665] (rows=1 width=224)
+                                <-Reducer 26 [CUSTOM_SIMPLE_EDGE] vectorized
+                                  PARTITION_ONLY_SHUFFLE [RS_674]
+                                    Group By Operator [GBY_672] (rows=1 width=224)
                                       Output:["_col0"],aggregations:["max(_col1)"]
-                                      Select Operator [SEL_663] (rows=348477374 width=88)
+                                      Select Operator [SEL_670] (rows=348477374 width=88)
                                         Output:["_col1"]
-                                         Please refer to the previous Group By Operator [GBY_661]
+                                         Please refer to the previous Group By Operator [GBY_668]
                     <-Reducer 3 [SIMPLE_EDGE]
                       SHUFFLE [RS_120]
                         PartitionCols:_col1
-                        Merge Join Operator [MERGEJOIN_579] (rows=348467716 width=135)
-                          Conds:RS_117._col2=RS_631._col0(Inner),Output:["_col1","_col3","_col4"]
+                        Merge Join Operator [MERGEJOIN_583] (rows=348467716 width=135)
+                          Conds:RS_117._col2=RS_638._col0(Inner),Output:["_col1","_col3","_col4"]
                         <-Reducer 16 [SIMPLE_EDGE] vectorized
-                          SHUFFLE [RS_631]
+                          SHUFFLE [RS_638]
                             PartitionCols:_col0
-                             Please refer to the previous Group By Operator [GBY_630]
+                             Please refer to the previous Group By Operator [GBY_637]
                         <-Reducer 2 [SIMPLE_EDGE]
                           SHUFFLE [RS_117]
                             PartitionCols:_col2
-                            Merge Join Operator [MERGEJOIN_563] (rows=316788826 width=135)
-                              Conds:RS_640._col0=RS_597._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                            Merge Join Operator [MERGEJOIN_567] (rows=316788826 width=135)
+                              Conds:RS_647._col0=RS_601._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
                             <-Map 7 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_597]
+                              SHUFFLE [RS_601]
                                 PartitionCols:_col0
-                                 Please refer to the previous Select Operator [SEL_596]
+                                 Please refer to the previous Select Operator [SEL_600]
                             <-Map 1 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_640]
+                              SHUFFLE [RS_647]
                                 PartitionCols:_col0
-                                Select Operator [SEL_639] (rows=287989836 width=135)
+                                Select Operator [SEL_646] (rows=287989836 width=135)
                                   Output:["_col0","_col1","_col2","_col3","_col4"]
-                                  Filter Operator [FIL_638] (rows=287989836 width=135)
+                                  Filter Operator [FIL_645] (rows=287989836 width=135)
                                     predicate:((cs_item_sk BETWEEN DynamicValue(RS_118_item_i_item_sk_min) AND DynamicValue(RS_118_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_118_item_i_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_115_date_dim_d_date_sk_min) AND DynamicValue(RS_115_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_115_date_dim_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","cs_list_price"]
                                     <-Reducer 17 [BROADCAST_EDGE] vectorized
-                                      BROADCAST [RS_637]
-                                        Group By Operator [GBY_636] (rows=1 width=20)
+                                      BROADCAST [RS_644]
+                                        Group By Operator [GBY_643] (rows=1 width=20)
                                           Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=58079560)"]
                                         <-Reducer 16 [CUSTOM_SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_635]
-                                            Group By Operator [GBY_634] (rows=1 width=20)
+                                          SHUFFLE [RS_642]
+                                            Group By Operator [GBY_641] (rows=1 width=20)
                                               Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=58079560)"]
-                                              Select Operator [SEL_632] (rows=58079562 width=88)
+                                              Select Operator [SEL_639] (rows=58079562 width=88)
                                                 Output:["_col0"]
-                                                 Please refer to the previous Group By Operator [GBY_630]
+                                                 Please refer to the previous Group By Operator [GBY_637]
                                     <-Reducer 8 [BROADCAST_EDGE] vectorized
-                                      BROADCAST [RS_606]
-                                        Group By Operator [GBY_605] (rows=1 width=12)
+                                      BROADCAST [RS_610]
+                                        Group By Operator [GBY_609] (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_603]
-                                            Group By Operator [GBY_601] (rows=1 width=12)
+                                          SHUFFLE [RS_607]
+                                            Group By Operator [GBY_605] (rows=1 width=12)
                                               Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                              Select Operator [SEL_598] (rows=18262 width=1119)
+                                              Select Operator [SEL_602] (rows=18262 width=1119)
                                                 Output:["_col0"]
-                                                 Please refer to the previous Select Operator [SEL_596]
+                                                 Please refer to the previous Select Operator [SEL_600]