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:36 UTC

[02/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/query88.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query88.q.out b/ql/src/test/results/clientpositive/perf/query88.q.out
index fcb4042..f7af4ef 100644
--- a/ql/src/test/results/clientpositive/perf/query88.q.out
+++ b/ql/src/test/results/clientpositive/perf/query88.q.out
@@ -186,39 +186,39 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 11 <- Map 10 (SIMPLE_EDGE), Map 15 (SIMPLE_EDGE)
-Reducer 12 <- Map 16 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
-Reducer 13 <- Map 17 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
+Reducer 10 <- Reducer 9 (CUSTOM_SIMPLE_EDGE)
+Reducer 11 <- Map 1 (SIMPLE_EDGE), Map 35 (SIMPLE_EDGE)
+Reducer 12 <- Map 36 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
+Reducer 13 <- Map 37 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
 Reducer 14 <- Reducer 13 (CUSTOM_SIMPLE_EDGE)
-Reducer 19 <- Map 18 (SIMPLE_EDGE), Map 23 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 20 <- Map 24 (SIMPLE_EDGE), Reducer 19 (SIMPLE_EDGE)
-Reducer 21 <- Map 25 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE)
+Reducer 15 <- Map 1 (SIMPLE_EDGE), Map 35 (SIMPLE_EDGE)
+Reducer 16 <- Map 36 (SIMPLE_EDGE), Reducer 15 (SIMPLE_EDGE)
+Reducer 17 <- Map 37 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE)
+Reducer 18 <- Reducer 17 (CUSTOM_SIMPLE_EDGE)
+Reducer 19 <- Map 1 (SIMPLE_EDGE), Map 35 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 35 (SIMPLE_EDGE)
+Reducer 20 <- Map 36 (SIMPLE_EDGE), Reducer 19 (SIMPLE_EDGE)
+Reducer 21 <- Map 37 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE)
 Reducer 22 <- Reducer 21 (CUSTOM_SIMPLE_EDGE)
-Reducer 27 <- Map 26 (SIMPLE_EDGE), Map 31 (SIMPLE_EDGE)
-Reducer 28 <- Map 32 (SIMPLE_EDGE), Reducer 27 (SIMPLE_EDGE)
-Reducer 29 <- Map 33 (SIMPLE_EDGE), Reducer 28 (SIMPLE_EDGE)
-Reducer 3 <- Map 8 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 23 <- Map 1 (SIMPLE_EDGE), Map 35 (SIMPLE_EDGE)
+Reducer 24 <- Map 36 (SIMPLE_EDGE), Reducer 23 (SIMPLE_EDGE)
+Reducer 25 <- Map 37 (SIMPLE_EDGE), Reducer 24 (SIMPLE_EDGE)
+Reducer 26 <- Reducer 25 (CUSTOM_SIMPLE_EDGE)
+Reducer 27 <- Map 1 (SIMPLE_EDGE), Map 35 (SIMPLE_EDGE)
+Reducer 28 <- Map 36 (SIMPLE_EDGE), Reducer 27 (SIMPLE_EDGE)
+Reducer 29 <- Map 37 (SIMPLE_EDGE), Reducer 28 (SIMPLE_EDGE)
+Reducer 3 <- Map 36 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
 Reducer 30 <- Reducer 29 (CUSTOM_SIMPLE_EDGE)
