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 2017/05/13 07:09:45 UTC

[11/22] hive git commit: HIVE-16602: Implement shared scans with Tez (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)

http://git-wip-us.apache.org/repos/asf/hive/blob/59f65772/ql/src/test/results/clientpositive/perf/query16.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query16.q.out b/ql/src/test/results/clientpositive/perf/query16.q.out
index 05b1871..cf90c0c 100644
--- a/ql/src/test/results/clientpositive/perf/query16.q.out
+++ b/ql/src/test/results/clientpositive/perf/query16.q.out
@@ -1,4 +1,4 @@
-Warning: Shuffle Join MERGEJOIN[106][tables = [$hdt$_2, $hdt$_3, $hdt$_1, $hdt$_4]] in Stage 'Reducer 18' is a cross product
+Warning: Shuffle Join MERGEJOIN[106][tables = [$hdt$_2, $hdt$_3, $hdt$_1, $hdt$_4]] in Stage 'Reducer 17' is a cross product
 PREHOOK: query: explain select  
    count(distinct cs_order_number) as `order count`
   ,sum(cs_ext_ship_cost) as `total shipping cost`
@@ -61,10 +61,10 @@ Plan optimized by CBO.
 
 Vertex dependency in root stage
 Reducer 13 <- Map 12 (SIMPLE_EDGE)
-Reducer 15 <- Map 14 (SIMPLE_EDGE), Reducer 19 (SIMPLE_EDGE)
+Reducer 15 <- Map 14 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE)
 Reducer 16 <- Reducer 15 (SIMPLE_EDGE)