-Reducer 35 <- Map 34 (SIMPLE_EDGE), Map 39 (SIMPLE_EDGE)
-Reducer 36 <- Map 40 (SIMPLE_EDGE), Reducer 35 (SIMPLE_EDGE)
-Reducer 37 <- Map 41 (SIMPLE_EDGE), Reducer 36 (SIMPLE_EDGE)
-Reducer 38 <- Reducer 37 (CUSTOM_SIMPLE_EDGE)
-Reducer 4 <- Map 9 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 43 <- Map 42 (SIMPLE_EDGE), Map 47 (SIMPLE_EDGE)
-Reducer 44 <- Map 48 (SIMPLE_EDGE), Reducer 43 (SIMPLE_EDGE)
-Reducer 45 <- Map 49 (SIMPLE_EDGE), Reducer 44 (SIMPLE_EDGE)
-Reducer 46 <- Reducer 45 (CUSTOM_SIMPLE_EDGE)
+Reducer 31 <- Map 1 (SIMPLE_EDGE), Map 35 (SIMPLE_EDGE)
+Reducer 32 <- Map 36 (SIMPLE_EDGE), Reducer 31 (SIMPLE_EDGE)
+Reducer 33 <- Map 37 (SIMPLE_EDGE), Reducer 32 (SIMPLE_EDGE)
+Reducer 34 <- Reducer 33 (CUSTOM_SIMPLE_EDGE)
+Reducer 4 <- Map 37 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (CUSTOM_SIMPLE_EDGE)
-Reducer 51 <- Map 50 (SIMPLE_EDGE), Map 55 (SIMPLE_EDGE)
-Reducer 52 <- Map 56 (SIMPLE_EDGE), Reducer 51 (SIMPLE_EDGE)
-Reducer 53 <- Map 57 (SIMPLE_EDGE), Reducer 52 (SIMPLE_EDGE)
-Reducer 54 <- Reducer 53 (CUSTOM_SIMPLE_EDGE)
-Reducer 59 <- Map 58 (SIMPLE_EDGE), Map 63 (SIMPLE_EDGE)
-Reducer 6 <- Reducer 14 (CUSTOM_SIMPLE_EDGE), Reducer 22 (CUSTOM_SIMPLE_EDGE), Reducer 30 (CUSTOM_SIMPLE_EDGE), Reducer 38 (CUSTOM_SIMPLE_EDGE), Reducer 46 (CUSTOM_SIMPLE_EDGE), Reducer 5 (CUSTOM_SIMPLE_EDGE), Reducer 54 (CUSTOM_SIMPLE_EDGE), Reducer 62 (CUSTOM_SIMPLE_EDGE)
-Reducer 60 <- Map 64 (SIMPLE_EDGE), Reducer 59 (SIMPLE_EDGE)
-Reducer 61 <- Map 65 (SIMPLE_EDGE), Reducer 60 (SIMPLE_EDGE)
-Reducer 62 <- Reducer 61 (CUSTOM_SIMPLE_EDGE)
+Reducer 6 <- Reducer 10 (CUSTOM_SIMPLE_EDGE), Reducer 14 (CUSTOM_SIMPLE_EDGE), Reducer 18 (CUSTOM_SIMPLE_EDGE), Reducer 22 (CUSTOM_SIMPLE_EDGE), Reducer 26 (CUSTOM_SIMPLE_EDGE), Reducer 30 (CUSTOM_SIMPLE_EDGE), Reducer 34 (CUSTOM_SIMPLE_EDGE), Reducer 5 (CUSTOM_SIMPLE_EDGE)
+Reducer 7 <- Map 1 (SIMPLE_EDGE), Map 35 (SIMPLE_EDGE)
+Reducer 8 <- Map 36 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE)
+Reducer 9 <- Map 37 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
@@ -230,452 +230,424 @@ Stage-0
           Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
           Merge Join Operator [MERGEJOIN_347] (rows=1 width=65)
             Conds:(Inner),(Inner),(Inner),(Inner),(Inner),(Inner),(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-          <-Reducer 14 [CUSTOM_SIMPLE_EDGE]
+          <-Reducer 10 [CUSTOM_SIMPLE_EDGE]
             PARTITION_ONLY_SHUFFLE [RS_209]
               Group By Operator [GBY_50] (rows=1 width=8)
                 Output:["_col0"],aggregations:["count(VALUE._col0)"]
-              <-Reducer 13 [CUSTOM_SIMPLE_EDGE]
+              <-Reducer 9 [CUSTOM_SIMPLE_EDGE]
                 PARTITION_ONLY_SHUFFLE [RS_49]
                   Group By Operator [GBY_48] (rows=1 width=8)
                     Output:["_col0"],aggregations:["count()"]
                     Merge Join Operator [MERGEJOIN_328] (rows=766650239 width=88)
                       Conds:RS_44._col2=RS_45._col0(Inner)
-                    <-Map 17 [SIMPLE_EDGE]
+                    <-Map 37 [SIMPLE_EDGE]
                       SHUFFLE [RS_45]
                         PartitionCols:_col0
                         Select Operator [SEL_37] (rows=852 width=1910)
                           Output:["_col0"]
                           Filter Operator [FIL_298] (rows=852 width=1910)
                             predicate:((s_store_name = 'ese') and s_store_sk is not null)
-                            TableScan [TS_35] (rows=1704 width=1910)
+                            TableScan [TS_9] (rows=1704 width=1910)
                               default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_name"]
-                    <-Reducer 12 [SIMPLE_EDGE]
+                    <-Reducer 8 [SIMPLE_EDGE]
                       SHUFFLE [RS_44]
                         PartitionCols:_col2
                         Merge Join Operator [MERGEJOIN_327] (rows=696954748 width=88)
                           Conds:RS_41._col1=RS_42._col0(Inner),Output:["_col2"]
-                        <-Map 16 [SIMPLE_EDGE]
+                        <-Map 36 [SIMPLE_EDGE]
                           SHUFFLE [RS_42]
                             PartitionCols:_col0
                             Select Operator [SEL_34] (rows=3600 width=107)
                               Output:["_col0"]
                               Filter Operator [FIL_297] (rows=3600 width=107)
                                 predicate:((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null)
-                                TableScan [TS_32] (rows=7200 width=107)
+                                TableScan [TS_6] (rows=7200 width=107)
                                   default@household_demographics,household_demographics,Tbl:COMPLETE,Col:NONE,Output:["hd_demo_sk","hd_dep_count","hd_vehicle_count"]
-                        <-Reducer 11 [SIMPLE_EDGE]
+                        <-Reducer 7 [SIMPLE_EDGE]
                           SHUFFLE [RS_41]
                             PartitionCols:_col1
                             Merge Join Operator [MERGEJOIN_326] (rows=633595212 width=88)
                               Conds:RS_38._col0=RS_39._col0(Inner),Output:["_col1","_col2"]
-                            <-Map 10 [SIMPLE_EDGE]
+                            <-Map 1 [SIMPLE_EDGE]
                               SHUFFLE [RS_38]
                                 PartitionCols:_col0
                                 Select Operator [SEL_28] (rows=575995635 width=88)
                                   Output:["_col0","_col1","_col2"]
                                   Filter Operator [FIL_295] (rows=575995635 width=88)
                                     predicate:(ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null)
-                                    TableScan [TS_26] (rows=575995635 width=88)
+                                    TableScan [TS_0] (rows=575995635 width=88)
                                       default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_time_sk","ss_hdemo_sk","ss_store_sk"]
-                            <-Map 15 [SIMPLE_EDGE]
+                            <-Map 35 [SIMPLE_EDGE]
                               SHUFFLE [RS_39]
                                 PartitionCols:_col0
                                 Select Operator [SEL_31] (rows=14400 width=471)
                                   Output:["_col0"]
                                   Filter Operator [FIL_296] (rows=14400 width=471)
                                     predicate:((t_hour = 12) and (t_minute < 30) and t_time_sk is not null)
-                                    TableScan [TS_29] (rows=86400 width=471)
+                                    TableScan [TS_3] (rows=86400 width=471)
                                       default@time_dim,time_dim,Tbl:COMPLETE,Col:NONE,Output:["t_time_sk","t_hour","t_minute"]
-          <-Reducer 22 [CUSTOM_SIMPLE_EDGE]
+          <-Reducer 14 [CUSTOM_SIMPLE_EDGE]
             PARTITION_ONLY_SHUFFLE [RS_210]
               Group By Operator [GBY_76] (rows=1 width=8)
                 Output:["_col0"],aggregations:["count(VALUE._col0)"]
-              <-Reducer 21 [CUSTOM_SIMPLE_EDGE]
+              <-Reducer 13 [CUSTOM_SIMPLE_EDGE]
                 PARTITION_ONLY_SHUFFLE [RS_75]
                   Group By Operator [GBY_74] (rows=1 width=8)
                     Output:["_col0"],aggregations:["count()"]
                     Merge Join Operator [MERGEJOIN_331] (rows=766650239 width=88)
                       Conds:RS_70._col2=RS_71._col0(Inner)
-                    <-Map 25 [SIMPLE_EDGE]
+                    <-Map 37 [SIMPLE_EDGE]
                       SHUFFLE [RS_71]
                         PartitionCols:_col0
                         Select Operator [SEL_63] (rows=852 width=1910)
                           Output:["_col0"]
                           Filter Operator [FIL_302] (rows=852 width=1910)
                             predicate:((s_store_name = 'ese') and s_store_sk is not null)
-                            TableScan [TS_61] (rows=1704 width=1910)
-                              default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_name"]
-                    <-Reducer 20 [SIMPLE_EDGE]
+                             Please refer to the previous TableScan [TS_9]
+                    <-Reducer 12 [SIMPLE_EDGE]
                       SHUFFLE [RS_70]
                         PartitionCols:_col2
                         Merge Join Operator [MERGEJOIN_330] (rows=696954748 width=88)
                           Conds:RS_67._col1=RS_68._col0(Inner),Output:["_col2"]
-                        <-Map 24 [SIMPLE_EDGE]
+                        <-Map 36 [SIMPLE_EDGE]
                           SHUFFLE [RS_68]
                             PartitionCols:_col0
                             Select Operator [SEL_60] (rows=3600 width=107)
                               Output:["_col0"]
                               Filter Operator [FIL_301] (rows=3600 width=107)
                                 predicate:((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null)
-                                TableScan [TS_58] (rows=7200 width=107)
-                                  default@household_demographics,household_demographics,Tbl:COMPLETE,Col:NONE,Output:["hd_demo_sk","hd_dep_count","hd_vehicle_count"]
-                        <-Reducer 19 [SIMPLE_EDGE]
+                                 Please refer to the previous TableScan [TS_6]
+                        <-Reducer 11 [SIMPLE_EDGE]
                           SHUFFLE [RS_67]
                             PartitionCols:_col1
                             Merge Join Operator [MERGEJOIN_329] (rows=633595212 width=88)
                               Conds:RS_64._col0=RS_65._col0(Inner),Output:["_col1","_col2"]
-                            <-Map 18 [SIMPLE_EDGE]
+                            <-Map 1 [SIMPLE_EDGE]
                               SHUFFLE [RS_64]
                                 PartitionCols:_col0
                                 Select Operator [SEL_54] (rows=575995635 width=88)
                                   Output:["_col0","_col1","_col2"]
                                   Filter Operator [FIL_299] (rows=575995635 width=88)
                                     predicate:(ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null)
-                                    TableScan [TS_52] (rows=575995635 width=88)
-                                      default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_time_sk","ss_hdemo_sk","ss_store_sk"]
-                            <-Map 23 [SIMPLE_EDGE]
+                                     Please refer to the previous TableScan [TS_0]
+                            <-Map 35 [SIMPLE_EDGE]
                               SHUFFLE [RS_65]
                                 PartitionCols:_col0
                                 Select Operator [SEL_57] (rows=14400 width=471)
                                   Output:["_col0"]
                                   Filter Operator [FIL_300] (rows=14400 width=471)
                                     predicate:((t_hour = 11) and (t_minute >= 30) and t_time_sk is not null)
-                                    TableScan [TS_55] (rows=86400 width=471)
-                                      default@time_dim,time_dim,Tbl:COMPLETE,Col:NONE,Output:["t_time_sk","t_hour","t_minute"]
-          <-Reducer 30 [CUSTOM_SIMPLE_EDGE]
+                                     Please refer to the previous TableScan [TS_3]
+          <-Reducer 18 [CUSTOM_SIMPLE_EDGE]
             PARTITION_ONLY_SHUFFLE [RS_211]
               Group By Operator [GBY_102] (rows=1 width=8)
                 Output:["_col0"],aggregations:["count(VALUE._col0)"]
-              <-Reducer 29 [CUSTOM_SIMPLE_EDGE]
+              <-Reducer 17 [CUSTOM_SIMPLE_EDGE]
                 PARTITION_ONLY_SHUFFLE [RS_101]
                   Group By Operator [GBY_100] (rows=1 width=8)
                     Output:["_col0"],aggregations:["count()"]
                     Merge Join Operator [MERGEJOIN_334] (rows=766650239 width=88)
                       Conds:RS_96._col2=RS_97._col0(Inner)
-                    <-Map 33 [SIMPLE_EDGE]
+                    <-Map 37 [SIMPLE_EDGE]
                       SHUFFLE [RS_97]
                         PartitionCols:_col0
                         Select Operator [SEL_89] (rows=852 width=1910)
                           Output:["_col0"]
                           Filter Operator [FIL_306] (rows=852 width=1910)
                             predicate:((s_store_name = 'ese') and s_store_sk is not null)
-                            TableScan [TS_87] (rows=1704 width=1910)
-                              default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_name"]
-                    <-Reducer 28 [SIMPLE_EDGE]
+                             Please refer to the previous TableScan [TS_9]
+                    <-Reducer 16 [SIMPLE_EDGE]
                       SHUFFLE [RS_96]
                         PartitionCols:_col2
                         Merge Join Operator [MERGEJOIN_333] (rows=696954748 width=88)
                           Conds:RS_93._col1=RS_94._col0(Inner),Output:["_col2"]
-                        <-Map 32 [SIMPLE_EDGE]
+                        <-Map 36 [SIMPLE_EDGE]
                           SHUFFLE [RS_94]
                             PartitionCols:_col0
                             Select Operator [SEL_86] (rows=3600 width=107)
                               Output:["_col0"]
                               Filter Operator [FIL_305] (rows=3600 width=107)
                                 predicate:((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null)
-                                TableScan [TS_84] (rows=7200 width=107)
-                                  default@household_demographics,household_demographics,Tbl:COMPLETE,Col:NONE,Output:["hd_demo_sk","hd_dep_count","hd_vehicle_count"]
-                        <-Reducer 27 [SIMPLE_EDGE]
+                                 Please refer to the previous TableScan [TS_6]
+                        <-Reducer 15 [SIMPLE_EDGE]
                           SHUFFLE [RS_93]
                             PartitionCols:_col1
                             Merge Join Operator [MERGEJOIN_332] (rows=633595212 width=88)
                               Conds:RS_90._col0=RS_91._col0(Inner),Output:["_col1","_col2"]
-                            <-Map 26 [SIMPLE_EDGE]
+                            <-Map 1 [SIMPLE_EDGE]
                               SHUFFLE [RS_90]
                                 PartitionCols:_col0
                                 Select Operator [SEL_80] (rows=575995635 width=88)
                                   Output:["_col0","_col1","_col2"]
                                   Filter Operator [FIL_303] (rows=575995635 width=88)
                                     predicate:(ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null)
-                                    TableScan [TS_78] (rows=575995635 width=88)
-                                      default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_time_sk","ss_hdemo_sk","ss_store_sk"]
-                            <-Map 31 [SIMPLE_EDGE]
+                                     Please refer to the previous TableScan [TS_0]
+                            <-Map 35 [SIMPLE_EDGE]
                               SHUFFLE [RS_91]
                                 PartitionCols:_col0
                                 Select Operator [SEL_83] (rows=14400 width=471)
                                   Output:["_col0"]
                                   Filter Operator [FIL_304] (rows=14400 width=471)
                                     predicate:((t_hour = 11) and (t_minute < 30) and t_time_sk is not null)
-                                    TableScan [TS_81] (rows=86400 width=471)
-                                      default@time_dim,time_dim,Tbl:COMPLETE,Col:NONE,Output:["t_time_sk","t_hour","t_minute"]
-          <-Reducer 38 [CUSTOM_SIMPLE_EDGE]
+                                     Please refer to the previous TableScan [TS_3]
+          <-Reducer 22 [CUSTOM_SIMPLE_EDGE]
             PARTITION_ONLY_SHUFFLE [RS_212]
               Group By Operator [GBY_128] (rows=1 width=8)
                 Output:["_col0"],aggregations:["count(VALUE._col0)"]
-              <-Reducer 37 [CUSTOM_SIMPLE_EDGE]
+              <-Reducer 21 [CUSTOM_SIMPLE_EDGE]
                 PARTITION_ONLY_SHUFFLE [RS_127]
                   Group By Operator [GBY_126] (rows=1 width=8)
                     Output:["_col0"],aggregations:["count()"]
                     Merge Join Operator [MERGEJOIN_337] (rows=766650239 width=88)
                       Conds:RS_122._col2=RS_123._col0(Inner)
-                    <-Map 41 [SIMPLE_EDGE]
+                    <-Map 37 [SIMPLE_EDGE]
                       SHUFFLE [RS_123]
                         PartitionCols:_col0
                         Select Operator [SEL_115] (rows=852 width=1910)
                           Output:["_col0"]
                           Filter Operator [FIL_310] (rows=852 width=1910)
                             predicate:((s_store_name = 'ese') and s_store_sk is not null)
-                            TableScan [TS_113] (rows=1704 width=1910)
-                              default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_name"]
-                    <-Reducer 36 [SIMPLE_EDGE]
+                             Please refer to the previous TableScan [TS_9]
+                    <-Reducer 20 [SIMPLE_EDGE]
                       SHUFFLE [RS_122]
                         PartitionCols:_col2
                         Merge Join Operator [MERGEJOIN_336] (rows=696954748 width=88)
                           Conds:RS_119._col1=RS_120._col0(Inner),Output:["_col2"]
-                        <-Map 40 [SIMPLE_EDGE]
+                        <-Map 36 [SIMPLE_EDGE]
                           SHUFFLE [RS_120]
                             PartitionCols:_col0
                             Select Operator [SEL_112] (rows=3600 width=107)
                               Output:["_col0"]
                               Filter Operator [FIL_309] (rows=3600 width=107)
                                 predicate:((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null)
-                                TableScan [TS_110] (rows=7200 width=107)
-                                  default@household_demographics,household_demographics,Tbl:COMPLETE,Col:NONE,Output:["hd_demo_sk","hd_dep_count","hd_vehicle_count"]
-                        <-Reducer 35 [SIMPLE_EDGE]
+                                 Please refer to the previous TableScan [TS_6]
+                        <-Reducer 19 [SIMPLE_EDGE]
                           SHUFFLE [RS_119]
                             PartitionCols:_col1
                             Merge Join Operator [MERGEJOIN_335] (rows=633595212 width=88)
                               Conds:RS_116._col0=RS_117._col0(Inner),Output:["_col1","_col2"]
-                            <-Map 34 [SIMPLE_EDGE]
+                            <-Map 1 [SIMPLE_EDGE]
                               SHUFFLE [RS_116]
                                 PartitionCols:_col0
                                 Select Operator [SEL_106] (rows=575995635 width=88)
                                   Output:["_col0","_col1","_col2"]
                                   Filter Operator [FIL_307] (rows=575995635 width=88)
                                     predicate:(ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null)
-                                    TableScan [TS_104] (rows=575995635 width=88)
-                                      default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_time_sk","ss_hdemo_sk","ss_store_sk"]
-                            <-Map 39 [SIMPLE_EDGE]
+                                     Please refer to the previous TableScan [TS_0]
+                            <-Map 35 [SIMPLE_EDGE]
                               SHUFFLE [RS_117]
                                 PartitionCols:_col0
                                 Select Operator [SEL_109] (rows=14400 width=471)
                                   Output:["_col0"]
                                   Filter Operator [FIL_308] (rows=14400 width=471)
                                     predicate:((t_hour = 10) and (t_minute >= 30) and t_time_sk is not null)
-                                    TableScan [TS_107] (rows=86400 width=471)
-                                      default@time_dim,time_dim,Tbl:COMPLETE,Col:NONE,Output:["t_time_sk","t_hour","t_minute"]
-          <-Reducer 46 [CUSTOM_SIMPLE_EDGE]
+                                     Please refer to the previous TableScan [TS_3]
+          <-Reducer 26 [CUSTOM_SIMPLE_EDGE]
             PARTITION_ONLY_SHUFFLE [RS_213]
               Group By Operator [GBY_154] (rows=1 width=8)
                 Output:["_col0"],aggregations:["count(VALUE._col0)"]
-              <-Reducer 45 [CUSTOM_SIMPLE_EDGE]
+              <-Reducer 25 [CUSTOM_SIMPLE_EDGE]
                 PARTITION_ONLY_SHUFFLE [RS_153]
                   Group By Operator [GBY_152] (rows=1 width=8)
                     Output:["_col0"],aggregations:["count()"]
                     Merge Join Operator [MERGEJOIN_340] (rows=766650239 width=88)
                       Conds:RS_148._col2=RS_149._col0(Inner)
-                    <-Map 49 [SIMPLE_EDGE]
+                    <-Map 37 [SIMPLE_EDGE]
                       SHUFFLE [RS_149]
                         PartitionCols:_col0
                         Select Operator [SEL_141] (rows=852 width=1910)
                           Output:["_col0"]
                           Filter Operator [FIL_314] (rows=852 width=1910)
                             predicate:((s_store_name = 'ese') and s_store_sk is not null)
-                            TableScan [TS_139] (rows=1704 width=1910)
-                              default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_name"]
-                    <-Reducer 44 [SIMPLE_EDGE]
+                             Please refer to the previous TableScan [TS_9]
+                    <-Reducer 24 [SIMPLE_EDGE]
                       SHUFFLE [RS_148]
                         PartitionCols:_col2
                         Merge Join Operator [MERGEJOIN_339] (rows=696954748 width=88)
                           Conds:RS_145._col1=RS_146._col0(Inner),Output:["_col2"]
-                        <-Map 48 [SIMPLE_EDGE]
+                        <-Map 36 [SIMPLE_EDGE]
                           SHUFFLE [RS_146]
                             PartitionCols:_col0
                             Select Operator [SEL_138] (rows=3600 width=107)
                               Output:["_col0"]
                               Filter Operator [FIL_313] (rows=3600 width=107)
                                 predicate:((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null)
-                                TableScan [TS_136] (rows=7200 width=107)
-                                  default@household_demographics,household_demographics,Tbl:COMPLETE,Col:NONE,Output:["hd_demo_sk","hd_dep_count","hd_vehicle_count"]
-                        <-Reducer 43 [SIMPLE_EDGE]
+                                 Please refer to the previous TableScan [TS_6]
+                        <-Reducer 23 [SIMPLE_EDGE]
                           SHUFFLE [RS_145]
                             PartitionCols:_col1
                             Merge Join Operator [MERGEJOIN_338] (rows=633595212 width=88)
                               Conds:RS_142._col0=RS_143._col0(Inner),Output:["_col1","_col2"]
-                            <-Map 42 [SIMPLE_EDGE]
+                            <-Map 1 [SIMPLE_EDGE]
                               SHUFFLE [RS_142]
                                 PartitionCols:_col0
                                 Select Operator [SEL_132] (rows=575995635 width=88)
                                   Output:["_col0","_col1","_col2"]
                                   Filter Operator [FIL_311] (rows=575995635 width=88)
                                     predicate:(ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null)
-                                    TableScan [TS_130] (rows=575995635 width=88)
-                                      default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_time_sk","ss_hdemo_sk","ss_store_sk"]
-                            <-Map 47 [SIMPLE_EDGE]
+                                     Please refer to the previous TableScan [TS_0]
+                            <-Map 35 [SIMPLE_EDGE]
                               SHUFFLE [RS_143]
                                 PartitionCols:_col0
                                 Select Operator [SEL_135] (rows=14400 width=471)
                                   Output:["_col0"]
                                   Filter Operator [FIL_312] (rows=14400 width=471)
                                     predicate:((t_hour = 10) and (t_minute < 30) and t_time_sk is not null)
-                                    TableScan [TS_133] (rows=86400 width=471)
-                                      default@time_dim,time_dim,Tbl:COMPLETE,Col:NONE,Output:["t_time_sk","t_hour","t_minute"]
-          <-Reducer 5 [CUSTOM_SIMPLE_EDGE]
-            PARTITION_ONLY_SHUFFLE [RS_208]
-              Group By Operator [GBY_24] (rows=1 width=8)
-                Output:["_col0"],aggregations:["count(VALUE._col0)"]
-              <-Reducer 4 [CUSTOM_SIMPLE_EDGE]
-                PARTITION_ONLY_SHUFFLE [RS_23]
-                  Group By Operator [GBY_22] (rows=1 width=8)
-                    Output:["_col0"],aggregations:["count()"]
-                    Merge Join Operator [MERGEJOIN_325] (rows=766650239 width=88)
-                      Conds:RS_18._col2=RS_19._col0(Inner)
-                    <-Map 9 [SIMPLE_EDGE]
-                      SHUFFLE [RS_19]
-                        PartitionCols:_col0
-                        Select Operator [SEL_11] (rows=852 width=1910)
-                          Output:["_col0"]
-                          Filter Operator [FIL_294] (rows=852 width=1910)
-                            predicate:((s_store_name = 'ese') and s_store_sk is not null)
-                            TableScan [TS_9] (rows=1704 width=1910)
-                              default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_name"]
-                    <-Reducer 3 [SIMPLE_EDGE]
-                      SHUFFLE [RS_18]
-                        PartitionCols:_col2
-                        Merge Join Operator [MERGEJOIN_324] (rows=696954748 width=88)
-                          Conds:RS_15._col1=RS_16._col0(Inner),Output:["_col2"]
-                        <-Map 8 [SIMPLE_EDGE]
-                          SHUFFLE [RS_16]
-                            PartitionCols:_col0
-                            Select Operator [SEL_8] (rows=3600 width=107)
-                              Output:["_col0"]
-                              Filter Operator [FIL_293] (rows=3600 width=107)
-                                predicate:((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null)
-                                TableScan [TS_6] (rows=7200 width=107)
-                                  default@household_demographics,household_demographics,Tbl:COMPLETE,Col:NONE,Output:["hd_demo_sk","hd_dep_count","hd_vehicle_count"]
-                        <-Reducer 2 [SIMPLE_EDGE]
-                          SHUFFLE [RS_15]
-                            PartitionCols:_col1
-                            Merge Join Operator [MERGEJOIN_323] (rows=633595212 width=88)
-                              Conds:RS_12._col0=RS_13._col0(Inner),Output:["_col1","_col2"]
-                            <-Map 1 [SIMPLE_EDGE]
-                              SHUFFLE [RS_12]
-                                PartitionCols:_col0
-                                Select Operator [SEL_2] (rows=575995635 width=88)
-                                  Output:["_col0","_col1","_col2"]
-                                  Filter Operator [FIL_291] (rows=575995635 width=88)
-                                    predicate:(ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null)
-                                    TableScan [TS_0] (rows=575995635 width=88)
-                                      default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_time_sk","ss_hdemo_sk","ss_store_sk"]
-                            <-Map 7 [SIMPLE_EDGE]
-                              SHUFFLE [RS_13]
-                                PartitionCols:_col0
-                                Select Operator [SEL_5] (rows=14400 width=471)
-                                  Output:["_col0"]
-                                  Filter Operator [FIL_292] (rows=14400 width=471)
-                                    predicate:((t_hour = 8) and (t_minute >= 30) and t_time_sk is not null)
-                                    TableScan [TS_3] (rows=86400 width=471)
-                                      default@time_dim,time_dim,Tbl:COMPLETE,Col:NONE,Output:["t_time_sk","t_hour","t_minute"]
-          <-Reducer 54 [CUSTOM_SIMPLE_EDGE]
+                                     Please refer to the previous TableScan [TS_3]
+          <-Reducer 30 [CUSTOM_SIMPLE_EDGE]
             PARTITION_ONLY_SHUFFLE [RS_214]
               Group By Operator [GBY_180] (rows=1 width=8)
                 Output:["_col0"],aggregations:["count(VALUE._col0)"]
-              <-Reducer 53 [CUSTOM_SIMPLE_EDGE]
+              <-Reducer 29 [CUSTOM_SIMPLE_EDGE]
                 PARTITION_ONLY_SHUFFLE [RS_179]
                   Group By Operator [GBY_178] (rows=1 width=8)
                     Output:["_col0"],aggregations:["count()"]
                     Merge Join Operator [MERGEJOIN_343] (rows=766650239 width=88)
                       Conds:RS_174._col2=RS_175._col0(Inner)
-                    <-Map 57 [SIMPLE_EDGE]
+                    <-Map 37 [SIMPLE_EDGE]
                       SHUFFLE [RS_175]
                         PartitionCols:_col0
                         Select Operator [SEL_167] (rows=852 width=1910)
                           Output:["_col0"]
                           Filter Operator [FIL_318] (rows=852 width=1910)
                             predicate:((s_store_name = 'ese') and s_store_sk is not null)
-                            TableScan [TS_165] (rows=1704 width=1910)
-                              default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_name"]
-                    <-Reducer 52 [SIMPLE_EDGE]
+                             Please refer to the previous TableScan [TS_9]
+                    <-Reducer 28 [SIMPLE_EDGE]
                       SHUFFLE [RS_174]
                         PartitionCols:_col2
                         Merge Join Operator [MERGEJOIN_342] (rows=696954748 width=88)
                           Conds:RS_171._col1=RS_172._col0(Inner),Output:["_col2"]
-                        <-Map 56 [SIMPLE_EDGE]
+                        <-Map 36 [SIMPLE_EDGE]
                           SHUFFLE [RS_172]
                             PartitionCols:_col0
                             Select Operator [SEL_164] (rows=3600 width=107)
                               Output:["_col0"]
                               Filter Operator [FIL_317] (rows=3600 width=107)
                                 predicate:((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null)
-                                TableScan [TS_162] (rows=7200 width=107)
-                                  default@household_demographics,household_demographics,Tbl:COMPLETE,Col:NONE,Output:["hd_demo_sk","hd_dep_count","hd_vehicle_count"]
-                        <-Reducer 51 [SIMPLE_EDGE]
+                                 Please refer to the previous TableScan [TS_6]
+                        <-Reducer 27 [SIMPLE_EDGE]
                           SHUFFLE [RS_171]
                             PartitionCols:_col1
                             Merge Join Operator [MERGEJOIN_341] (rows=633595212 width=88)
                               Conds:RS_168._col0=RS_169._col0(Inner),Output:["_col1","_col2"]
-                            <-Map 50 [SIMPLE_EDGE]
+                            <-Map 1 [SIMPLE_EDGE]
                               SHUFFLE [RS_168]
                                 PartitionCols:_col0
                                 Select Operator [SEL_158] (rows=575995635 width=88)
                                   Output:["_col0","_col1","_col2"]
                                   Filter Operator [FIL_315] (rows=575995635 width=88)
                                     predicate:(ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null)
-                                    TableScan [TS_156] (rows=575995635 width=88)
-                                      default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_time_sk","ss_hdemo_sk","ss_store_sk"]
-                            <-Map 55 [SIMPLE_EDGE]
+                                     Please refer to the previous TableScan [TS_0]
+                            <-Map 35 [SIMPLE_EDGE]
                               SHUFFLE [RS_169]
                                 PartitionCols:_col0
                                 Select Operator [SEL_161] (rows=14400 width=471)
                                   Output:["_col0"]
                                   Filter Operator [FIL_316] (rows=14400 width=471)
                                     predicate:((t_hour = 9) and (t_minute >= 30) and t_time_sk is not null)
-                                    TableScan [TS_159] (rows=86400 width=471)
-                                      default@time_dim,time_dim,Tbl:COMPLETE,Col:NONE,Output:["t_time_sk","t_hour","t_minute"]
-          <-Reducer 62 [CUSTOM_SIMPLE_EDGE]
+                                     Please refer to the previous TableScan [TS_3]
+          <-Reducer 34 [CUSTOM_SIMPLE_EDGE]
             PARTITION_ONLY_SHUFFLE [RS_215]
               Group By Operator [GBY_206] (rows=1 width=8)
                 Output:["_col0"],aggregations:["count(VALUE._col0)"]
-              <-Reducer 61 [CUSTOM_SIMPLE_EDGE]
+              <-Reducer 33 [CUSTOM_SIMPLE_EDGE]
                 PARTITION_ONLY_SHUFFLE [RS_205]
                   Group By Operator [GBY_204] (rows=1 width=8)
                     Output:["_col0"],aggregations:["count()"]
                     Merge Join Operator [MERGEJOIN_346] (rows=766650239 width=88)
                       Conds:RS_200._col2=RS_201._col0(Inner)
-                    <-Map 65 [SIMPLE_EDGE]
+                    <-Map 37 [SIMPLE_EDGE]
                       SHUFFLE [RS_201]
                         PartitionCols:_col0
                         Select Operator [SEL_193] (rows=852 width=1910)
                           Output:["_col0"]
                           Filter Operator [FIL_322] (rows=852 width=1910)
                             predicate:((s_store_name = 'ese') and s_store_sk is not null)
-                            TableScan [TS_191] (rows=1704 width=1910)
-                              default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_name"]
-                    <-Reducer 60 [SIMPLE_EDGE]
+                             Please refer to the previous TableScan [TS_9]
+                    <-Reducer 32 [SIMPLE_EDGE]
                       SHUFFLE [RS_200]
                         PartitionCols:_col2
                         Merge Join Operator [MERGEJOIN_345] (rows=696954748 width=88)
                           Conds:RS_197._col1=RS_198._col0(Inner),Output:["_col2"]
-                        <-Map 64 [SIMPLE_EDGE]
+                        <-Map 36 [SIMPLE_EDGE]
                           SHUFFLE [RS_198]
                             PartitionCols:_col0
                             Select Operator [SEL_190] (rows=3600 width=107)
                               Output:["_col0"]
                               Filter Operator [FIL_321] (rows=3600 width=107)
                                 predicate:((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null)
-                                TableScan [TS_188] (rows=7200 width=107)
-                                  default@household_demographics,household_demographics,Tbl:COMPLETE,Col:NONE,Output:["hd_demo_sk","hd_dep_count","hd_vehicle_count"]
-                        <-Reducer 59 [SIMPLE_EDGE]
+                                 Please refer to the previous TableScan [TS_6]
+                        <-Reducer 31 [SIMPLE_EDGE]
                           SHUFFLE [RS_197]
                             PartitionCols:_col1
                             Merge Join Operator [MERGEJOIN_344] (rows=633595212 width=88)
                               Conds:RS_194._col0=RS_195._col0(Inner),Output:["_col1","_col2"]
-                            <-Map 58 [SIMPLE_EDGE]
+                            <-Map 1 [SIMPLE_EDGE]
                               SHUFFLE [RS_194]
                                 PartitionCols:_col0
                                 Select Operator [SEL_184] (rows=575995635 width=88)
                                   Output:["_col0","_col1","_col2"]
                                   Filter Operator [FIL_319] (rows=575995635 width=88)
                                     predicate:(ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null)
-                                    TableScan [TS_182] (rows=575995635 width=88)
-                                      default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_time_sk","ss_hdemo_sk","ss_store_sk"]
-                            <-Map 63 [SIMPLE_EDGE]
+                                     Please refer to the previous TableScan [TS_0]
+                            <-Map 35 [SIMPLE_EDGE]
                               SHUFFLE [RS_195]
                                 PartitionCols:_col0
                                 Select Operator [SEL_187] (rows=14400 width=471)
                                   Output:["_col0"]
                                   Filter Operator [FIL_320] (rows=14400 width=471)
                                     predicate:((t_hour = 9) and (t_minute < 30) and t_time_sk is not null)
-                                    TableScan [TS_185] (rows=86400 width=471)
-                                      default@time_dim,time_dim,Tbl:COMPLETE,Col:NONE,Output:["t_time_sk","t_hour","t_minute"]
+                                     Please refer to the previous TableScan [TS_3]
+          <-Reducer 5 [CUSTOM_SIMPLE_EDGE]
+            PARTITION_ONLY_SHUFFLE [RS_208]
+              Group By Operator [GBY_24] (rows=1 width=8)
+                Output:["_col0"],aggregations:["count(VALUE._col0)"]
+              <-Reducer 4 [CUSTOM_SIMPLE_EDGE]
+                PARTITION_ONLY_SHUFFLE [RS_23]
+                  Group By Operator [GBY_22] (rows=1 width=8)
+                    Output:["_col0"],aggregations:["count()"]
+                    Merge Join Operator [MERGEJOIN_325] (rows=766650239 width=88)
+                      Conds:RS_18._col2=RS_19._col0(Inner)
+                    <-Map 37 [SIMPLE_EDGE]
+                      SHUFFLE [RS_19]
+                        PartitionCols:_col0
+                        Select Operator [SEL_11] (rows=852 width=1910)
+                          Output:["_col0"]
+                          Filter Operator [FIL_294] (rows=852 width=1910)
+                            predicate:((s_store_name = 'ese') and s_store_sk is not null)
+                             Please refer to the previous TableScan [TS_9]
+                    <-Reducer 3 [SIMPLE_EDGE]
+                      SHUFFLE [RS_18]
+                        PartitionCols:_col2
+                        Merge Join Operator [MERGEJOIN_324] (rows=696954748 width=88)
+                          Conds:RS_15._col1=RS_16._col0(Inner),Output:["_col2"]
+                        <-Map 36 [SIMPLE_EDGE]
+                          SHUFFLE [RS_16]
+                            PartitionCols:_col0
+                            Select Operator [SEL_8] (rows=3600 width=107)
+                              Output:["_col0"]
+                              Filter Operator [FIL_293] (rows=3600 width=107)
+                                predicate:((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null)
+                                 Please refer to the previous TableScan [TS_6]
+                        <-Reducer 2 [SIMPLE_EDGE]
+                          SHUFFLE [RS_15]
+                            PartitionCols:_col1
+                            Merge Join Operator [MERGEJOIN_323] (rows=633595212 width=88)
+                              Conds:RS_12._col0=RS_13._col0(Inner),Output:["_col1","_col2"]
+                            <-Map 1 [SIMPLE_EDGE]
+                              SHUFFLE [RS_12]
+                                PartitionCols:_col0
+                                Select Operator [SEL_2] (rows=575995635 width=88)
+                                  Output:["_col0","_col1","_col2"]
+                                  Filter Operator [FIL_291] (rows=575995635 width=88)
+                                    predicate:(ss_hdemo_sk is not null and ss_sold_time_sk is not null and ss_store_sk is not null)
+                                     Please refer to the previous TableScan [TS_0]
+                            <-Map 35 [SIMPLE_EDGE]
+                              SHUFFLE [RS_13]
+                                PartitionCols:_col0
+                                Select Operator [SEL_5] (rows=14400 width=471)
+                                  Output:["_col0"]
+                                  Filter Operator [FIL_292] (rows=14400 width=471)
+                                    predicate:((t_hour = 8) and (t_minute >= 30) and t_time_sk is not null)
+                                     Please refer to the previous TableScan [TS_3]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/59f65772/ql/src/test/results/clientpositive/perf/query9.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query9.q.out b/ql/src/test/results/clientpositive/perf/query9.q.out
index 3c913e1..4dded91 100644
--- a/ql/src/test/results/clientpositive/perf/query9.q.out
+++ b/ql/src/test/results/clientpositive/perf/query9.q.out
@@ -112,36 +112,36 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Reducer 34 (CUSTOM_SIMPLE_EDGE), Reducer 9 (CUSTOM_SIMPLE_EDGE)
-Reducer 11 <- Reducer 10 (CUSTOM_SIMPLE_EDGE), Reducer 36 (CUSTOM_SIMPLE_EDGE)
-Reducer 12 <- Reducer 11 (CUSTOM_SIMPLE_EDGE), Reducer 38 (CUSTOM_SIMPLE_EDGE)
-Reducer 13 <- Reducer 12 (CUSTOM_SIMPLE_EDGE), Reducer 40 (CUSTOM_SIMPLE_EDGE)
-Reducer 14 <- Reducer 13 (CUSTOM_SIMPLE_EDGE), Reducer 42 (CUSTOM_SIMPLE_EDGE)
-Reducer 15 <- Reducer 14 (CUSTOM_SIMPLE_EDGE), Reducer 44 (CUSTOM_SIMPLE_EDGE)
-Reducer 16 <- Reducer 15 (CUSTOM_SIMPLE_EDGE), Reducer 46 (CUSTOM_SIMPLE_EDGE)
+Reducer 10 <- Reducer 32 (CUSTOM_SIMPLE_EDGE), Reducer 9 (CUSTOM_SIMPLE_EDGE)
+Reducer 11 <- Reducer 10 (CUSTOM_SIMPLE_EDGE), Reducer 21 (CUSTOM_SIMPLE_EDGE)
+Reducer 12 <- Reducer 11 (CUSTOM_SIMPLE_EDGE), Reducer 27 (CUSTOM_SIMPLE_EDGE)
+Reducer 13 <- Reducer 12 (CUSTOM_SIMPLE_EDGE), Reducer 33 (CUSTOM_SIMPLE_EDGE)
+Reducer 14 <- Reducer 13 (CUSTOM_SIMPLE_EDGE), Reducer 22 (CUSTOM_SIMPLE_EDGE)
+Reducer 15 <- Reducer 14 (CUSTOM_SIMPLE_EDGE), Reducer 28 (CUSTOM_SIMPLE_EDGE)
+Reducer 16 <- Reducer 15 (CUSTOM_SIMPLE_EDGE), Reducer 34 (CUSTOM_SIMPLE_EDGE)
 Reducer 18 <- Map 17 (CUSTOM_SIMPLE_EDGE)
+Reducer 19 <- Map 17 (CUSTOM_SIMPLE_EDGE)
 Reducer 2 <- Map 1 (CUSTOM_SIMPLE_EDGE), Reducer 18 (CUSTOM_SIMPLE_EDGE)
-Reducer 20 <- Map 19 (CUSTOM_SIMPLE_EDGE)
-Reducer 22 <- Map 21 (CUSTOM_SIMPLE_EDGE)
+Reducer 20 <- Map 17 (CUSTOM_SIMPLE_EDGE)
+Reducer 21 <- Map 17 (CUSTOM_SIMPLE_EDGE)
+Reducer 22 <- Map 17 (CUSTOM_SIMPLE_EDGE)
 Reducer 24 <- Map 23 (CUSTOM_SIMPLE_EDGE)
-Reducer 26 <- Map 25 (CUSTOM_SIMPLE_EDGE)
-Reducer 28 <- Map 27 (CUSTOM_SIMPLE_EDGE)
-Reducer 3 <- Reducer 2 (CUSTOM_SIMPLE_EDGE), Reducer 20 (CUSTOM_SIMPLE_EDGE)
+Reducer 25 <- Map 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 26 <- Map 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 27 <- Map 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 28 <- Map 23 (CUSTOM_SIMPLE_EDGE)
+Reducer 3 <- Reducer 2 (CUSTOM_SIMPLE_EDGE), Reducer 24 (CUSTOM_SIMPLE_EDGE)
 Reducer 30 <- Map 29 (CUSTOM_SIMPLE_EDGE)
-Reducer 32 <- Map 31 (CUSTOM_SIMPLE_EDGE)
-Reducer 34 <- Map 33 (CUSTOM_SIMPLE_EDGE)
-Reducer 36 <- Map 35 (CUSTOM_SIMPLE_EDGE)
-Reducer 38 <- Map 37 (CUSTOM_SIMPLE_EDGE)
-Reducer 4 <- Reducer 22 (CUSTOM_SIMPLE_EDGE), Reducer 3 (CUSTOM_SIMPLE_EDGE)
-Reducer 40 <- Map 39 (CUSTOM_SIMPLE_EDGE)
-Reducer 42 <- Map 41 (CUSTOM_SIMPLE_EDGE)
-Reducer 44 <- Map 43 (CUSTOM_SIMPLE_EDGE)
-Reducer 46 <- Map 45 (CUSTOM_SIMPLE_EDGE)
-Reducer 5 <- Reducer 24 (CUSTOM_SIMPLE_EDGE), Reducer 4 (CUSTOM_SIMPLE_EDGE)
-Reducer 6 <- Reducer 26 (CUSTOM_SIMPLE_EDGE), Reducer 5 (CUSTOM_SIMPLE_EDGE)
-Reducer 7 <- Reducer 28 (CUSTOM_SIMPLE_EDGE), Reducer 6 (CUSTOM_SIMPLE_EDGE)
-Reducer 8 <- Reducer 30 (CUSTOM_SIMPLE_EDGE), Reducer 7 (CUSTOM_SIMPLE_EDGE)
-Reducer 9 <- Reducer 32 (CUSTOM_SIMPLE_EDGE), Reducer 8 (CUSTOM_SIMPLE_EDGE)
+Reducer 31 <- Map 29 (CUSTOM_SIMPLE_EDGE)
+Reducer 32 <- Map 29 (CUSTOM_SIMPLE_EDGE)
+Reducer 33 <- Map 29 (CUSTOM_SIMPLE_EDGE)
+Reducer 34 <- Map 29 (CUSTOM_SIMPLE_EDGE)
+Reducer 4 <- Reducer 3 (CUSTOM_SIMPLE_EDGE), Reducer 30 (CUSTOM_SIMPLE_EDGE)
+Reducer 5 <- Reducer 19 (CUSTOM_SIMPLE_EDGE), Reducer 4 (CUSTOM_SIMPLE_EDGE)
+Reducer 6 <- Reducer 25 (CUSTOM_SIMPLE_EDGE), Reducer 5 (CUSTOM_SIMPLE_EDGE)
+Reducer 7 <- Reducer 31 (CUSTOM_SIMPLE_EDGE), Reducer 6 (CUSTOM_SIMPLE_EDGE)
+Reducer 8 <- Reducer 20 (CUSTOM_SIMPLE_EDGE), Reducer 7 (CUSTOM_SIMPLE_EDGE)
+Reducer 9 <- Reducer 26 (CUSTOM_SIMPLE_EDGE), Reducer 8 (CUSTOM_SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
@@ -177,11 +177,11 @@ Stage-0
                                 PARTITION_ONLY_SHUFFLE [RS_135]
                                   Merge Join Operator [MERGEJOIN_179] (rows=36 width=1961)
                                     Conds:(Left Outer),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"]
-                                  <-Reducer 34 [CUSTOM_SIMPLE_EDGE]
+                                  <-Reducer 32 [CUSTOM_SIMPLE_EDGE]
                                     PARTITION_ONLY_SHUFFLE [RS_133]
                                       Group By Operator [GBY_64] (rows=1 width=288)
                                         Output:["_col0"],aggregations:["avg(VALUE._col0)"]
-                                      <-Map 33 [CUSTOM_SIMPLE_EDGE]
+                                      <-Map 29 [CUSTOM_SIMPLE_EDGE]
                                         PARTITION_ONLY_SHUFFLE [RS_63]
                                           Group By Operator [GBY_62] (rows=1 width=288)
                                             Output:["_col0"],aggregations:["avg(ss_net_paid_inc_tax)"]
@@ -189,17 +189,17 @@ Stage-0
                                               Output:["ss_net_paid_inc_tax"]
                                               Filter Operator [FIL_164] (rows=63999515 width=88)
                                                 predicate:ss_quantity BETWEEN 41 AND 60
-                                                TableScan [TS_59] (rows=575995635 width=88)
+                                                TableScan [TS_17] (rows=575995635 width=88)
                                                   default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity","ss_net_paid_inc_tax"]
                                   <-Reducer 9 [CUSTOM_SIMPLE_EDGE]
                                     PARTITION_ONLY_SHUFFLE [RS_132]
                                       Merge Join Operator [MERGEJOIN_178] (rows=36 width=1672)
                                         Conds:(Left Outer),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
-                                      <-Reducer 32 [CUSTOM_SIMPLE_EDGE]
+                                      <-Reducer 26 [CUSTOM_SIMPLE_EDGE]
                                         PARTITION_ONLY_SHUFFLE [RS_130]
                                           Group By Operator [GBY_57] (rows=1 width=288)
                                             Output:["_col0"],aggregations:["avg(VALUE._col0)"]
-                                          <-Map 31 [CUSTOM_SIMPLE_EDGE]
+                                          <-Map 23 [CUSTOM_SIMPLE_EDGE]
                                             PARTITION_ONLY_SHUFFLE [RS_56]
                                               Group By Operator [GBY_55] (rows=1 width=288)
                                                 Output:["_col0"],aggregations:["avg(ss_ext_list_price)"]
@@ -207,34 +207,34 @@ Stage-0
                                                   Output:["ss_ext_list_price"]
                                                   Filter Operator [FIL_163] (rows=63999515 width=88)
                                                     predicate:ss_quantity BETWEEN 41 AND 60
-                                                    TableScan [TS_52] (rows=575995635 width=88)
+                                                    TableScan [TS_10] (rows=575995635 width=88)
                                                       default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity","ss_ext_list_price"]
                                       <-Reducer 8 [CUSTOM_SIMPLE_EDGE]
                                         PARTITION_ONLY_SHUFFLE [RS_129]
                                           Merge Join Operator [MERGEJOIN_177] (rows=36 width=1383)
                                             Conds:(Left Outer),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                                          <-Reducer 30 [CUSTOM_SIMPLE_EDGE]
+                                          <-Reducer 20 [CUSTOM_SIMPLE_EDGE]
                                             PARTITION_ONLY_SHUFFLE [RS_127]
                                               Group By Operator [GBY_50] (rows=1 width=8)
                                                 Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                                              <-Map 29 [CUSTOM_SIMPLE_EDGE]
+                                              <-Map 17 [CUSTOM_SIMPLE_EDGE]
                                                 PARTITION_ONLY_SHUFFLE [RS_49]
                                                   Group By Operator [GBY_48] (rows=1 width=8)
                                                     Output:["_col0"],aggregations:["count()"]
                                                     Select Operator [SEL_47] (rows=63999515 width=88)
                                                       Filter Operator [FIL_162] (rows=63999515 width=88)
                                                         predicate:ss_quantity BETWEEN 41 AND 60
-                                                        TableScan [TS_45] (rows=575995635 width=88)
+                                                        TableScan [TS_3] (rows=575995635 width=88)
                                                           default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity"]
                                           <-Reducer 7 [CUSTOM_SIMPLE_EDGE]
                                             PARTITION_ONLY_SHUFFLE [RS_126]
                                               Merge Join Operator [MERGEJOIN_176] (rows=36 width=1374)
                                                 Conds:(Left Outer),Output:["_col1","_col2","_col3","_col4","_col5","_col6"]
-                                              <-Reducer 28 [CUSTOM_SIMPLE_EDGE]
+                                              <-Reducer 31 [CUSTOM_SIMPLE_EDGE]
                                                 PARTITION_ONLY_SHUFFLE [RS_124]
                                                   Group By Operator [GBY_43] (rows=1 width=288)
                                                     Output:["_col0"],aggregations:["avg(VALUE._col0)"]
-                                                  <-Map 27 [CUSTOM_SIMPLE_EDGE]
+                                                  <-Map 29 [CUSTOM_SIMPLE_EDGE]
                                                     PARTITION_ONLY_SHUFFLE [RS_42]
                                                       Group By Operator [GBY_41] (rows=1 width=288)
                                                         Output:["_col0"],aggregations:["avg(ss_net_paid_inc_tax)"]
@@ -242,17 +242,16 @@ Stage-0
                                                           Output:["ss_net_paid_inc_tax"]
                                                           Filter Operator [FIL_161] (rows=63999515 width=88)
                                                             predicate:ss_quantity BETWEEN 21 AND 40
-                                                            TableScan [TS_38] (rows=575995635 width=88)
-                                                              default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity","ss_net_paid_inc_tax"]
+                                                             Please refer to the previous TableScan [TS_17]
                                               <-Reducer 6 [CUSTOM_SIMPLE_EDGE]
                                                 PARTITION_ONLY_SHUFFLE [RS_123]
                                                   Merge Join Operator [MERGEJOIN_175] (rows=36 width=1085)
                                                     Conds:(Left Outer),Output:["_col1","_col2","_col3","_col4","_col5"]
-                                                  <-Reducer 26 [CUSTOM_SIMPLE_EDGE]
+                                                  <-Reducer 25 [CUSTOM_SIMPLE_EDGE]
                                                     PARTITION_ONLY_SHUFFLE [RS_121]
                                                       Group By Operator [GBY_36] (rows=1 width=288)
                                                         Output:["_col0"],aggregations:["avg(VALUE._col0)"]
-                                                      <-Map 25 [CUSTOM_SIMPLE_EDGE]
+                                                      <-Map 23 [CUSTOM_SIMPLE_EDGE]
                                                         PARTITION_ONLY_SHUFFLE [RS_35]
                                                           Group By Operator [GBY_34] (rows=1 width=288)
                                                             Output:["_col0"],aggregations:["avg(ss_ext_list_price)"]
@@ -260,43 +259,27 @@ Stage-0
                                                               Output:["ss_ext_list_price"]
                                                               Filter Operator [FIL_160] (rows=63999515 width=88)
                                                                 predicate:ss_quantity BETWEEN 21 AND 40
-                                                                TableScan [TS_31] (rows=575995635 width=88)
-                                                                  default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity","ss_ext_list_price"]
+                                                                 Please refer to the previous TableScan [TS_10]
                                                   <-Reducer 5 [CUSTOM_SIMPLE_EDGE]
                                                     PARTITION_ONLY_SHUFFLE [RS_120]
                                                       Merge Join Operator [MERGEJOIN_174] (rows=36 width=796)
                                                         Conds:(Left Outer),Output:["_col1","_col2","_col3","_col4"]
-                                                      <-Reducer 24 [CUSTOM_SIMPLE_EDGE]
+                                                      <-Reducer 19 [CUSTOM_SIMPLE_EDGE]
                                                         PARTITION_ONLY_SHUFFLE [RS_118]
                                                           Group By Operator [GBY_29] (rows=1 width=8)
                                                             Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                                                          <-Map 23 [CUSTOM_SIMPLE_EDGE]
+                                                          <-Map 17 [CUSTOM_SIMPLE_EDGE]
                                                             PARTITION_ONLY_SHUFFLE [RS_28]
                                                               Group By Operator [GBY_27] (rows=1 width=8)
                                                                 Output:["_col0"],aggregations:["count()"]
                                                                 Select Operator [SEL_26] (rows=63999515 width=88)
                                                                   Filter Operator [FIL_159] (rows=63999515 width=88)
                                                                     predicate:ss_quantity BETWEEN 21 AND 40
-                                                                    TableScan [TS_24] (rows=575995635 width=88)
-                                                                      default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity"]
+                                                                     Please refer to the previous TableScan [TS_3]
                                                       <-Reducer 4 [CUSTOM_SIMPLE_EDGE]
                                                         PARTITION_ONLY_SHUFFLE [RS_117]
                                                           Merge Join Operator [MERGEJOIN_173] (rows=36 width=787)
                                                             Conds:(Left Outer),Output:["_col1","_col2","_col3"]
-                                                          <-Reducer 22 [CUSTOM_SIMPLE_EDGE]
-                                                            PARTITION_ONLY_SHUFFLE [RS_115]
-                                                              Group By Operator [GBY_22] (rows=1 width=288)
-                                                                Output:["_col0"],aggregations:["avg(VALUE._col0)"]
-                                                              <-Map 21 [CUSTOM_SIMPLE_EDGE]
-                                                                PARTITION_ONLY_SHUFFLE [RS_21]
-                                                                  Group By Operator [GBY_20] (rows=1 width=288)
-                                                                    Output:["_col0"],aggregations:["avg(ss_net_paid_inc_tax)"]
-                                                                    Select Operator [SEL_19] (rows=63999515 width=88)
-                                                                      Output:["ss_net_paid_inc_tax"]
-                                                                      Filter Operator [FIL_158] (rows=63999515 width=88)
-                                                                        predicate:ss_quantity BETWEEN 1 AND 20
-                                                                        TableScan [TS_17] (rows=575995635 width=88)
-                                                                          default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity","ss_net_paid_inc_tax"]
                                                           <-Reducer 3 [CUSTOM_SIMPLE_EDGE]
                                                             PARTITION_ONLY_SHUFFLE [RS_114]
                                                               Merge Join Operator [MERGEJOIN_172] (rows=36 width=498)
@@ -323,13 +306,12 @@ Stage-0
                                                                             Select Operator [SEL_5] (rows=63999515 width=88)
                                                                               Filter Operator [FIL_156] (rows=63999515 width=88)
                                                                                 predicate:ss_quantity BETWEEN 1 AND 20
-                                                                                TableScan [TS_3] (rows=575995635 width=88)
-                                                                                  default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity"]
-                                                              <-Reducer 20 [CUSTOM_SIMPLE_EDGE]
+                                                                                 Please refer to the previous TableScan [TS_3]
+                                                              <-Reducer 24 [CUSTOM_SIMPLE_EDGE]
                                                                 PARTITION_ONLY_SHUFFLE [RS_112]
                                                                   Group By Operator [GBY_15] (rows=1 width=288)
                                                                     Output:["_col0"],aggregations:["avg(VALUE._col0)"]
-                                                                  <-Map 19 [CUSTOM_SIMPLE_EDGE]
+                                                                  <-Map 23 [CUSTOM_SIMPLE_EDGE]
                                                                     PARTITION_ONLY_SHUFFLE [RS_14]
                                                                       Group By Operator [GBY_13] (rows=1 width=288)
                                                                         Output:["_col0"],aggregations:["avg(ss_ext_list_price)"]
@@ -337,26 +319,37 @@ Stage-0
                                                                           Output:["ss_ext_list_price"]
                                                                           Filter Operator [FIL_157] (rows=63999515 width=88)
                                                                             predicate:ss_quantity BETWEEN 1 AND 20
-                                                                            TableScan [TS_10] (rows=575995635 width=88)
-                                                                              default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity","ss_ext_list_price"]
-                              <-Reducer 36 [CUSTOM_SIMPLE_EDGE]
+                                                                             Please refer to the previous TableScan [TS_10]
+                                                          <-Reducer 30 [CUSTOM_SIMPLE_EDGE]
+                                                            PARTITION_ONLY_SHUFFLE [RS_115]
+                                                              Group By Operator [GBY_22] (rows=1 width=288)
+                                                                Output:["_col0"],aggregations:["avg(VALUE._col0)"]
+                                                              <-Map 29 [CUSTOM_SIMPLE_EDGE]
+                                                                PARTITION_ONLY_SHUFFLE [RS_21]
+                                                                  Group By Operator [GBY_20] (rows=1 width=288)
+                                                                    Output:["_col0"],aggregations:["avg(ss_net_paid_inc_tax)"]
+                                                                    Select Operator [SEL_19] (rows=63999515 width=88)
+                                                                      Output:["ss_net_paid_inc_tax"]
+                                                                      Filter Operator [FIL_158] (rows=63999515 width=88)
+                                                                        predicate:ss_quantity BETWEEN 1 AND 20
+                                                                         Please refer to the previous TableScan [TS_17]
+                              <-Reducer 21 [CUSTOM_SIMPLE_EDGE]
                                 PARTITION_ONLY_SHUFFLE [RS_136]
                                   Group By Operator [GBY_71] (rows=1 width=8)
                                     Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                                  <-Map 35 [CUSTOM_SIMPLE_EDGE]
+                                  <-Map 17 [CUSTOM_SIMPLE_EDGE]
                                     PARTITION_ONLY_SHUFFLE [RS_70]
                                       Group By Operator [GBY_69] (rows=1 width=8)
                                         Output:["_col0"],aggregations:["count()"]
                                         Select Operator [SEL_68] (rows=63999515 width=88)
                                           Filter Operator [FIL_165] (rows=63999515 width=88)
                                             predicate:ss_quantity BETWEEN 61 AND 80
-                                            TableScan [TS_66] (rows=575995635 width=88)
-                                              default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity"]
-                          <-Reducer 38 [CUSTOM_SIMPLE_EDGE]
+                                             Please refer to the previous TableScan [TS_3]
+                          <-Reducer 27 [CUSTOM_SIMPLE_EDGE]
                             PARTITION_ONLY_SHUFFLE [RS_139]
                               Group By Operator [GBY_78] (rows=1 width=288)
                                 Output:["_col0"],aggregations:["avg(VALUE._col0)"]
-                              <-Map 37 [CUSTOM_SIMPLE_EDGE]
+                              <-Map 23 [CUSTOM_SIMPLE_EDGE]
                                 PARTITION_ONLY_SHUFFLE [RS_77]
                                   Group By Operator [GBY_76] (rows=1 width=288)
                                     Output:["_col0"],aggregations:["avg(ss_ext_list_price)"]
@@ -364,13 +357,12 @@ Stage-0
                                       Output:["ss_ext_list_price"]
                                       Filter Operator [FIL_166] (rows=63999515 width=88)
                                         predicate:ss_quantity BETWEEN 61 AND 80
-                                        TableScan [TS_73] (rows=575995635 width=88)
-                                          default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity","ss_ext_list_price"]
-                      <-Reducer 40 [CUSTOM_SIMPLE_EDGE]
+                                         Please refer to the previous TableScan [TS_10]
+                      <-Reducer 33 [CUSTOM_SIMPLE_EDGE]
                         PARTITION_ONLY_SHUFFLE [RS_142]
                           Group By Operator [GBY_85] (rows=1 width=288)
                             Output:["_col0"],aggregations:["avg(VALUE._col0)"]
-                          <-Map 39 [CUSTOM_SIMPLE_EDGE]
+                          <-Map 29 [CUSTOM_SIMPLE_EDGE]
                             PARTITION_ONLY_SHUFFLE [RS_84]
                               Group By Operator [GBY_83] (rows=1 width=288)
                                 Output:["_col0"],aggregations:["avg(ss_net_paid_inc_tax)"]
@@ -378,26 +370,24 @@ Stage-0
                                   Output:["ss_net_paid_inc_tax"]
                                   Filter Operator [FIL_167] (rows=63999515 width=88)
                                     predicate:ss_quantity BETWEEN 61 AND 80
-                                    TableScan [TS_80] (rows=575995635 width=88)
-                                      default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity","ss_net_paid_inc_tax"]
-                  <-Reducer 42 [CUSTOM_SIMPLE_EDGE]
+                                     Please refer to the previous TableScan [TS_17]
+                  <-Reducer 22 [CUSTOM_SIMPLE_EDGE]
                     PARTITION_ONLY_SHUFFLE [RS_145]
                       Group By Operator [GBY_92] (rows=1 width=8)
                         Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                      <-Map 41 [CUSTOM_SIMPLE_EDGE]
+                      <-Map 17 [CUSTOM_SIMPLE_EDGE]
                         PARTITION_ONLY_SHUFFLE [RS_91]
                           Group By Operator [GBY_90] (rows=1 width=8)
                             Output:["_col0"],aggregations:["count()"]
                             Select Operator [SEL_89] (rows=63999515 width=88)
                               Filter Operator [FIL_168] (rows=63999515 width=88)
                                 predicate:ss_quantity BETWEEN 81 AND 100
-                                TableScan [TS_87] (rows=575995635 width=88)
-                                  default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity"]
-              <-Reducer 44 [CUSTOM_SIMPLE_EDGE]
+                                 Please refer to the previous TableScan [TS_3]
+              <-Reducer 28 [CUSTOM_SIMPLE_EDGE]
                 PARTITION_ONLY_SHUFFLE [RS_148]
                   Group By Operator [GBY_99] (rows=1 width=288)
                     Output:["_col0"],aggregations:["avg(VALUE._col0)"]
-                  <-Map 43 [CUSTOM_SIMPLE_EDGE]
+                  <-Map 23 [CUSTOM_SIMPLE_EDGE]
                     PARTITION_ONLY_SHUFFLE [RS_98]
                       Group By Operator [GBY_97] (rows=1 width=288)
                         Output:["_col0"],aggregations:["avg(ss_ext_list_price)"]
@@ -405,13 +395,12 @@ Stage-0
                           Output:["ss_ext_list_price"]
                           Filter Operator [FIL_169] (rows=63999515 width=88)
                             predicate:ss_quantity BETWEEN 81 AND 100
-                            TableScan [TS_94] (rows=575995635 width=88)
-                              default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity","ss_ext_list_price"]
-          <-Reducer 46 [CUSTOM_SIMPLE_EDGE]
+                             Please refer to the previous TableScan [TS_10]
+          <-Reducer 34 [CUSTOM_SIMPLE_EDGE]
             PARTITION_ONLY_SHUFFLE [RS_151]
               Group By Operator [GBY_106] (rows=1 width=288)
                 Output:["_col0"],aggregations:["avg(VALUE._col0)"]
-              <-Map 45 [CUSTOM_SIMPLE_EDGE]
+              <-Map 29 [CUSTOM_SIMPLE_EDGE]
                 PARTITION_ONLY_SHUFFLE [RS_105]
                   Group By Operator [GBY_104] (rows=1 width=288)
                     Output:["_col0"],aggregations:["avg(ss_net_paid_inc_tax)"]
@@ -419,6 +408,5 @@ Stage-0
                       Output:["ss_net_paid_inc_tax"]
                       Filter Operator [FIL_170] (rows=63999515 width=88)
                         predicate:ss_quantity BETWEEN 81 AND 100
-                        TableScan [TS_101] (rows=575995635 width=88)
-                          default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_quantity","ss_net_paid_inc_tax"]
+                         Please refer to the previous TableScan [TS_17]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/59f65772/ql/src/test/results/clientpositive/perf/query90.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/query90.q.out b/ql/src/test/results/clientpositive/perf/query90.q.out
index 5ae9fe5..aae0aec 100644
--- a/ql/src/test/results/clientpositive/perf/query90.q.out
+++ b/ql/src/test/results/clientpositive/perf/query90.q.out
@@ -6,16 +6,16 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 16 (SIMPLE_EDGE)
-Reducer 13 <- Map 17 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
-Reducer 14 <- Map 18 (SIMPLE_EDGE), Reducer 13 (SIMPLE_EDGE)
-Reducer 15 <- Reducer 14 (CUSTOM_SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
-Reducer 3 <- Map 9 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 10 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 10 <- Map 14 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 11 <- Reducer 10 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 12 (SIMPLE_EDGE)
+Reducer 3 <- Map 13 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 14 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (CUSTOM_SIMPLE_EDGE)
-Reducer 6 <- Reducer 15 (CUSTOM_SIMPLE_EDGE), Reducer 5 (CUSTOM_SIMPLE_EDGE)
+Reducer 6 <- Reducer 11 (CUSTOM_SIMPLE_EDGE), Reducer 5 (CUSTOM_SIMPLE_EDGE)
 Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
+Reducer 8 <- Map 1 (SIMPLE_EDGE), Map 12 (SIMPLE_EDGE)
+Reducer 9 <- Map 13 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
@@ -33,61 +33,61 @@ Stage-0
                 Output:["_col0"]
                 Merge Join Operator [MERGEJOIN_92] (rows=1 width=17)
                   Conds:(Inner),Output:["_col0","_col1"]
-                <-Reducer 15 [CUSTOM_SIMPLE_EDGE]
+                <-Reducer 11 [CUSTOM_SIMPLE_EDGE]
                   PARTITION_ONLY_SHUFFLE [RS_53]
                     Group By Operator [GBY_50] (rows=1 width=8)
                       Output:["_col0"],aggregations:["count(VALUE._col0)"]
-                    <-Reducer 14 [CUSTOM_SIMPLE_EDGE]
+                    <-Reducer 10 [CUSTOM_SIMPLE_EDGE]
                       PARTITION_ONLY_SHUFFLE [RS_49]
                         Group By Operator [GBY_48] (rows=1 width=8)
                           Output:["_col0"],aggregations:["count()"]
                           Merge Join Operator [MERGEJOIN_91] (rows=191667562 width=135)
                             Conds:RS_44._col1=RS_45._col0(Inner)
-                          <-Map 18 [SIMPLE_EDGE]
+                          <-Map 14 [SIMPLE_EDGE]
                             SHUFFLE [RS_45]
                               PartitionCols:_col0
                               Select Operator [SEL_37] (rows=3600 width=107)
                                 Output:["_col0"]
                                 Filter Operator [FIL_85] (rows=3600 width=107)
                                   predicate:((hd_dep_count = 8) and hd_demo_sk is not null)
-                                  TableScan [TS_35] (rows=7200 width=107)
+                                  TableScan [TS_9] (rows=7200 width=107)
                                     default@household_demographics,household_demographics,Tbl:COMPLETE,Col:NONE,Output:["hd_demo_sk","hd_dep_count"]
-                          <-Reducer 13 [SIMPLE_EDGE]
+                          <-Reducer 9 [SIMPLE_EDGE]
                             SHUFFLE [RS_44]
                               PartitionCols:_col1
                               Merge Join Operator [MERGEJOIN_90] (rows=174243235 width=135)
                                 Conds:RS_41._col0=RS_42._col0(Inner),Output:["_col1"]
-                              <-Map 17 [SIMPLE_EDGE]
+                              <-Map 13 [SIMPLE_EDGE]
                                 SHUFFLE [RS_42]
                                   PartitionCols:_col0
                                   Select Operator [SEL_34] (rows=9600 width=471)
                                     Output:["_col0"]
                                     Filter Operator [FIL_84] (rows=9600 width=471)
                                       predicate:(t_hour BETWEEN 14 AND 15 and t_time_sk is not null)
-                                      TableScan [TS_32] (rows=86400 width=471)
+                                      TableScan [TS_6] (rows=86400 width=471)
                                         default@time_dim,time_dim,Tbl:COMPLETE,Col:NONE,Output:["t_time_sk","t_hour"]
-                              <-Reducer 12 [SIMPLE_EDGE]
+                              <-Reducer 8 [SIMPLE_EDGE]
                                 SHUFFLE [RS_41]
                                   PartitionCols:_col0
                                   Merge Join Operator [MERGEJOIN_89] (rows=158402938 width=135)
                                     Conds:RS_38._col2=RS_39._col0(Inner),Output:["_col0","_col1"]
-                                  <-Map 11 [SIMPLE_EDGE]
+                                  <-Map 1 [SIMPLE_EDGE]
                                     SHUFFLE [RS_38]
                                       PartitionCols:_col2
                                       Select Operator [SEL_28] (rows=144002668 width=135)
                                         Output:["_col0","_col1","_col2"]
                                         Filter Operator [FIL_82] (rows=144002668 width=135)
                                           predicate:(ws_ship_hdemo_sk is not null and ws_sold_time_sk is not null and ws_web_page_sk is not null)
-                                          TableScan [TS_26] (rows=144002668 width=135)
+                                          TableScan [TS_0] (rows=144002668 width=135)
                                             default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_time_sk","ws_ship_hdemo_sk","ws_web_page_sk"]
-                                  <-Map 16 [SIMPLE_EDGE]
+                                  <-Map 12 [SIMPLE_EDGE]
                                     SHUFFLE [RS_39]
                                       PartitionCols:_col0
                                       Select Operator [SEL_31] (rows=511 width=585)
                                         Output:["_col0"]
                                         Filter Operator [FIL_83] (rows=511 width=585)
                                           predicate:(wp_char_count BETWEEN 5000 AND 5200 and wp_web_page_sk is not null)
-                                          TableScan [TS_29] (rows=4602 width=585)
+                                          TableScan [TS_3] (rows=4602 width=585)
                                             default@web_page,web_page,Tbl:COMPLETE,Col:NONE,Output:["wp_web_page_sk","wp_char_count"]
                 <-Reducer 5 [CUSTOM_SIMPLE_EDGE]
                   PARTITION_ONLY_SHUFFLE [RS_52]
@@ -99,29 +99,27 @@ Stage-0
                           Output:["_col0"],aggregations:["count()"]
                           Merge Join Operator [MERGEJOIN_88] (rows=191667562 width=135)
                             Conds:RS_18._col1=RS_19._col0(Inner)
-                          <-Map 10 [SIMPLE_EDGE]
+                          <-Map 14 [SIMPLE_EDGE]
                             SHUFFLE [RS_19]
                               PartitionCols:_col0
                               Select Operator [SEL_11] (rows=3600 width=107)
                                 Output:["_col0"]
                                 Filter Operator [FIL_81] (rows=3600 width=107)
                                   predicate:((hd_dep_count = 8) and hd_demo_sk is not null)
-                                  TableScan [TS_9] (rows=7200 width=107)
-                                    default@household_demographics,household_demographics,Tbl:COMPLETE,Col:NONE,Output:["hd_demo_sk","hd_dep_count"]
+                                   Please refer to the previous TableScan [TS_9]
                           <-Reducer 3 [SIMPLE_EDGE]
                             SHUFFLE [RS_18]
                               PartitionCols:_col1
                               Merge Join Operator [MERGEJOIN_87] (rows=174243235 width=135)
                                 Conds:RS_15._col0=RS_16._col0(Inner),Output:["_col1"]
-                              <-Map 9 [SIMPLE_EDGE]
+                              <-Map 13 [SIMPLE_EDGE]
                                 SHUFFLE [RS_16]
                                   PartitionCols:_col0
                                   Select Operator [SEL_8] (rows=9600 width=471)
                                     Output:["_col0"]
                                     Filter Operator [FIL_80] (rows=9600 width=471)
                                       predicate:(t_hour BETWEEN 6 AND 7 and t_time_sk is not null)
-                                      TableScan [TS_6] (rows=86400 width=471)
-                                        default@time_dim,time_dim,Tbl:COMPLETE,Col:NONE,Output:["t_time_sk","t_hour"]
+                                       Please refer to the previous TableScan [TS_6]
                               <-Reducer 2 [SIMPLE_EDGE]
                                 SHUFFLE [RS_15]
                                   PartitionCols:_col0
@@ -134,15 +132,13 @@ Stage-0
                                         Output:["_col0","_col1","_col2"]
                                         Filter Operator [FIL_78] (rows=144002668 width=135)
                                           predicate:(ws_ship_hdemo_sk is not null and ws_sold_time_sk is not null and ws_web_page_sk is not null)
-                                          TableScan [TS_0] (rows=144002668 width=135)
-                                            default@web_sales,web_sales,Tbl:COMPLETE,Col:NONE,Output:["ws_sold_time_sk","ws_ship_hdemo_sk","ws_web_page_sk"]
-                                  <-Map 8 [SIMPLE_EDGE]
+                                           Please refer to the previous TableScan [TS_0]
+                                  <-Map 12 [SIMPLE_EDGE]
                                     SHUFFLE [RS_13]
                                       PartitionCols:_col0
                                       Select Operator [SEL_5] (rows=511 width=585)
                                         Output:["_col0"]
                                         Filter Operator [FIL_79] (rows=511 width=585)
                                           predicate:(wp_char_count BETWEEN 5000 AND 5200 and wp_web_page_sk is not null)
-                                          TableScan [TS_3] (rows=4602 width=585)
-                                            default@web_page,web_page,Tbl:COMPLETE,Col:NONE,Output:["wp_web_page_sk","wp_char_count"]
+                                           Please refer to the previous TableScan [TS_3]