-Reducer 18 <- Map 17 (CUSTOM_SIMPLE_EDGE), Map 20 (CUSTOM_SIMPLE_EDGE), Map 21 (CUSTOM_SIMPLE_EDGE), Map 22 (CUSTOM_SIMPLE_EDGE)
-Reducer 19 <- Reducer 18 (SIMPLE_EDGE)
+Reducer 17 <- Map 14 (CUSTOM_SIMPLE_EDGE), Map 19 (CUSTOM_SIMPLE_EDGE), Map 20 (CUSTOM_SIMPLE_EDGE), Map 21 (CUSTOM_SIMPLE_EDGE)
+Reducer 18 <- Reducer 17 (SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 9 (SIMPLE_EDGE)
 Reducer 3 <- Map 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
 Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
@@ -116,27 +116,32 @@ Stage-0
                                         Merge Join Operator [MERGEJOIN_110] (rows=5072854730221289472 width=1)
                                           Conds:RS_39._col1=RS_40._col1(Inner),Output:["_col0","_col2","_col3"]
                                         <-Map 14 [SIMPLE_EDGE]
-                                          SHUFFLE [RS_39]
+                                          PARTITION_ONLY_SHUFFLE [RS_39]
                                             PartitionCols:_col1
                                             Select Operator [SEL_20] (rows=287989836 width=135)
                                               Output:["_col0","_col1"]
                                               TableScan [TS_19] (rows=287989836 width=135)
                                                 default@catalog_sales,cs2,Tbl:COMPLETE,Col:NONE,Output:["cs_warehouse_sk","cs_order_number"]
-                                        <-Reducer 19 [SIMPLE_EDGE]
+                                        <-Reducer 18 [SIMPLE_EDGE]
                                           SHUFFLE [RS_40]
                                             PartitionCols:_col1
                                             Select Operator [SEL_38] (rows=4611686018427387903 width=1)
                                               Output:["_col0","_col1"]
                                               Group By Operator [GBY_37] (rows=4611686018427387903 width=1)
                                                 Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
-                                              <-Reducer 18 [SIMPLE_EDGE]
+                                              <-Reducer 17 [SIMPLE_EDGE]
                                                 SHUFFLE [RS_36]
                                                   PartitionCols:_col0, _col1
                                                   Group By Operator [GBY_35] (rows=9223372036854775807 width=1)
                                                     Output:["_col0","_col1"],keys:_col4, _col3
                                                     Merge Join Operator [MERGEJOIN_106] (rows=9223372036854775807 width=1)
                                                       Conds:(Inner),(Inner),(Inner),Output:["_col3","_col4"]
-                                                    <-Map 17 [CUSTOM_SIMPLE_EDGE]
+                                                    <-Map 14 [CUSTOM_SIMPLE_EDGE]
+                                                      PARTITION_ONLY_SHUFFLE [RS_32]
+                                                        Select Operator [SEL_28] (rows=287989836 width=135)
+                                                          Output:["_col0","_col1"]
+                                                           Please refer to the previous TableScan [TS_19]
+                                                    <-Map 19 [CUSTOM_SIMPLE_EDGE]
                                                       PARTITION_ONLY_SHUFFLE [RS_29]
                                                         Select Operator [SEL_22] (rows=73049 width=4)
                                                           TableScan [TS_21] (rows=73049 width=1119)
@@ -151,12 +156,6 @@ Stage-0
                                                         Select Operator [SEL_26] (rows=40000000 width=4)
                                                           TableScan [TS_25] (rows=40000000 width=1014)
                                                             default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE
-                                                    <-Map 22 [CUSTOM_SIMPLE_EDGE]
-                                                      PARTITION_ONLY_SHUFFLE [RS_32]
-                                                        Select Operator [SEL_28] (rows=287989836 width=135)
-                                                          Output:["_col0","_col1"]
-                                                          TableScan [TS_27] (rows=287989836 width=135)
-                                                            default@catalog_sales,cs1,Tbl:COMPLETE,Col:NONE,Output:["cs_warehouse_sk","cs_order_number"]
                           <-Reducer 5 [SIMPLE_EDGE]
                             SHUFFLE [RS_60]
                               PartitionCols:_col3, _col4

http://git-wip-us.apache.org/repos/asf/hive/blob/59f65772/ql/src/test/results/clientpositive/perf/query17.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query17.q.out b/ql/src/test/results/clientpositive/perf/query17.q.out
index 651ba57..2f32a9f 100644
--- a/ql/src/test/results/clientpositive/perf/query17.q.out
+++ b/ql/src/test/results/clientpositive/perf/query17.q.out
@@ -6,14 +6,14 @@ Plan optimized by CBO.
 
 Vertex dependency in root stage
 Reducer 10 <- Map 14 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 11 <- Map 15 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
-Reducer 12 <- Map 16 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
+Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 13 (SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 12 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 17 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 3 <- Reducer 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 15 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
 Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
-Reducer 9 <- Map 13 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 8 <- Map 7 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
+Reducer 9 <- Map 7 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
@@ -38,7 +38,7 @@ Stage-0
                       Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11"],aggregations:["count(_col15)","avg(_col15)","stddev_samp(_col15)","count(_col20)","avg(_col20)","stddev_samp(_col20)","count(_col3)","avg(_col3)","stddev_samp(_col3)"],keys:_col24, _col25, _col7
                       Merge Join Operator [MERGEJOIN_100] (rows=1020411534 width=88)
                         Conds:RS_43._col11=RS_44._col0(Inner),Output:["_col3","_col7","_col15","_col20","_col24","_col25"]
-                      <-Map 17 [SIMPLE_EDGE]
+                      <-Map 15 [SIMPLE_EDGE]
                         SHUFFLE [RS_44]
                           PartitionCols:_col0
                           Select Operator [SEL_36] (rows=462000 width=1436)
@@ -52,14 +52,14 @@ Stage-0
                           PartitionCols:_col11
                           Merge Join Operator [MERGEJOIN_99] (rows=927646829 width=88)
                             Conds:RS_40._col1, _col2=RS_41._col12, _col11(Inner),Output:["_col3","_col7","_col11","_col15","_col20"]
-                          <-Reducer 12 [SIMPLE_EDGE]
+                          <-Reducer 10 [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_98] (rows=843315281 width=88)
                                   Conds:RS_30._col3=RS_31._col0(Inner),Output:["_col1","_col5","_col7","_col8","_col10","_col16"]
-                                <-Map 16 [SIMPLE_EDGE]
+                                <-Map 14 [SIMPLE_EDGE]
                                   SHUFFLE [RS_31]
                                     PartitionCols:_col0
                                     Select Operator [SEL_20] (rows=1704 width=1910)
@@ -68,39 +68,47 @@ Stage-0
                                         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 11 [SIMPLE_EDGE]
+                                <-Reducer 9 [SIMPLE_EDGE]
                                   SHUFFLE [RS_30]
                                     PartitionCols:_col3
                                     Merge Join Operator [MERGEJOIN_97] (rows=766650239 width=88)
                                       Conds:RS_27._col6=RS_28._col0(Inner),Output:["_col1","_col3","_col5","_col7","_col8","_col10"]
-                                    <-Map 15 [SIMPLE_EDGE]
+                                    <-Map 7 [SIMPLE_EDGE]
                                       SHUFFLE [RS_28]
                                         PartitionCols:_col0
                                         Select Operator [SEL_17] (rows=36525 width=1119)
                                           Output:["_col0"]
                                           Filter Operator [FIL_91] (rows=36525 width=1119)
                                             predicate:((d_quarter_name) IN ('2000Q1', '2000Q2', '2000Q3') and d_date_sk is not null)
-                                            TableScan [TS_15] (rows=73049 width=1119)
-                                              default@date_dim,d2,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_quarter_name"]
-                                    <-Reducer 10 [SIMPLE_EDGE]
+                                            TableScan [TS_3] (rows=73049 width=1119)
+                                              default@date_dim,d3,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_quarter_name"]
+                                    <-Reducer 8 [SIMPLE_EDGE]
                                       SHUFFLE [RS_27]
                                         PartitionCols:_col6
                                         Merge Join Operator [MERGEJOIN_96] (rows=696954748 width=88)
                                           Conds:RS_24._col0=RS_25._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7","_col8","_col10"]
-                                        <-Map 14 [SIMPLE_EDGE]
+                                        <-Map 7 [SIMPLE_EDGE]
                                           SHUFFLE [RS_25]
                                             PartitionCols:_col0
                                             Select Operator [SEL_14] (rows=36524 width=1119)
                                               Output:["_col0"]
                                               Filter Operator [FIL_90] (rows=36524 width=1119)
                                                 predicate:((d_quarter_name = '2000Q1') and d_date_sk is not null)
-                                                TableScan [TS_12] (rows=73049 width=1119)
-                                                  default@date_dim,d1,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_quarter_name"]
-                                        <-Reducer 9 [SIMPLE_EDGE]
+                                                 Please refer to the previous TableScan [TS_3]
+                                        <-Reducer 12 [SIMPLE_EDGE]
                                           SHUFFLE [RS_24]
                                             PartitionCols:_col0
                                             Merge Join Operator [MERGEJOIN_95] (rows=633595212 width=88)
                                               Conds:RS_21._col1, _col2, _col4=RS_22._col1, _col2, _col3(Inner),Output:["_col0","_col1","_col3","_col5","_col6","_col7","_col8","_col10"]
+                                            <-Map 11 [SIMPLE_EDGE]
+                                              SHUFFLE [RS_21]
+                                                PartitionCols:_col1, _col2, _col4
+                                                Select Operator [SEL_8] (rows=575995635 width=88)
+                                                  Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+                                                  Filter Operator [FIL_88] (rows=575995635 width=88)
+                                                    predicate:(ss_item_sk is not null and ss_customer_sk is not null and ss_ticket_number is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+                                                    TableScan [TS_6] (rows=575995635 width=88)
+                                                      default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_quantity"]
                                             <-Map 13 [SIMPLE_EDGE]
                                               SHUFFLE [RS_22]
                                                 PartitionCols:_col1, _col2, _col3
@@ -110,20 +118,19 @@ Stage-0
                                                     predicate:(sr_item_sk is not null and sr_customer_sk is not null and sr_ticket_number is not null and sr_returned_date_sk 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 8 [SIMPLE_EDGE]
-                                              SHUFFLE [RS_21]
-                                                PartitionCols:_col1, _col2, _col4
-                                                Select Operator [SEL_8] (rows=575995635 width=88)
-                                                  Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                                  Filter Operator [FIL_88] (rows=575995635 width=88)
-                                                    predicate:(ss_item_sk is not null and ss_customer_sk is not null and ss_ticket_number is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
-                                                    TableScan [TS_6] (rows=575995635 width=88)
-                                                      default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_quantity"]
                           <-Reducer 2 [SIMPLE_EDGE]
                             SHUFFLE [RS_40]
                               PartitionCols:_col1, _col2
                               Merge Join Operator [MERGEJOIN_94] (rows=316788826 width=135)
                                 Conds:RS_37._col0=RS_38._col0(Inner),Output:["_col1","_col2","_col3"]
+                              <-Map 7 [SIMPLE_EDGE]
+                                SHUFFLE [RS_38]
+                                  PartitionCols:_col0
+                                  Select Operator [SEL_5] (rows=36525 width=1119)
+                                    Output:["_col0"]
+                                    Filter Operator [FIL_87] (rows=36525 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 1 [SIMPLE_EDGE]
                                 SHUFFLE [RS_37]
                                   PartitionCols:_col0
@@ -133,13 +140,4 @@ Stage-0
                                       predicate:(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"]
-                              <-Map 7 [SIMPLE_EDGE]
-                                SHUFFLE [RS_38]
-                                  PartitionCols:_col0
-                                  Select Operator [SEL_5] (rows=36525 width=1119)
-                                    Output:["_col0"]
-                                    Filter Operator [FIL_87] (rows=36525 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"]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/59f65772/ql/src/test/results/clientpositive/perf/query23.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query23.q.out b/ql/src/test/results/clientpositive/perf/query23.q.out
index 7a3201e..5794301 100644
--- a/ql/src/test/results/clientpositive/perf/query23.q.out
+++ b/ql/src/test/results/clientpositive/perf/query23.q.out
@@ -1,5 +1,5 @@
-Warning: Shuffle Join MERGEJOIN[369][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 49' is a cross product
-Warning: Shuffle Join MERGEJOIN[367][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 19' is a cross product
+Warning: Shuffle Join MERGEJOIN[369][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 30' is a cross product
+Warning: Shuffle Join MERGEJOIN[367][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 25' 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
   from store_sales
@@ -103,41 +103,41 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Map 13 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 11 <- Reducer 10 (SIMPLE_EDGE)
-Reducer 15 <- Map 14 (SIMPLE_EDGE), Map 20 (SIMPLE_EDGE)
-Reducer 16 <- Map 21 (SIMPLE_EDGE), Reducer 15 (SIMPLE_EDGE)
+Reducer 10 <- Reducer 30 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 18 (SIMPLE_EDGE)
+Reducer 13 <- Map 19 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
+Reducer 14 <- Reducer 13 (SIMPLE_EDGE)
+Reducer 15 <- Map 11 (SIMPLE_EDGE), Map 18 (SIMPLE_EDGE)
+Reducer 16 <- Map 19 (SIMPLE_EDGE), Reducer 15 (SIMPLE_EDGE)
 Reducer 17 <- Reducer 16 (SIMPLE_EDGE)
-Reducer 18 <- Reducer 17 (CUSTOM_SIMPLE_EDGE)
-Reducer 19 <- Reducer 18 (CUSTOM_SIMPLE_EDGE), Reducer 26 (CUSTOM_SIMPLE_EDGE), Reducer 31 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 23 <- Map 22 (SIMPLE_EDGE), Map 27 (SIMPLE_EDGE)
-Reducer 24 <- Map 28 (SIMPLE_EDGE), Reducer 23 (SIMPLE_EDGE)
-Reducer 25 <- Reducer 24 (SIMPLE_EDGE)
-Reducer 26 <- Reducer 25 (CUSTOM_SIMPLE_EDGE)
-Reducer 3 <- Reducer 11 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 30 <- Map 29 (SIMPLE_EDGE), Map 32 (SIMPLE_EDGE)
-Reducer 31 <- Reducer 30 (SIMPLE_EDGE)
-Reducer 34 <- Map 33 (SIMPLE_EDGE), Map 37 (SIMPLE_EDGE)
-Reducer 35 <- Reducer 34 (SIMPLE_EDGE), Reducer 41 (SIMPLE_EDGE)
-Reducer 36 <- Reducer 35 (SIMPLE_EDGE), Reducer 49 (SIMPLE_EDGE), Union 5 (CONTAINS)
-Reducer 39 <- Map 38 (SIMPLE_EDGE), Map 42 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 19 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS)
-Reducer 40 <- Map 43 (SIMPLE_EDGE), Reducer 39 (SIMPLE_EDGE)
-Reducer 41 <- Reducer 40 (SIMPLE_EDGE)
-Reducer 45 <- Map 44 (SIMPLE_EDGE), Map 50 (SIMPLE_EDGE)
-Reducer 46 <- Map 51 (SIMPLE_EDGE), Reducer 45 (SIMPLE_EDGE)
-Reducer 47 <- Reducer 46 (SIMPLE_EDGE)
-Reducer 48 <- Reducer 47 (CUSTOM_SIMPLE_EDGE)
-Reducer 49 <- Reducer 48 (CUSTOM_SIMPLE_EDGE), Reducer 56 (CUSTOM_SIMPLE_EDGE), Reducer 61 (CUSTOM_SIMPLE_EDGE)
-Reducer 53 <- Map 52 (SIMPLE_EDGE), Map 57 (SIMPLE_EDGE)
-Reducer 54 <- Map 58 (SIMPLE_EDGE), Reducer 53 (SIMPLE_EDGE)
-Reducer 55 <- Reducer 54 (SIMPLE_EDGE)
-Reducer 56 <- Reducer 55 (CUSTOM_SIMPLE_EDGE)
+Reducer 21 <- Map 20 (SIMPLE_EDGE), Map 31 (SIMPLE_EDGE)
+Reducer 22 <- Map 40 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE)
+Reducer 23 <- Reducer 22 (SIMPLE_EDGE)
+Reducer 24 <- Reducer 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 25 <- Reducer 24 (CUSTOM_SIMPLE_EDGE), Reducer 35 (CUSTOM_SIMPLE_EDGE), Reducer 42 (CUSTOM_SIMPLE_EDGE)
+Reducer 26 <- Map 20 (SIMPLE_EDGE), Map 31 (SIMPLE_EDGE)
+Reducer 27 <- Map 40 (SIMPLE_EDGE), Reducer 26 (SIMPLE_EDGE)
+Reducer 28 <- Reducer 27 (SIMPLE_EDGE)
+Reducer 29 <- Reducer 28 (CUSTOM_SIMPLE_EDGE)
+Reducer 3 <- Reducer 14 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 30 <- Reducer 29 (CUSTOM_SIMPLE_EDGE), Reducer 39 (CUSTOM_SIMPLE_EDGE), Reducer 44 (CUSTOM_SIMPLE_EDGE)
+Reducer 32 <- Map 31 (SIMPLE_EDGE), Map 45 (SIMPLE_EDGE)
+Reducer 33 <- Map 40 (SIMPLE_EDGE), Reducer 32 (SIMPLE_EDGE)
+Reducer 34 <- Reducer 33 (SIMPLE_EDGE)
+Reducer 35 <- Reducer 34 (CUSTOM_SIMPLE_EDGE)
+Reducer 36 <- Map 31 (SIMPLE_EDGE), Map 45 (SIMPLE_EDGE)
+Reducer 37 <- Map 40 (SIMPLE_EDGE), Reducer 36 (SIMPLE_EDGE)
+Reducer 38 <- Reducer 37 (SIMPLE_EDGE)
+Reducer 39 <- Reducer 38 (CUSTOM_SIMPLE_EDGE)
+Reducer 4 <- Reducer 25 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 41 <- Map 40 (SIMPLE_EDGE), Map 46 (SIMPLE_EDGE)
+Reducer 42 <- Reducer 41 (SIMPLE_EDGE)
+Reducer 43 <- Map 40 (SIMPLE_EDGE), Map 46 (SIMPLE_EDGE)
+Reducer 44 <- Reducer 43 (SIMPLE_EDGE)
 Reducer 6 <- Union 5 (CUSTOM_SIMPLE_EDGE)
-Reducer 60 <- Map 59 (SIMPLE_EDGE), Map 62 (SIMPLE_EDGE)
-Reducer 61 <- Reducer 60 (SIMPLE_EDGE)
-Reducer 9 <- Map 12 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
+Reducer 8 <- Map 47 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
+Reducer 9 <- Reducer 17 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
@@ -150,7 +150,7 @@ Stage-0
           Group By Operator [GBY_243] (rows=1 width=112)
             Output:["_col0"],aggregations:["sum(VALUE._col0)"]
           <-Union 5 [CUSTOM_SIMPLE_EDGE]
-            <-Reducer 36 [CONTAINS]
+            <-Reducer 10 [CONTAINS]
               Reduce Output Operator [RS_242]
                 Group By Operator [GBY_241] (rows=1 width=112)
                   Output:["_col0"],aggregations:["sum(_col0)"]
@@ -158,89 +158,7 @@ Stage-0
                     Output:["_col0"]
                     Merge Join Operator [MERGEJOIN_370] (rows=191667562 width=135)
                       Conds:RS_234._col2=RS_235._col0(Inner),Output:["_col3","_col4"]
-                    <-Reducer 35 [SIMPLE_EDGE]
-                      SHUFFLE [RS_234]
-                        PartitionCols:_col2
-                        Merge Join Operator [MERGEJOIN_366] (rows=174243235 width=135)
-                          Conds:RS_231._col1=RS_232._col0(Inner),Output:["_col2","_col3","_col4"]
-                        <-Reducer 34 [SIMPLE_EDGE]
-                          SHUFFLE [RS_231]
-                            PartitionCols:_col1
-                            Merge Join Operator [MERGEJOIN_357] (rows=158402938 width=135)
-                              Conds:RS_228._col0=RS_229._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
-                            <-Map 33 [SIMPLE_EDGE]
-                              SHUFFLE [RS_228]
-                                PartitionCols:_col0
-                                Select Operator [SEL_121] (rows=144002668 width=135)
-                                  Output:["_col0","_col1","_col2","_col3","_col4"]
-                                  Filter Operator [FIL_334] (rows=144002668 width=135)
-                                    predicate:(ws_item_sk is not null and ws_bill_customer_sk is not null and ws_sold_date_sk is not null)
-                                    TableScan [TS_119] (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"]
-                            <-Map 37 [SIMPLE_EDGE]
-                              SHUFFLE [RS_229]
-                                PartitionCols:_col0
-                                Select Operator [SEL_124] (rows=18262 width=1119)
-                                  Output:["_col0"]
-                                  Filter Operator [FIL_335] (rows=18262 width=1119)
-                                    predicate:((d_year = 1999) and (d_moy = 1) and d_date_sk is not null)
-                                    TableScan [TS_122] (rows=73049 width=1119)
-                                      default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"]
-                        <-Reducer 41 [SIMPLE_EDGE]
-                          SHUFFLE [RS_232]
-                            PartitionCols:_col0
-                            Group By Operator [GBY_150] (rows=58079562 width=88)
-                              Output:["_col0"],keys:_col1
-                              Select Operator [SEL_146] (rows=116159124 width=88)
-                                Output:["_col1"]
-                                Filter Operator [FIL_145] (rows=116159124 width=88)
-                                  predicate:(_col3 > 4)
-                                  Select Operator [SEL_348] (rows=348477374 width=88)
-                                    Output:["_col0","_col3"]
-                                    Group By Operator [GBY_144] (rows=348477374 width=88)
-                                      Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-                                    <-Reducer 40 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_143]
-                                        PartitionCols:_col0
-                                        Group By Operator [GBY_142] (rows=696954748 width=88)
-                                          Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col1, _col0, _col2
-                                          Select Operator [SEL_140] (rows=696954748 width=88)
-                                            Output:["_col0","_col1","_col2"]
-                                            Merge Join Operator [MERGEJOIN_359] (rows=696954748 width=88)
-                                              Conds:RS_137._col1=RS_138._col0(Inner),Output:["_col3","_col5","_col6"]
-                                            <-Map 43 [SIMPLE_EDGE]
-                                              SHUFFLE [RS_138]
-                                                PartitionCols:_col0
-                                                Select Operator [SEL_133] (rows=462000 width=1436)
-                                                  Output:["_col0","_col1"]
-                                                  Filter Operator [FIL_338] (rows=462000 width=1436)
-                                                    predicate:i_item_sk is not null
-                                                    TableScan [TS_131] (rows=462000 width=1436)
-                                                      default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_desc"]
-                                            <-Reducer 39 [SIMPLE_EDGE]
-                                              SHUFFLE [RS_137]
-                                                PartitionCols:_col1
-                                                Merge Join Operator [MERGEJOIN_358] (rows=633595212 width=88)
-                                                  Conds:RS_134._col0=RS_135._col0(Inner),Output:["_col1","_col3"]
-                                                <-Map 38 [SIMPLE_EDGE]
-                                                  SHUFFLE [RS_134]
-                                                    PartitionCols:_col0
-                                                    Select Operator [SEL_127] (rows=575995635 width=88)
-                                                      Output:["_col0","_col1"]
-                                                      Filter Operator [FIL_336] (rows=575995635 width=88)
-                                                        predicate:(ss_sold_date_sk is not null and ss_item_sk is not null)
-                                                        TableScan [TS_125] (rows=575995635 width=88)
-                                                          default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk"]
-                                                <-Map 42 [SIMPLE_EDGE]
-                                                  SHUFFLE [RS_135]
-                                                    PartitionCols:_col0
-                                                    Select Operator [SEL_130] (rows=36525 width=1119)
-                                                      Output:["_col0","_col1"]
-                                                      Filter Operator [FIL_337] (rows=36525 width=1119)
-                                                        predicate:((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null)
-                                                        TableScan [TS_128] (rows=73049 width=1119)
-                                                          default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_date","d_year"]
-                    <-Reducer 49 [SIMPLE_EDGE]
+                    <-Reducer 30 [SIMPLE_EDGE]
                       SHUFFLE [RS_235]
                         PartitionCols:_col0
                         Select Operator [SEL_227] (rows=105599202 width=321)
@@ -249,21 +167,21 @@ Stage-0
                             predicate:(_col3 > (0.95 * _col1))
                             Merge Join Operator [MERGEJOIN_369] (rows=316797606 width=321)
                               Conds:(Inner),(Inner),Output:["_col1","_col2","_col3"]
-                            <-Reducer 48 [CUSTOM_SIMPLE_EDGE]
+                            <-Reducer 29 [CUSTOM_SIMPLE_EDGE]
                               PARTITION_ONLY_SHUFFLE [RS_222]
                                 Select Operator [SEL_180] (rows=1 width=8)
                                   Filter Operator [FIL_179] (rows=1 width=8)
                                     predicate:(sq_count_check(_col0) <= 1)
                                     Group By Operator [GBY_177] (rows=1 width=8)
                                       Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                                    <-Reducer 47 [CUSTOM_SIMPLE_EDGE]
+                                    <-Reducer 28 [CUSTOM_SIMPLE_EDGE]
                                       PARTITION_ONLY_SHUFFLE [RS_176]
                                         Group By Operator [GBY_175] (rows=1 width=8)
                                           Output:["_col0"],aggregations:["count()"]
                                           Select Operator [SEL_172] (rows=348477374 width=88)
                                             Group By Operator [GBY_171] (rows=348477374 width=88)
                                               Output:["_col0"],keys:KEY._col0
-                                            <-Reducer 46 [SIMPLE_EDGE]
+                                            <-Reducer 27 [SIMPLE_EDGE]
                                               SHUFFLE [RS_170]
                                                 PartitionCols:_col0
                                                 Group By Operator [GBY_169] (rows=696954748 width=88)
@@ -272,43 +190,43 @@ Stage-0
                                                     Output:["_col0"]
                                                     Merge Join Operator [MERGEJOIN_361] (rows=696954748 width=88)
                                                       Conds:RS_164._col1=RS_165._col0(Inner),Output:["_col6"]
-                                                    <-Map 51 [SIMPLE_EDGE]
+                                                    <-Map 40 [SIMPLE_EDGE]
                                                       SHUFFLE [RS_165]
                                                         PartitionCols:_col0
                                                         Select Operator [SEL_160] (rows=80000000 width=860)
                                                           Output:["_col0"]
                                                           Filter Operator [FIL_341] (rows=80000000 width=860)
                                                             predicate:c_customer_sk is not null
-                                                            TableScan [TS_158] (rows=80000000 width=860)
+                                                            TableScan [TS_39] (rows=80000000 width=860)
                                                               default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk"]
-                                                    <-Reducer 45 [SIMPLE_EDGE]
+                                                    <-Reducer 26 [SIMPLE_EDGE]
                                                       SHUFFLE [RS_164]
                                                         PartitionCols:_col1
                                                         Merge Join Operator [MERGEJOIN_360] (rows=633595212 width=88)
                                                           Conds:RS_161._col0=RS_162._col0(Inner),Output:["_col1"]
-                                                        <-Map 44 [SIMPLE_EDGE]
-                                                          SHUFFLE [RS_161]
-                                                            PartitionCols:_col0
-                                                            Select Operator [SEL_154] (rows=575995635 width=88)
-                                                              Output:["_col0","_col1"]
-                                                              Filter Operator [FIL_339] (rows=575995635 width=88)
-                                                                predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null)
-                                                                TableScan [TS_152] (rows=575995635 width=88)
-                                                                  default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_customer_sk"]
-                                                        <-Map 50 [SIMPLE_EDGE]
+                                                        <-Map 31 [SIMPLE_EDGE]
                                                           SHUFFLE [RS_162]
                                                             PartitionCols:_col0
                                                             Select Operator [SEL_157] (rows=36525 width=1119)
                                                               Output:["_col0"]
                                                               Filter Operator [FIL_340] (rows=36525 width=1119)
                                                                 predicate:((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null)
-                                                                TableScan [TS_155] (rows=73049 width=1119)
+                                                                TableScan [TS_36] (rows=73049 width=1119)
                                                                   default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
-                            <-Reducer 56 [CUSTOM_SIMPLE_EDGE]
+                                                        <-Map 20 [SIMPLE_EDGE]
+                                                          SHUFFLE [RS_161]
+                                                            PartitionCols:_col0
+                                                            Select Operator [SEL_154] (rows=575995635 width=88)
+                                                              Output:["_col0","_col1"]
+                                                              Filter Operator [FIL_339] (rows=575995635 width=88)
+                                                                predicate:(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"]
+                            <-Reducer 39 [CUSTOM_SIMPLE_EDGE]
                               PARTITION_ONLY_SHUFFLE [RS_223]
                                 Group By Operator [GBY_205] (rows=1 width=224)
                                   Output:["_col0"],aggregations:["max(VALUE._col0)"]
-                                <-Reducer 55 [CUSTOM_SIMPLE_EDGE]
+                                <-Reducer 38 [CUSTOM_SIMPLE_EDGE]
                                   PARTITION_ONLY_SHUFFLE [RS_204]
                                     Group By Operator [GBY_203] (rows=1 width=224)
                                       Output:["_col0"],aggregations:["max(_col1)"]
@@ -316,7 +234,7 @@ Stage-0
                                         Output:["_col1"]
                                         Group By Operator [GBY_200] (rows=348477374 width=88)
                                           Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                                        <-Reducer 54 [SIMPLE_EDGE]
+                                        <-Reducer 37 [SIMPLE_EDGE]
                                           SHUFFLE [RS_199]
                                             PartitionCols:_col0
                                             Group By Operator [GBY_198] (rows=696954748 width=88)
@@ -325,43 +243,41 @@ Stage-0
                                                 Output:["_col0","_col1"]
                                                 Merge Join Operator [MERGEJOIN_363] (rows=696954748 width=88)
                                                   Conds:RS_193._col1=RS_194._col0(Inner),Output:["_col2","_col3","_col6"]
-                                                <-Map 58 [SIMPLE_EDGE]
+                                                <-Map 40 [SIMPLE_EDGE]
                                                   SHUFFLE [RS_194]
                                                     PartitionCols:_col0
                                                     Select Operator [SEL_189] (rows=80000000 width=860)
                                                       Output:["_col0"]
                                                       Filter Operator [FIL_344] (rows=80000000 width=860)
                                                         predicate:c_customer_sk is not null
-                                                        TableScan [TS_187] (rows=80000000 width=860)
-                                                          default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk"]
-                                                <-Reducer 53 [SIMPLE_EDGE]
+                                                         Please refer to the previous TableScan [TS_39]
+                                                <-Reducer 36 [SIMPLE_EDGE]
                                                   SHUFFLE [RS_193]
                                                     PartitionCols:_col1
                                                     Merge Join Operator [MERGEJOIN_362] (rows=633595212 width=88)
                                                       Conds:RS_190._col0=RS_191._col0(Inner),Output:["_col1","_col2","_col3"]
-                                                    <-Map 52 [SIMPLE_EDGE]
+                                                    <-Map 31 [SIMPLE_EDGE]
+                                                      SHUFFLE [RS_191]
+                                                        PartitionCols:_col0
+                                                        Select Operator [SEL_186] (rows=36525 width=1119)
+                                                          Output:["_col0"]
+                                                          Filter Operator [FIL_343] (rows=36525 width=1119)
+                                                            predicate:((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null)
+                                                             Please refer to the previous TableScan [TS_36]
+                                                    <-Map 45 [SIMPLE_EDGE]
                                                       SHUFFLE [RS_190]
                                                         PartitionCols:_col0
                                                         Select Operator [SEL_183] (rows=575995635 width=88)
                                                           Output:["_col0","_col1","_col2","_col3"]
                                                           Filter Operator [FIL_342] (rows=575995635 width=88)
                                                             predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null)
-                                                            TableScan [TS_181] (rows=575995635 width=88)
+                                                            TableScan [TS_62] (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"]
-                                                    <-Map 57 [SIMPLE_EDGE]
-                                                      SHUFFLE [RS_191]
-                                                        PartitionCols:_col0
-                                                        Select Operator [SEL_186] (rows=36525 width=1119)
-                                                          Output:["_col0"]
-                                                          Filter Operator [FIL_343] (rows=36525 width=1119)
-                                                            predicate:((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null)
-                                                            TableScan [TS_184] (rows=73049 width=1119)
-                                                              default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
-                            <-Reducer 61 [CUSTOM_SIMPLE_EDGE]
+                            <-Reducer 44 [CUSTOM_SIMPLE_EDGE]
                               PARTITION_ONLY_SHUFFLE [RS_224]
                                 Group By Operator [GBY_220] (rows=316797606 width=88)
                                   Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                                <-Reducer 60 [SIMPLE_EDGE]
+                                <-Reducer 43 [SIMPLE_EDGE]
                                   SHUFFLE [RS_219]
                                     PartitionCols:_col0
                                     Group By Operator [GBY_218] (rows=633595212 width=88)
@@ -370,24 +286,105 @@ Stage-0
                                         Output:["_col0","_col1"]
                                         Merge Join Operator [MERGEJOIN_364] (rows=633595212 width=88)
                                           Conds:RS_213._col0=RS_214._col0(Inner),Output:["_col1","_col2","_col3"]
-                                        <-Map 59 [SIMPLE_EDGE]
+                                        <-Map 40 [SIMPLE_EDGE]
+                                          SHUFFLE [RS_214]
+                                            PartitionCols:_col0
+                                            Select Operator [SEL_212] (rows=80000000 width=860)
+                                              Output:["_col0"]
+                                              Filter Operator [FIL_346] (rows=80000000 width=860)
+                                                predicate:c_customer_sk is not null
+                                                 Please refer to the previous TableScan [TS_39]
+                                        <-Map 46 [SIMPLE_EDGE]
                                           SHUFFLE [RS_213]
                                             PartitionCols:_col0
                                             Select Operator [SEL_209] (rows=575995635 width=88)
                                               Output:["_col0","_col1","_col2"]
                                               Filter Operator [FIL_345] (rows=575995635 width=88)
                                                 predicate:ss_customer_sk is not null
-                                                TableScan [TS_207] (rows=575995635 width=88)
+                                                TableScan [TS_88] (rows=575995635 width=88)
                                                   default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_customer_sk","ss_quantity","ss_sales_price"]
-                                        <-Map 62 [SIMPLE_EDGE]
-                                          SHUFFLE [RS_214]
-                                            PartitionCols:_col0
-                                            Select Operator [SEL_212] (rows=80000000 width=860)
-                                              Output:["_col0"]
-                                              Filter Operator [FIL_346] (rows=80000000 width=860)
-                                                predicate:c_customer_sk is not null
-                                                TableScan [TS_210] (rows=80000000 width=860)
-                                                  default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk"]
+                    <-Reducer 9 [SIMPLE_EDGE]
+                      SHUFFLE [RS_234]
+                        PartitionCols:_col2
+                        Merge Join Operator [MERGEJOIN_366] (rows=174243235 width=135)
+                          Conds:RS_231._col1=RS_232._col0(Inner),Output:["_col2","_col3","_col4"]
+                        <-Reducer 17 [SIMPLE_EDGE]
+                          SHUFFLE [RS_232]
+                            PartitionCols:_col0
+                            Group By Operator [GBY_150] (rows=58079562 width=88)
+                              Output:["_col0"],keys:_col1
+                              Select Operator [SEL_146] (rows=116159124 width=88)
+                                Output:["_col1"]
+                                Filter Operator [FIL_145] (rows=116159124 width=88)
+                                  predicate:(_col3 > 4)
+                                  Select Operator [SEL_348] (rows=348477374 width=88)
+                                    Output:["_col0","_col3"]
+                                    Group By Operator [GBY_144] (rows=348477374 width=88)
+                                      Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
+                                    <-Reducer 16 [SIMPLE_EDGE]
+                                      SHUFFLE [RS_143]
+                                        PartitionCols:_col0
+                                        Group By Operator [GBY_142] (rows=696954748 width=88)
+                                          Output:["_col0","_col1","_col2","_col3"],aggregations:["count()"],keys:_col1, _col0, _col2
+                                          Select Operator [SEL_140] (rows=696954748 width=88)
+                                            Output:["_col0","_col1","_col2"]
+                                            Merge Join Operator [MERGEJOIN_359] (rows=696954748 width=88)
+                                              Conds:RS_137._col1=RS_138._col0(Inner),Output:["_col3","_col5","_col6"]
+                                            <-Map 19 [SIMPLE_EDGE]
+                                              SHUFFLE [RS_138]
+                                                PartitionCols:_col0
+                                                Select Operator [SEL_133] (rows=462000 width=1436)
+                                                  Output:["_col0","_col1"]
+                                                  Filter Operator [FIL_338] (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 15 [SIMPLE_EDGE]
+                                              SHUFFLE [RS_137]
+                                                PartitionCols:_col1
+                                                Merge Join Operator [MERGEJOIN_358] (rows=633595212 width=88)
+                                                  Conds:RS_134._col0=RS_135._col0(Inner),Output:["_col1","_col3"]
+                                                <-Map 11 [SIMPLE_EDGE]
+                                                  SHUFFLE [RS_134]
+                                                    PartitionCols:_col0
+                                                    Select Operator [SEL_127] (rows=575995635 width=88)
+                                                      Output:["_col0","_col1"]
+                                                      Filter Operator [FIL_336] (rows=575995635 width=88)
+                                                        predicate:(ss_sold_date_sk is not null and ss_item_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"]
+                                                <-Map 18 [SIMPLE_EDGE]
+                                                  SHUFFLE [RS_135]
+                                                    PartitionCols:_col0
+                                                    Select Operator [SEL_130] (rows=36525 width=1119)
+                                                      Output:["_col0","_col1"]
+                                                      Filter Operator [FIL_337] (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"]
+                        <-Reducer 8 [SIMPLE_EDGE]
+                          SHUFFLE [RS_231]
+                            PartitionCols:_col1
+                            Merge Join Operator [MERGEJOIN_357] (rows=158402938 width=135)
+                              Conds:RS_228._col0=RS_229._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                            <-Map 7 [SIMPLE_EDGE]
+                              SHUFFLE [RS_229]
+                                PartitionCols:_col0
+                                Select Operator [SEL_124] (rows=18262 width=1119)
+                                  Output:["_col0"]
+                                  Filter Operator [FIL_335] (rows=18262 width=1119)
+                                    predicate:((d_year = 1999) and (d_moy = 1) 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 47 [SIMPLE_EDGE]
+                              SHUFFLE [RS_228]
+                                PartitionCols:_col0
+                                Select Operator [SEL_121] (rows=144002668 width=135)
+                                  Output:["_col0","_col1","_col2","_col3","_col4"]
+                                  Filter Operator [FIL_334] (rows=144002668 width=135)
+                                    predicate:(ws_item_sk is not null and ws_bill_customer_sk is not null and ws_sold_date_sk is not null)
+                                    TableScan [TS_119] (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 4 [CONTAINS]
               Reduce Output Operator [RS_242]
                 Group By Operator [GBY_241] (rows=1 width=112)
@@ -396,7 +393,7 @@ Stage-0
                     Output:["_col0"]
                     Merge Join Operator [MERGEJOIN_368] (rows=383314495 width=135)
                       Conds:RS_115._col1=RS_116._col0(Inner),Output:["_col3","_col4"]
-                    <-Reducer 19 [SIMPLE_EDGE]
+                    <-Reducer 25 [SIMPLE_EDGE]
                       SHUFFLE [RS_116]
                         PartitionCols:_col0
                         Select Operator [SEL_108] (rows=105599202 width=321)
@@ -405,21 +402,21 @@ Stage-0
                             predicate:(_col3 > (0.95 * _col1))
                             Merge Join Operator [MERGEJOIN_367] (rows=316797606 width=321)
                               Conds:(Inner),(Inner),Output:["_col1","_col2","_col3"]
-                            <-Reducer 18 [CUSTOM_SIMPLE_EDGE]
+                            <-Reducer 24 [CUSTOM_SIMPLE_EDGE]
                               PARTITION_ONLY_SHUFFLE [RS_103]
                                 Select Operator [SEL_61] (rows=1 width=8)
                                   Filter Operator [FIL_60] (rows=1 width=8)
                                     predicate:(sq_count_check(_col0) <= 1)
                                     Group By Operator [GBY_58] (rows=1 width=8)
                                       Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                                    <-Reducer 17 [CUSTOM_SIMPLE_EDGE]
+                                    <-Reducer 23 [CUSTOM_SIMPLE_EDGE]
                                       PARTITION_ONLY_SHUFFLE [RS_57]
                                         Group By Operator [GBY_56] (rows=1 width=8)
                                           Output:["_col0"],aggregations:["count()"]
                                           Select Operator [SEL_53] (rows=348477374 width=88)
                                             Group By Operator [GBY_52] (rows=348477374 width=88)
                                               Output:["_col0"],keys:KEY._col0
-                                            <-Reducer 16 [SIMPLE_EDGE]
+                                            <-Reducer 22 [SIMPLE_EDGE]
                                               SHUFFLE [RS_51]
                                                 PartitionCols:_col0
                                                 Group By Operator [GBY_50] (rows=696954748 width=88)
@@ -428,43 +425,40 @@ Stage-0
                                                     Output:["_col0"]
                                                     Merge Join Operator [MERGEJOIN_353] (rows=696954748 width=88)
                                                       Conds:RS_45._col1=RS_46._col0(Inner),Output:["_col6"]
-                                                    <-Map 21 [SIMPLE_EDGE]
+                                                    <-Map 40 [SIMPLE_EDGE]
                                                       SHUFFLE [RS_46]
                                                         PartitionCols:_col0
                                                         Select Operator [SEL_41] (rows=80000000 width=860)
                                                           Output:["_col0"]
                                                           Filter Operator [FIL_328] (rows=80000000 width=860)
                                                             predicate:c_customer_sk is not null
-                                                            TableScan [TS_39] (rows=80000000 width=860)
-                                                              default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk"]
-                                                    <-Reducer 15 [SIMPLE_EDGE]
+                                                             Please refer to the previous TableScan [TS_39]
+                                                    <-Reducer 21 [SIMPLE_EDGE]
                                                       SHUFFLE [RS_45]
                                                         PartitionCols:_col1
                                                         Merge Join Operator [MERGEJOIN_352] (rows=633595212 width=88)
                                                           Conds:RS_42._col0=RS_43._col0(Inner),Output:["_col1"]
-                                                        <-Map 14 [SIMPLE_EDGE]
-                                                          SHUFFLE [RS_42]
-                                                            PartitionCols:_col0
-                                                            Select Operator [SEL_35] (rows=575995635 width=88)
-                                                              Output:["_col0","_col1"]
-                                                              Filter Operator [FIL_326] (rows=575995635 width=88)
-                                                                predicate:(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"]
-                                                        <-Map 20 [SIMPLE_EDGE]
+                                                        <-Map 31 [SIMPLE_EDGE]
                                                           SHUFFLE [RS_43]
                                                             PartitionCols:_col0
                                                             Select Operator [SEL_38] (rows=36525 width=1119)
                                                               Output:["_col0"]
                                                               Filter Operator [FIL_327] (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"]
-                            <-Reducer 26 [CUSTOM_SIMPLE_EDGE]
+                                                                 Please refer to the previous TableScan [TS_36]
+                                                        <-Map 20 [SIMPLE_EDGE]
+                                                          SHUFFLE [RS_42]
+                                                            PartitionCols:_col0
+                                                            Select Operator [SEL_35] (rows=575995635 width=88)
+                                                              Output:["_col0","_col1"]
+                                                              Filter Operator [FIL_326] (rows=575995635 width=88)
+                                                                predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null)
+                                                                 Please refer to the previous TableScan [TS_33]
+                            <-Reducer 35 [CUSTOM_SIMPLE_EDGE]
                               PARTITION_ONLY_SHUFFLE [RS_104]
                                 Group By Operator [GBY_86] (rows=1 width=224)
                                   Output:["_col0"],aggregations:["max(VALUE._col0)"]
-                                <-Reducer 25 [CUSTOM_SIMPLE_EDGE]
+                                <-Reducer 34 [CUSTOM_SIMPLE_EDGE]
                                   PARTITION_ONLY_SHUFFLE [RS_85]
                                     Group By Operator [GBY_84] (rows=1 width=224)
                                       Output:["_col0"],aggregations:["max(_col1)"]
@@ -472,7 +466,7 @@ Stage-0
                                         Output:["_col1"]
                                         Group By Operator [GBY_81] (rows=348477374 width=88)
                                           Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                                        <-Reducer 24 [SIMPLE_EDGE]
+                                        <-Reducer 33 [SIMPLE_EDGE]
                                           SHUFFLE [RS_80]
                                             PartitionCols:_col0
                                             Group By Operator [GBY_79] (rows=696954748 width=88)
@@ -481,43 +475,40 @@ Stage-0
                                                 Output:["_col0","_col1"]
                                                 Merge Join Operator [MERGEJOIN_355] (rows=696954748 width=88)
                                                   Conds:RS_74._col1=RS_75._col0(Inner),Output:["_col2","_col3","_col6"]
-                                                <-Map 28 [SIMPLE_EDGE]
+                                                <-Map 40 [SIMPLE_EDGE]
                                                   SHUFFLE [RS_75]
                                                     PartitionCols:_col0
                                                     Select Operator [SEL_70] (rows=80000000 width=860)
                                                       Output:["_col0"]
                                                       Filter Operator [FIL_331] (rows=80000000 width=860)
                                                         predicate:c_customer_sk is not null
-                                                        TableScan [TS_68] (rows=80000000 width=860)
-                                                          default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk"]
-                                                <-Reducer 23 [SIMPLE_EDGE]
+                                                         Please refer to the previous TableScan [TS_39]
+                                                <-Reducer 32 [SIMPLE_EDGE]
                                                   SHUFFLE [RS_74]
                                                     PartitionCols:_col1
                                                     Merge Join Operator [MERGEJOIN_354] (rows=633595212 width=88)
                                                       Conds:RS_71._col0=RS_72._col0(Inner),Output:["_col1","_col2","_col3"]
-                                                    <-Map 22 [SIMPLE_EDGE]
-                                                      SHUFFLE [RS_71]
-                                                        PartitionCols:_col0
-                                                        Select Operator [SEL_64] (rows=575995635 width=88)
-                                                          Output:["_col0","_col1","_col2","_col3"]
-                                                          Filter Operator [FIL_329] (rows=575995635 width=88)
-                                                            predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null)
-                                                            TableScan [TS_62] (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"]
-                                                    <-Map 27 [SIMPLE_EDGE]
+                                                    <-Map 31 [SIMPLE_EDGE]
                                                       SHUFFLE [RS_72]
                                                         PartitionCols:_col0
                                                         Select Operator [SEL_67] (rows=36525 width=1119)
                                                           Output:["_col0"]
                                                           Filter Operator [FIL_330] (rows=36525 width=1119)
                                                             predicate:((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null)
-                                                            TableScan [TS_65] (rows=73049 width=1119)
-                                                              default@date_dim,date_dim,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year"]
-                            <-Reducer 31 [CUSTOM_SIMPLE_EDGE]
+                                                             Please refer to the previous TableScan [TS_36]
+                                                    <-Map 45 [SIMPLE_EDGE]
+                                                      SHUFFLE [RS_71]
+                                                        PartitionCols:_col0
+                                                        Select Operator [SEL_64] (rows=575995635 width=88)
+                                                          Output:["_col0","_col1","_col2","_col3"]
+                                                          Filter Operator [FIL_329] (rows=575995635 width=88)
+                                                            predicate:(ss_customer_sk is not null and ss_sold_date_sk is not null)
+                                                             Please refer to the previous TableScan [TS_62]
+                            <-Reducer 42 [CUSTOM_SIMPLE_EDGE]
                               PARTITION_ONLY_SHUFFLE [RS_105]
                                 Group By Operator [GBY_101] (rows=316797606 width=88)
                                   Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                                <-Reducer 30 [SIMPLE_EDGE]
+                                <-Reducer 41 [SIMPLE_EDGE]
                                   SHUFFLE [RS_100]
                                     PartitionCols:_col0
                                     Group By Operator [GBY_99] (rows=633595212 width=88)
@@ -526,30 +517,28 @@ Stage-0
                                         Output:["_col0","_col1"]
                                         Merge Join Operator [MERGEJOIN_356] (rows=633595212 width=88)
                                           Conds:RS_94._col0=RS_95._col0(Inner),Output:["_col1","_col2","_col3"]
-                                        <-Map 29 [SIMPLE_EDGE]
-                                          SHUFFLE [RS_94]
-                                            PartitionCols:_col0
-                                            Select Operator [SEL_90] (rows=575995635 width=88)
-                                              Output:["_col0","_col1","_col2"]
-                                              Filter Operator [FIL_332] (rows=575995635 width=88)
-                                                predicate:ss_customer_sk is not null
-                                                TableScan [TS_88] (rows=575995635 width=88)
-                                                  default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_customer_sk","ss_quantity","ss_sales_price"]
-                                        <-Map 32 [SIMPLE_EDGE]
+                                        <-Map 40 [SIMPLE_EDGE]
                                           SHUFFLE [RS_95]
                                             PartitionCols:_col0
                                             Select Operator [SEL_93] (rows=80000000 width=860)
                                               Output:["_col0"]
                                               Filter Operator [FIL_333] (rows=80000000 width=860)
                                                 predicate:c_customer_sk is not null
-                                                TableScan [TS_91] (rows=80000000 width=860)
-                                                  default@customer,customer,Tbl:COMPLETE,Col:NONE,Output:["c_customer_sk"]
+                                                 Please refer to the previous TableScan [TS_39]
+                                        <-Map 46 [SIMPLE_EDGE]
+                                          SHUFFLE [RS_94]
+                                            PartitionCols:_col0
+                                            Select Operator [SEL_90] (rows=575995635 width=88)
+                                              Output:["_col0","_col1","_col2"]
+                                              Filter Operator [FIL_332] (rows=575995635 width=88)
+                                                predicate:ss_customer_sk is not null
+                                                 Please refer to the previous TableScan [TS_88]
                     <-Reducer 3 [SIMPLE_EDGE]
                       SHUFFLE [RS_115]
                         PartitionCols:_col1
                         Merge Join Operator [MERGEJOIN_365] (rows=348467716 width=135)
                           Conds:RS_112._col2=RS_113._col0(Inner),Output:["_col1","_col3","_col4"]
-                        <-Reducer 11 [SIMPLE_EDGE]
+                        <-Reducer 14 [SIMPLE_EDGE]
                           SHUFFLE [RS_113]
                             PartitionCols:_col0
                             Group By Operator [GBY_31] (rows=58079562 width=88)
@@ -562,7 +551,7 @@ Stage-0
                                     Output:["_col0","_col3"]
                                     Group By Operator [GBY_25] (rows=348477374 width=88)
                                       Output:["_col0","_col1","_col2","_col3"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
-                                    <-Reducer 10 [SIMPLE_EDGE]
+                                    <-Reducer 13 [SIMPLE_EDGE]
                                       SHUFFLE [RS_24]
                                         PartitionCols:_col0
                                         Group By Operator [GBY_23] (rows=696954748 width=88)
@@ -571,43 +560,48 @@ Stage-0
                                             Output:["_col0","_col1","_col2"]
                                             Merge Join Operator [MERGEJOIN_351] (rows=696954748 width=88)
                                               Conds:RS_18._col1=RS_19._col0(Inner),Output:["_col3","_col5","_col6"]
-                                            <-Map 13 [SIMPLE_EDGE]
+                                            <-Map 19 [SIMPLE_EDGE]
                                               SHUFFLE [RS_19]
                                                 PartitionCols:_col0
                                                 Select Operator [SEL_14] (rows=462000 width=1436)
                                                   Output:["_col0","_col1"]
                                                   Filter Operator [FIL_325] (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 9 [SIMPLE_EDGE]
+                                                     Please refer to the previous TableScan [TS_12]
+                                            <-Reducer 12 [SIMPLE_EDGE]
                                               SHUFFLE [RS_18]
                                                 PartitionCols:_col1
                                                 Merge Join Operator [MERGEJOIN_350] (rows=633595212 width=88)
                                                   Conds:RS_15._col0=RS_16._col0(Inner),Output:["_col1","_col3"]
-                                                <-Map 12 [SIMPLE_EDGE]
-                                                  SHUFFLE [RS_16]
-                                                    PartitionCols:_col0
-                                                    Select Operator [SEL_11] (rows=36525 width=1119)
-                                                      Output:["_col0","_col1"]
-                                                      Filter Operator [FIL_324] (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 8 [SIMPLE_EDGE]
+                                                <-Map 11 [SIMPLE_EDGE]
                                                   SHUFFLE [RS_15]
                                                     PartitionCols:_col0
                                                     Select Operator [SEL_8] (rows=575995635 width=88)
                                                       Output:["_col0","_col1"]
                                                       Filter Operator [FIL_323] (rows=575995635 width=88)
                                                         predicate:(ss_sold_date_sk is not null and ss_item_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"]
+                                                         Please refer to the previous TableScan [TS_6]
+                                                <-Map 18 [SIMPLE_EDGE]
+                                                  SHUFFLE [RS_16]
+                                                    PartitionCols:_col0
+                                                    Select Operator [SEL_11] (rows=36525 width=1119)
+                                                      Output:["_col0","_col1"]
+                                                      Filter Operator [FIL_324] (rows=36525 width=1119)
+                                                        predicate:((d_year) IN (1999, 2000, 2001, 2002) and d_date_sk is not null)
+                                                         Please refer to the previous TableScan [TS_9]
                         <-Reducer 2 [SIMPLE_EDGE]
                           SHUFFLE [RS_112]
                             PartitionCols:_col2
                             Merge Join Operator [MERGEJOIN_349] (rows=316788826 width=135)
                               Conds:RS_109._col0=RS_110._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                            <-Map 7 [SIMPLE_EDGE]
+                              SHUFFLE [RS_110]
+                                PartitionCols:_col0
+                                Select Operator [SEL_5] (rows=18262 width=1119)
+                                  Output:["_col0"]
+                                  Filter Operator [FIL_322] (rows=18262 width=1119)
+                                    predicate:((d_year = 1999) and (d_moy = 1) and d_date_sk is not null)
+                                     Please refer to the previous TableScan [TS_3]
                             <-Map 1 [SIMPLE_EDGE]
                               SHUFFLE [RS_109]
                                 PartitionCols:_col0
@@ -617,13 +611,4 @@ Stage-0
                                     predicate:(cs_item_sk is not null and cs_bill_customer_sk is not null and cs_sold_date_sk is not null)
                                     TableScan [TS_0] (rows=287989836 width=135)
                                       default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_quantity","cs_list_price"]
-                            <-Map 7 [SIMPLE_EDGE]
-                              SHUFFLE [RS_110]
-                                PartitionCols:_col0
-                                Select Operator [SEL_5] (rows=18262 width=1119)
-                                  Output:["_col0"]
-                                  Filter Operator [FIL_322] (rows=18262 width=1119)
-                                    predicate:((d_year = 1999) and (d_moy = 1) 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"]