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

[20/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/llap/explainuser_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/explainuser_2.q.out b/ql/src/test/results/clientpositive/llap/explainuser_2.q.out
index 2a27479..e3f70b0 100644
--- a/ql/src/test/results/clientpositive/llap/explainuser_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/explainuser_2.q.out
@@ -288,15 +288,15 @@ POSTHOOK: type: QUERY
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 10 <- Map 14 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 11 <- Reducer 10 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE)
-Reducer 16 <- Map 15 (SIMPLE_EDGE), Map 17 (SIMPLE_EDGE)
+Reducer 10 <- Map 15 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
+Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 13 (SIMPLE_EDGE)
 Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 11 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
 Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
-Reducer 8 <- Map 12 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 9 <- Map 13 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
+Reducer 7 <- Map 6 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
+Reducer 8 <- Map 14 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE)
+Reducer 9 <- Reducer 10 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
 
 Stage-0
   Fetch Operator
@@ -319,7 +319,30 @@ Stage-0
                     Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["count(_col13)","count(_col21)","count(_col3)"],keys:_col12, _col20, _col2
                     Merge Join Operator [MERGEJOIN_97] (rows=363 width=534)
                       Conds:RS_44._col1, _col3=RS_45._col15, _col17(Inner),Output:["_col2","_col3","_col12","_col13","_col20","_col21"]
-                    <-Reducer 11 [SIMPLE_EDGE] llap
+                    <-Reducer 2 [SIMPLE_EDGE] llap
+                      SHUFFLE [RS_44]
+                        PartitionCols:_col1, _col3
+                        Merge Join Operator [MERGEJOIN_91] (rows=99 width=269)
+                          Conds:RS_41._col0=RS_42._col0(Inner),Output:["_col1","_col2","_col3"]
+                        <-Map 6 [SIMPLE_EDGE] llap
+                          SHUFFLE [RS_42]
+                            PartitionCols:_col0
+                            Select Operator [SEL_5] (rows=7 width=178)
+                              Output:["_col0"]
+                              Filter Operator [FIL_84] (rows=7 width=178)
+                                predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null)
+                                TableScan [TS_3] (rows=500 width=178)
+                                  default@src,d3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
+                        <-Map 1 [SIMPLE_EDGE] llap
+                          SHUFFLE [RS_41]
+                            PartitionCols:_col0
+                            Select Operator [SEL_2] (rows=170 width=356)
+                              Output:["_col0","_col1","_col2","_col3"]
+                              Filter Operator [FIL_83] (rows=170 width=356)
+                                predicate:(v2 is not null and v3 is not null and k1 is not null)
+                                TableScan [TS_0] (rows=170 width=356)
+                                  default@cs,cs,Tbl:COMPLETE,Col:COMPLETE,Output:["k1","v2","k3","v3"]
+                    <-Reducer 9 [SIMPLE_EDGE] llap
                       SHUFFLE [RS_45]
                         PartitionCols:_col15, _col17
                         Select Operator [SEL_40] (rows=180 width=447)
@@ -327,6 +350,28 @@ Stage-0
                           Merge Join Operator [MERGEJOIN_96] (rows=180 width=447)
                             Conds:RS_37._col6, _col4=RS_38._col4, _col2(Inner),Output:["_col2","_col3","_col14","_col15","_col17"]
                           <-Reducer 10 [SIMPLE_EDGE] llap
+                            SHUFFLE [RS_38]
+                              PartitionCols:_col4, _col2
+                              Merge Join Operator [MERGEJOIN_95] (rows=18 width=356)
+                                Conds:RS_24._col0=RS_25._col0(Inner),Output:["_col2","_col3","_col4","_col5"]
+                              <-Map 6 [SIMPLE_EDGE] llap
+                                SHUFFLE [RS_25]
+                                  PartitionCols:_col0
+                                  Select Operator [SEL_23] (rows=7 width=178)
+                                    Output:["_col0"]
+                                    Filter Operator [FIL_90] (rows=7 width=178)
+                                      predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null)
+                                       Please refer to the previous TableScan [TS_3]
+                              <-Map 15 [SIMPLE_EDGE] llap
+                                SHUFFLE [RS_24]
+                                  PartitionCols:_col0
+                                  Select Operator [SEL_20] (rows=8 width=531)
+                                    Output:["_col0","_col2","_col3","_col4","_col5"]
+                                    Filter Operator [FIL_89] (rows=8 width=534)
+                                      predicate:((v1 = 'srv1') and k2 is not null and k3 is not null and v2 is not null and v3 is not null and k1 is not null)
+                                      TableScan [TS_18] (rows=85 width=534)
+                                        default@sr,sr,Tbl:COMPLETE,Col:COMPLETE,Output:["k1","v1","k2","v2","k3","v3"]
+                          <-Reducer 8 [SIMPLE_EDGE] llap
                             SHUFFLE [RS_37]
                               PartitionCols:_col6, _col4
                               Merge Join Operator [MERGEJOIN_94] (rows=40 width=352)
@@ -340,35 +385,25 @@ Stage-0
                                       predicate:((key = 'src1key') and value is not null)
                                       TableScan [TS_15] (rows=25 width=175)
                                         default@src1,src1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
-                              <-Reducer 9 [SIMPLE_EDGE] llap
+                              <-Reducer 7 [SIMPLE_EDGE] llap
                                 SHUFFLE [RS_34]
                                   PartitionCols:_col3
                                   Merge Join Operator [MERGEJOIN_93] (rows=40 width=352)
                                     Conds:RS_31._col2=RS_32._col0(Inner),Output:["_col2","_col3","_col4","_col6"]
-                                  <-Map 13 [SIMPLE_EDGE] llap
+                                  <-Map 6 [SIMPLE_EDGE] llap
                                     SHUFFLE [RS_32]
                                       PartitionCols:_col0
                                       Select Operator [SEL_14] (rows=2 width=178)
                                         Output:["_col0"]
                                         Filter Operator [FIL_87] (rows=2 width=178)
                                           predicate:((value = 'd1value') and key is not null)
-                                          TableScan [TS_12] (rows=500 width=178)
-                                            default@src,d1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
-                                  <-Reducer 8 [SIMPLE_EDGE] llap
+                                           Please refer to the previous TableScan [TS_3]
+                                  <-Reducer 12 [SIMPLE_EDGE] llap
                                     SHUFFLE [RS_31]
                                       PartitionCols:_col2
                                       Merge Join Operator [MERGEJOIN_92] (rows=40 width=352)
                                         Conds:RS_28._col1=RS_29._col3(Inner),Output:["_col2","_col3","_col4","_col6"]
-                                      <-Map 12 [SIMPLE_EDGE] llap
-                                        SHUFFLE [RS_29]
-                                          PartitionCols:_col3
-                                          Select Operator [SEL_11] (rows=8 width=531)
-                                            Output:["_col0","_col1","_col2","_col3","_col4"]
-                                            Filter Operator [FIL_86] (rows=8 width=534)
-                                              predicate:((v3 = 'ssv3') and k2 is not null and k3 is not null and k1 is not null and v1 is not null and v2 is not null)
-                                              TableScan [TS_9] (rows=85 width=534)
-                                                default@ss,ss,Tbl:COMPLETE,Col:COMPLETE,Output:["k1","v1","k2","v2","k3","v3"]
-                                      <-Map 7 [SIMPLE_EDGE] llap
+                                      <-Map 11 [SIMPLE_EDGE] llap
                                         SHUFFLE [RS_28]
                                           PartitionCols:_col1
                                           Select Operator [SEL_8] (rows=10 width=185)
@@ -377,52 +412,15 @@ Stage-0
                                               predicate:((key = 'srcpartkey') and value is not null)
                                               TableScan [TS_6] (rows=2000 width=178)
                                                 default@srcpart,srcpart,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
-                          <-Reducer 16 [SIMPLE_EDGE] llap
-                            SHUFFLE [RS_38]
-                              PartitionCols:_col4, _col2
-                              Merge Join Operator [MERGEJOIN_95] (rows=18 width=356)
-                                Conds:RS_24._col0=RS_25._col0(Inner),Output:["_col2","_col3","_col4","_col5"]
-                              <-Map 15 [SIMPLE_EDGE] llap
-                                SHUFFLE [RS_24]
-                                  PartitionCols:_col0
-                                  Select Operator [SEL_20] (rows=8 width=531)
-                                    Output:["_col0","_col2","_col3","_col4","_col5"]
-                                    Filter Operator [FIL_89] (rows=8 width=534)
-                                      predicate:((v1 = 'srv1') and k2 is not null and k3 is not null and v2 is not null and v3 is not null and k1 is not null)
-                                      TableScan [TS_18] (rows=85 width=534)
-                                        default@sr,sr,Tbl:COMPLETE,Col:COMPLETE,Output:["k1","v1","k2","v2","k3","v3"]
-                              <-Map 17 [SIMPLE_EDGE] llap
-                                SHUFFLE [RS_25]
-                                  PartitionCols:_col0
-                                  Select Operator [SEL_23] (rows=7 width=178)
-                                    Output:["_col0"]
-                                    Filter Operator [FIL_90] (rows=7 width=178)
-                                      predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null)
-                                      TableScan [TS_21] (rows=500 width=178)
-                                        default@src,d2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
-                    <-Reducer 2 [SIMPLE_EDGE] llap
-                      SHUFFLE [RS_44]
-                        PartitionCols:_col1, _col3
-                        Merge Join Operator [MERGEJOIN_91] (rows=99 width=269)
-                          Conds:RS_41._col0=RS_42._col0(Inner),Output:["_col1","_col2","_col3"]
-                        <-Map 1 [SIMPLE_EDGE] llap
-                          SHUFFLE [RS_41]
-                            PartitionCols:_col0
-                            Select Operator [SEL_2] (rows=170 width=356)
-                              Output:["_col0","_col1","_col2","_col3"]
-                              Filter Operator [FIL_83] (rows=170 width=356)
-                                predicate:(v2 is not null and v3 is not null and k1 is not null)
-                                TableScan [TS_0] (rows=170 width=356)
-                                  default@cs,cs,Tbl:COMPLETE,Col:COMPLETE,Output:["k1","v2","k3","v3"]
-                        <-Map 6 [SIMPLE_EDGE] llap
-                          SHUFFLE [RS_42]
-                            PartitionCols:_col0
-                            Select Operator [SEL_5] (rows=7 width=178)
-                              Output:["_col0"]
-                              Filter Operator [FIL_84] (rows=7 width=178)
-                                predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null)
-                                TableScan [TS_3] (rows=500 width=178)
-                                  default@src,d3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
+                                      <-Map 13 [SIMPLE_EDGE] llap
+                                        SHUFFLE [RS_29]
+                                          PartitionCols:_col3
+                                          Select Operator [SEL_11] (rows=8 width=531)
+                                            Output:["_col0","_col1","_col2","_col3","_col4"]
+                                            Filter Operator [FIL_86] (rows=8 width=534)
+                                              predicate:((v3 = 'ssv3') and k2 is not null and k3 is not null and k1 is not null and v1 is not null and v2 is not null)
+                                              TableScan [TS_9] (rows=85 width=534)
+                                                default@ss,ss,Tbl:COMPLETE,Col:COMPLETE,Output:["k1","v1","k2","v2","k3","v3"]
 
 PREHOOK: query: explain
 SELECT x.key, z.value, y.value
@@ -446,15 +444,15 @@ Plan optimized by CBO.
 
 Vertex dependency in root stage
 Map 1 <- Union 2 (CONTAINS)
-Map 11 <- Union 12 (CONTAINS)
-Map 16 <- Union 12 (CONTAINS)
+Map 13 <- Union 14 (CONTAINS)
+Map 16 <- Union 14 (CONTAINS)
 Map 8 <- Union 2 (CONTAINS)
-Reducer 13 <- Union 12 (SIMPLE_EDGE)
-Reducer 14 <- Map 17 (SIMPLE_EDGE), Reducer 13 (SIMPLE_EDGE)
-Reducer 15 <- Map 18 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE), Union 6 (CONTAINS)
+Reducer 10 <- Map 9 (SIMPLE_EDGE), Reducer 15 (SIMPLE_EDGE)
+Reducer 11 <- Map 17 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE), Union 6 (CONTAINS)
+Reducer 15 <- Union 14 (SIMPLE_EDGE)
 Reducer 3 <- Union 2 (SIMPLE_EDGE)
 Reducer 4 <- Map 9 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 10 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE), Union 6 (CONTAINS)
+Reducer 5 <- Map 12 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE), Union 6 (CONTAINS)
 Reducer 7 <- Union 6 (SIMPLE_EDGE)
 
 Stage-0
@@ -466,7 +464,7 @@ Stage-0
         Group By Operator [GBY_57] (rows=28 width=177)
           Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
         <-Union 6 [SIMPLE_EDGE]
-          <-Reducer 15 [CONTAINS] llap
+          <-Reducer 11 [CONTAINS] llap
             Reduce Output Operator [RS_56]
               PartitionCols:_col0, _col1
               Group By Operator [GBY_55] (rows=28 width=177)
@@ -475,7 +473,7 @@ Stage-0
                   Output:["_col0","_col1"]
                   Merge Join Operator [MERGEJOIN_85] (rows=73 width=177)
                     Conds:RS_48._col2=RS_49._col0(Inner),Output:["_col1","_col2"]
-                  <-Map 18 [SIMPLE_EDGE] llap
+                  <-Map 17 [SIMPLE_EDGE] llap
                     SHUFFLE [RS_49]
                       PartitionCols:_col0
                       Select Operator [SEL_44] (rows=500 width=87)
@@ -484,29 +482,29 @@ Stage-0
                           predicate:key is not null
                           TableScan [TS_42] (rows=500 width=87)
                             default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
-                  <-Reducer 14 [SIMPLE_EDGE] llap
+                  <-Reducer 10 [SIMPLE_EDGE] llap
                     SHUFFLE [RS_48]
                       PartitionCols:_col2
                       Merge Join Operator [MERGEJOIN_84] (rows=30 width=177)
                         Conds:RS_45._col1=RS_46._col1(Inner),Output:["_col1","_col2"]
-                      <-Map 17 [SIMPLE_EDGE] llap
+                      <-Map 9 [SIMPLE_EDGE] llap
                         SHUFFLE [RS_46]
                           PartitionCols:_col1
                           Select Operator [SEL_41] (rows=25 width=175)
                             Output:["_col0","_col1"]
                             Filter Operator [FIL_80] (rows=25 width=175)
                               predicate:(key is not null and value is not null)
-                              TableScan [TS_39] (rows=25 width=175)
+                              TableScan [TS_13] (rows=25 width=175)
                                 default@src1,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
-                      <-Reducer 13 [SIMPLE_EDGE] llap
+                      <-Reducer 15 [SIMPLE_EDGE] llap
                         SHUFFLE [RS_45]
                           PartitionCols:_col1
                           Select Operator [SEL_38] (rows=262 width=178)
                             Output:["_col1"]
                             Group By Operator [GBY_37] (rows=262 width=178)
                               Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
-                            <-Union 12 [SIMPLE_EDGE]
-                              <-Map 11 [CONTAINS] llap
+                            <-Union 14 [SIMPLE_EDGE]
+                              <-Map 13 [CONTAINS] llap
                                 Reduce Output Operator [RS_36]
                                   PartitionCols:_col0, _col1
                                   Group By Operator [GBY_35] (rows=262 width=178)
@@ -537,7 +535,7 @@ Stage-0
                   Output:["_col0","_col1"]
                   Merge Join Operator [MERGEJOIN_83] (rows=73 width=177)
                     Conds:RS_22._col2=RS_23._col0(Inner),Output:["_col1","_col2"]
-                  <-Map 10 [SIMPLE_EDGE] llap
+                  <-Map 12 [SIMPLE_EDGE] llap
                     SHUFFLE [RS_23]
                       PartitionCols:_col0
                       Select Operator [SEL_18] (rows=500 width=87)
@@ -558,8 +556,7 @@ Stage-0
                             Output:["_col0","_col1"]
                             Filter Operator [FIL_76] (rows=25 width=175)
                               predicate:(key is not null and value is not null)
-                              TableScan [TS_13] (rows=25 width=175)
-                                default@src1,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
+                               Please refer to the previous TableScan [TS_13]
                       <-Reducer 3 [SIMPLE_EDGE] llap
                         SHUFFLE [RS_19]
                           PartitionCols:_col1
@@ -622,25 +619,25 @@ Plan optimized by CBO.
 Vertex dependency in root stage
 Map 1 <- Union 2 (CONTAINS)
 Map 10 <- Union 2 (CONTAINS)
-Map 13 <- Union 14 (CONTAINS)
-Map 20 <- Union 14 (CONTAINS)
-Map 21 <- Union 16 (CONTAINS)
-Map 24 <- Union 25 (CONTAINS)
-Map 33 <- Union 25 (CONTAINS)
-Map 34 <- Union 27 (CONTAINS)
-Map 35 <- Union 29 (CONTAINS)
-Reducer 15 <- Union 14 (SIMPLE_EDGE), Union 16 (CONTAINS)
-Reducer 17 <- Union 16 (SIMPLE_EDGE)
-Reducer 18 <- Map 22 (SIMPLE_EDGE), Reducer 17 (SIMPLE_EDGE)
-Reducer 19 <- Map 23 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE), Union 6 (CONTAINS)
-Reducer 26 <- Union 25 (SIMPLE_EDGE), Union 27 (CONTAINS)
-Reducer 28 <- Union 27 (SIMPLE_EDGE), Union 29 (CONTAINS)
+Map 17 <- Union 18 (CONTAINS)
+Map 22 <- Union 18 (CONTAINS)
+Map 23 <- Union 20 (CONTAINS)
+Map 25 <- Union 26 (CONTAINS)
+Map 32 <- Union 26 (CONTAINS)
+Map 33 <- Union 28 (CONTAINS)
+Map 34 <- Union 30 (CONTAINS)
+Reducer 12 <- Map 11 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE)
+Reducer 13 <- Map 24 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE), Union 6 (CONTAINS)
+Reducer 14 <- Map 11 (SIMPLE_EDGE), Reducer 31 (SIMPLE_EDGE)
+Reducer 15 <- Map 16 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE), Union 8 (CONTAINS)
+Reducer 19 <- Union 18 (SIMPLE_EDGE), Union 20 (CONTAINS)
+Reducer 21 <- Union 20 (SIMPLE_EDGE)
+Reducer 27 <- Union 26 (SIMPLE_EDGE), Union 28 (CONTAINS)
+Reducer 29 <- Union 28 (SIMPLE_EDGE), Union 30 (CONTAINS)
 Reducer 3 <- Union 2 (SIMPLE_EDGE)
-Reducer 30 <- Union 29 (SIMPLE_EDGE)
-Reducer 31 <- Map 36 (SIMPLE_EDGE), Reducer 30 (SIMPLE_EDGE)
-Reducer 32 <- Map 37 (SIMPLE_EDGE), Reducer 31 (SIMPLE_EDGE), Union 8 (CONTAINS)
+Reducer 31 <- Union 30 (SIMPLE_EDGE)
 Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 12 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE), Union 6 (CONTAINS)
+Reducer 5 <- Map 16 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE), Union 6 (CONTAINS)
 Reducer 7 <- Union 6 (SIMPLE_EDGE), Union 8 (CONTAINS)
 Reducer 9 <- Union 8 (SIMPLE_EDGE)
 
@@ -653,7 +650,7 @@ Stage-0
         Group By Operator [GBY_120] (rows=107 width=177)
           Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
         <-Union 8 [SIMPLE_EDGE]
-          <-Reducer 32 [CONTAINS] llap
+          <-Reducer 15 [CONTAINS] llap
             Reduce Output Operator [RS_119]
               PartitionCols:_col0, _col1
               Group By Operator [GBY_118] (rows=107 width=177)
@@ -662,38 +659,38 @@ Stage-0
                   Output:["_col0","_col1"]
                   Merge Join Operator [MERGEJOIN_170] (rows=124 width=177)
                     Conds:RS_111._col2=RS_112._col0(Inner),Output:["_col2","_col5"]
-                  <-Map 37 [SIMPLE_EDGE] llap
+                  <-Map 16 [SIMPLE_EDGE] llap
                     SHUFFLE [RS_112]
                       PartitionCols:_col0
                       Select Operator [SEL_107] (rows=500 width=178)
                         Output:["_col0","_col1"]
                         Filter Operator [FIL_164] (rows=500 width=178)
                           predicate:key is not null
-                          TableScan [TS_105] (rows=500 width=178)
+                          TableScan [TS_16] (rows=500 width=178)
                             default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
-                  <-Reducer 31 [SIMPLE_EDGE] llap
+                  <-Reducer 14 [SIMPLE_EDGE] llap
                     SHUFFLE [RS_111]
                       PartitionCols:_col2
                       Merge Join Operator [MERGEJOIN_169] (rows=51 width=86)
                         Conds:RS_108._col1=RS_109._col1(Inner),Output:["_col2"]
-                      <-Map 36 [SIMPLE_EDGE] llap
+                      <-Map 11 [SIMPLE_EDGE] llap
                         SHUFFLE [RS_109]
                           PartitionCols:_col1
                           Select Operator [SEL_104] (rows=25 width=175)
                             Output:["_col0","_col1"]
                             Filter Operator [FIL_163] (rows=25 width=175)
                               predicate:(key is not null and value is not null)
-                              TableScan [TS_102] (rows=25 width=175)
+                              TableScan [TS_13] (rows=25 width=175)
                                 default@src1,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
-                      <-Reducer 30 [SIMPLE_EDGE] llap
+                      <-Reducer 31 [SIMPLE_EDGE] llap
                         SHUFFLE [RS_108]
                           PartitionCols:_col1
                           Select Operator [SEL_101] (rows=440 width=178)
                             Output:["_col1"]
                             Group By Operator [GBY_100] (rows=440 width=178)
                               Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
-                            <-Union 29 [SIMPLE_EDGE]
-                              <-Map 35 [CONTAINS] llap
+                            <-Union 30 [SIMPLE_EDGE]
+                              <-Map 34 [CONTAINS] llap
                                 Reduce Output Operator [RS_99]
                                   PartitionCols:_col0, _col1
                                   Group By Operator [GBY_98] (rows=440 width=178)
@@ -704,7 +701,7 @@ Stage-0
                                         predicate:value is not null
                                         TableScan [TS_92] (rows=500 width=178)
                                           Output:["key","value"]
-                              <-Reducer 28 [CONTAINS] llap
+                              <-Reducer 29 [CONTAINS] llap
                                 Reduce Output Operator [RS_99]
                                   PartitionCols:_col0, _col1
                                   Group By Operator [GBY_98] (rows=440 width=178)
@@ -713,8 +710,8 @@ Stage-0
                                       Output:["_col0","_col1"]
                                       Group By Operator [GBY_90] (rows=381 width=178)
                                         Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
-                                      <-Union 27 [SIMPLE_EDGE]
-                                        <-Map 34 [CONTAINS] llap
+                                      <-Union 28 [SIMPLE_EDGE]
+                                        <-Map 33 [CONTAINS] llap
                                           Reduce Output Operator [RS_89]
                                             PartitionCols:_col0, _col1
                                             Group By Operator [GBY_88] (rows=381 width=178)
@@ -725,7 +722,7 @@ Stage-0
                                                   predicate:value is not null
                                                   TableScan [TS_82] (rows=500 width=178)
                                                     Output:["key","value"]
-                                        <-Reducer 26 [CONTAINS] llap
+                                        <-Reducer 27 [CONTAINS] llap
                                           Reduce Output Operator [RS_89]
                                             PartitionCols:_col0, _col1
                                             Group By Operator [GBY_88] (rows=381 width=178)
@@ -734,8 +731,8 @@ Stage-0
                                                 Output:["_col0","_col1"]
                                                 Group By Operator [GBY_80] (rows=262 width=178)
                                                   Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
-                                                <-Union 25 [SIMPLE_EDGE]
-                                                  <-Map 24 [CONTAINS] llap
+                                                <-Union 26 [SIMPLE_EDGE]
+                                                  <-Map 25 [CONTAINS] llap
                                                     Reduce Output Operator [RS_79]
                                                       PartitionCols:_col0, _col1
                                                       Group By Operator [GBY_78] (rows=262 width=178)
@@ -746,7 +743,7 @@ Stage-0
                                                             predicate:value is not null
                                                             TableScan [TS_69] (rows=25 width=175)
                                                               Output:["key","value"]
-                                                  <-Map 33 [CONTAINS] llap
+                                                  <-Map 32 [CONTAINS] llap
                                                     Reduce Output Operator [RS_79]
                                                       PartitionCols:_col0, _col1
                                                       Group By Operator [GBY_78] (rows=262 width=178)
@@ -765,7 +762,7 @@ Stage-0
                 Group By Operator [GBY_67] (rows=90 width=177)
                   Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                 <-Union 6 [SIMPLE_EDGE]
-                  <-Reducer 19 [CONTAINS] llap
+                  <-Reducer 13 [CONTAINS] llap
                     Reduce Output Operator [RS_66]
                       PartitionCols:_col0, _col1
                       Group By Operator [GBY_65] (rows=90 width=177)
@@ -774,7 +771,7 @@ Stage-0
                           Output:["_col0","_col1"]
                           Merge Join Operator [MERGEJOIN_168] (rows=107 width=177)
                             Conds:RS_58._col2=RS_59._col0(Inner),Output:["_col2","_col5"]
-                          <-Map 23 [SIMPLE_EDGE] llap
+                          <-Map 24 [SIMPLE_EDGE] llap
                             SHUFFLE [RS_59]
                               PartitionCols:_col0
                               Select Operator [SEL_54] (rows=500 width=178)
@@ -783,29 +780,28 @@ Stage-0
                                   predicate:key is not null
                                   TableScan [TS_52] (rows=500 width=178)
                                     default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
-                          <-Reducer 18 [SIMPLE_EDGE] llap
+                          <-Reducer 12 [SIMPLE_EDGE] llap
                             SHUFFLE [RS_58]
                               PartitionCols:_col2
                               Merge Join Operator [MERGEJOIN_167] (rows=44 width=86)
                                 Conds:RS_55._col1=RS_56._col1(Inner),Output:["_col2"]
-                              <-Map 22 [SIMPLE_EDGE] llap
+                              <-Map 11 [SIMPLE_EDGE] llap
                                 SHUFFLE [RS_56]
                                   PartitionCols:_col1
                                   Select Operator [SEL_51] (rows=25 width=175)
                                     Output:["_col0","_col1"]
                                     Filter Operator [FIL_157] (rows=25 width=175)
                                       predicate:(key is not null and value is not null)
-                                      TableScan [TS_49] (rows=25 width=175)
-                                        default@src1,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
-                              <-Reducer 17 [SIMPLE_EDGE] llap
+                                       Please refer to the previous TableScan [TS_13]
+                              <-Reducer 21 [SIMPLE_EDGE] llap
                                 SHUFFLE [RS_55]
                                   PartitionCols:_col1
                                   Select Operator [SEL_48] (rows=381 width=178)
                                     Output:["_col1"]
                                     Group By Operator [GBY_47] (rows=381 width=178)
                                       Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
-                                    <-Union 16 [SIMPLE_EDGE]
-                                      <-Map 21 [CONTAINS] llap
+                                    <-Union 20 [SIMPLE_EDGE]
+                                      <-Map 23 [CONTAINS] llap
                                         Reduce Output Operator [RS_46]
                                           PartitionCols:_col0, _col1
                                           Group By Operator [GBY_45] (rows=381 width=178)
@@ -816,7 +812,7 @@ Stage-0
                                                 predicate:value is not null
                                                 TableScan [TS_39] (rows=500 width=178)
                                                   Output:["key","value"]
-                                      <-Reducer 15 [CONTAINS] llap
+                                      <-Reducer 19 [CONTAINS] llap
                                         Reduce Output Operator [RS_46]
                                           PartitionCols:_col0, _col1
                                           Group By Operator [GBY_45] (rows=381 width=178)
@@ -825,8 +821,8 @@ Stage-0
                                               Output:["_col0","_col1"]
                                               Group By Operator [GBY_37] (rows=262 width=178)
                                                 Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
-                                              <-Union 14 [SIMPLE_EDGE]
-                                                <-Map 13 [CONTAINS] llap
+                                              <-Union 18 [SIMPLE_EDGE]
+                                                <-Map 17 [CONTAINS] llap
                                                   Reduce Output Operator [RS_36]
                                                     PartitionCols:_col0, _col1
                                                     Group By Operator [GBY_35] (rows=262 width=178)
@@ -837,7 +833,7 @@ Stage-0
                                                           predicate:value is not null
                                                           TableScan [TS_26] (rows=25 width=175)
                                                             Output:["key","value"]
-                                                <-Map 20 [CONTAINS] llap
+                                                <-Map 22 [CONTAINS] llap
                                                   Reduce Output Operator [RS_36]
                                                     PartitionCols:_col0, _col1
                                                     Group By Operator [GBY_35] (rows=262 width=178)
@@ -857,15 +853,14 @@ Stage-0
                           Output:["_col0","_col1"]
                           Merge Join Operator [MERGEJOIN_166] (rows=73 width=177)
                             Conds:RS_22._col2=RS_23._col0(Inner),Output:["_col2","_col5"]
-                          <-Map 12 [SIMPLE_EDGE] llap
+                          <-Map 16 [SIMPLE_EDGE] llap
                             SHUFFLE [RS_23]
                               PartitionCols:_col0
                               Select Operator [SEL_18] (rows=500 width=178)
                                 Output:["_col0","_col1"]
                                 Filter Operator [FIL_153] (rows=500 width=178)
                                   predicate:key is not null
-                                  TableScan [TS_16] (rows=500 width=178)
-                                    default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
+                                   Please refer to the previous TableScan [TS_16]
                           <-Reducer 4 [SIMPLE_EDGE] llap
                             SHUFFLE [RS_22]
                               PartitionCols:_col2
@@ -878,8 +873,7 @@ Stage-0
                                     Output:["_col0","_col1"]
                                     Filter Operator [FIL_152] (rows=25 width=175)
                                       predicate:(key is not null and value is not null)
-                                      TableScan [TS_13] (rows=25 width=175)
-                                        default@src1,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
+                                       Please refer to the previous TableScan [TS_13]
                               <-Reducer 3 [SIMPLE_EDGE] llap
                                 SHUFFLE [RS_19]
                                   PartitionCols:_col1
@@ -1326,7 +1320,7 @@ Reducer 13 <- Union 12 (SIMPLE_EDGE), Union 14 (CONTAINS)
 Reducer 15 <- Map 18 (BROADCAST_EDGE), Map 19 (BROADCAST_EDGE), Union 14 (SIMPLE_EDGE), Union 4 (CONTAINS)
 Reducer 22 <- Union 21 (SIMPLE_EDGE), Union 23 (CONTAINS)
 Reducer 24 <- Union 23 (SIMPLE_EDGE), Union 25 (CONTAINS)
-Reducer 26 <- Map 30 (BROADCAST_EDGE), Map 31 (BROADCAST_EDGE), Union 25 (SIMPLE_EDGE), Union 6 (CONTAINS)
+Reducer 26 <- Map 10 (BROADCAST_EDGE), Map 9 (BROADCAST_EDGE), Union 25 (SIMPLE_EDGE), Union 6 (CONTAINS)
 Reducer 3 <- Map 10 (BROADCAST_EDGE), Map 9 (BROADCAST_EDGE), Union 2 (SIMPLE_EDGE), Union 4 (CONTAINS)
 Reducer 5 <- Union 4 (SIMPLE_EDGE), Union 6 (CONTAINS)
 Reducer 7 <- Union 6 (SIMPLE_EDGE)
@@ -1349,25 +1343,25 @@ Stage-0
                   Output:["_col0","_col1"]
                   Map Join Operator [MAPJOIN_170] (rows=550 width=10)
                     Conds:MAPJOIN_169._col2=RS_112._col0(Inner),Output:["_col2","_col5"]
-                  <-Map 31 [BROADCAST_EDGE] llap
+                  <-Map 10 [BROADCAST_EDGE] llap
                     BROADCAST [RS_112]
                       PartitionCols:_col0
                       Select Operator [SEL_107] (rows=500 width=10)
                         Output:["_col0","_col1"]
                         Filter Operator [FIL_164] (rows=500 width=10)
                           predicate:key is not null
-                          TableScan [TS_105] (rows=500 width=10)
+                          TableScan [TS_16] (rows=500 width=10)
                             default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
                   <-Map Join Operator [MAPJOIN_169] (rows=484 width=10)
                       Conds:SEL_101._col1=RS_109._col1(Inner),Output:["_col2"]
-                    <-Map 30 [BROADCAST_EDGE] llap
+                    <-Map 9 [BROADCAST_EDGE] llap
                       BROADCAST [RS_109]
                         PartitionCols:_col1
                         Select Operator [SEL_104] (rows=25 width=7)
                           Output:["_col0","_col1"]
                           Filter Operator [FIL_163] (rows=25 width=7)
                             predicate:(key is not null and value is not null)
-                            TableScan [TS_102] (rows=25 width=7)
+                            TableScan [TS_13] (rows=25 width=7)
                               default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
                     <-Select Operator [SEL_101] (rows=440 width=10)
                         Output:["_col1"]
@@ -1539,8 +1533,7 @@ Stage-0
                                 Output:["_col0","_col1"]
                                 Filter Operator [FIL_153] (rows=500 width=10)
                                   predicate:key is not null
-                                  TableScan [TS_16] (rows=500 width=10)
-                                    default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+                                   Please refer to the previous TableScan [TS_16]
                           <-Map Join Operator [MAPJOIN_165] (rows=288 width=10)
                               Conds:SEL_12._col1=RS_20._col1(Inner),Output:["_col2"]
                             <-Map 9 [BROADCAST_EDGE] llap
@@ -1550,8 +1543,7 @@ Stage-0
                                   Output:["_col0","_col1"]
                                   Filter Operator [FIL_152] (rows=25 width=7)
                                     predicate:(key is not null and value is not null)
-                                    TableScan [TS_13] (rows=25 width=7)
-                                      default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+                                     Please refer to the previous TableScan [TS_13]
                             <-Select Operator [SEL_12] (rows=262 width=10)
                                 Output:["_col1"]
                                 Group By Operator [GBY_11] (rows=262 width=10)
@@ -2048,36 +2040,36 @@ Plan optimized by CBO.
 
 Vertex dependency in root stage
 Map 1 <- Map 6 (BROADCAST_EDGE), Union 2 (CONTAINS)
-Map 12 <- Union 9 (CONTAINS)
-Map 13 <- Union 9 (CONTAINS)
-Map 16 <- Map 17 (BROADCAST_EDGE)
-Map 18 <- Map 16 (BROADCAST_EDGE), Union 4 (CONTAINS)
-Map 19 <- Map 16 (BROADCAST_EDGE), Union 4 (CONTAINS)
-Map 20 <- Map 16 (BROADCAST_EDGE), Union 4 (CONTAINS)
-Map 21 <- Map 16 (BROADCAST_EDGE), Union 4 (CONTAINS)
+Map 10 <- Union 11 (CONTAINS)
+Map 12 <- Union 11 (CONTAINS)
+Map 13 <- Union 11 (CONTAINS)
+Map 16 <- Map 6 (BROADCAST_EDGE), Union 4 (CONTAINS)
+Map 17 <- Map 6 (BROADCAST_EDGE), Union 4 (CONTAINS)
+Map 18 <- Map 6 (BROADCAST_EDGE), Union 4 (CONTAINS)
+Map 19 <- Map 6 (BROADCAST_EDGE), Union 4 (CONTAINS)
 Map 5 <- Map 6 (BROADCAST_EDGE), Union 2 (CONTAINS)
-Map 8 <- Union 9 (CONTAINS)
-Reducer 10 <- Map 14 (SIMPLE_EDGE), Union 9 (SIMPLE_EDGE)
-Reducer 11 <- Map 15 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE), Union 4 (CONTAINS)
+Map 6 <- Map 15 (BROADCAST_EDGE)
 Reducer 3 <- Map 7 (SIMPLE_EDGE), Union 2 (SIMPLE_EDGE), Union 4 (CONTAINS)
+Reducer 8 <- Map 7 (SIMPLE_EDGE), Union 11 (SIMPLE_EDGE)
+Reducer 9 <- Map 14 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE), Union 4 (CONTAINS)
 
 Stage-0
   Fetch Operator
     limit:-1
     Stage-1
       Union 4
-      <-Map 18 [CONTAINS] llap
+      <-Map 16 [CONTAINS] llap
         File Output Operator [FS_78]
           Select Operator [SEL_76] (rows=1677 width=10)
             Output:["_col0","_col1"]
             Map Join Operator [MAPJOIN_123] (rows=1677 width=10)
               Conds:RS_73._col1=SEL_56._col0(Inner),Output:["_col0","_col3"]
-            <-Map 16 [BROADCAST_EDGE] llap
+            <-Map 6 [BROADCAST_EDGE] llap
               BROADCAST [RS_73]
                 PartitionCols:_col1
                 Map Join Operator [MAPJOIN_122] (rows=27 width=7)
                   Conds:SEL_50._col0=RS_71._col0(Inner),Output:["_col0","_col1","_col3"]
-                <-Map 17 [BROADCAST_EDGE] llap
+                <-Map 15 [BROADCAST_EDGE] llap
                   BROADCAST [RS_71]
                     PartitionCols:_col0
                     Select Operator [SEL_53] (rows=25 width=7)
@@ -2090,7 +2082,7 @@ Stage-0
                     Output:["_col0","_col1"]
                     Filter Operator [FIL_112] (rows=25 width=7)
                       predicate:(key is not null and value is not null)
-                      TableScan [TS_48] (rows=25 width=7)
+                      TableScan [TS_8] (rows=25 width=7)
                         default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
             <-Select Operator [SEL_56] (rows=25 width=7)
                 Output:["_col0"]
@@ -2098,13 +2090,13 @@ Stage-0
                   predicate:value is not null
                   TableScan [TS_54] (rows=25 width=7)
                     Output:["value"]
-      <-Map 19 [CONTAINS] llap
+      <-Map 17 [CONTAINS] llap
         File Output Operator [FS_78]
           Select Operator [SEL_76] (rows=1677 width=10)
             Output:["_col0","_col1"]
             Map Join Operator [MAPJOIN_123] (rows=1677 width=10)
               Conds:RS_128._col1=SEL_59._col0(Inner),Output:["_col0","_col3"]
-            <-Map 16 [BROADCAST_EDGE] llap
+            <-Map 6 [BROADCAST_EDGE] llap
               BROADCAST [RS_128]
                 PartitionCols:_col1
                  Please refer to the previous Map Join Operator [MAPJOIN_122]
@@ -2114,13 +2106,13 @@ Stage-0
                   predicate:value is not null
                   TableScan [TS_57] (rows=500 width=10)
                     Output:["value"]
-      <-Map 20 [CONTAINS] llap
+      <-Map 18 [CONTAINS] llap
         File Output Operator [FS_78]
           Select Operator [SEL_76] (rows=1677 width=10)
             Output:["_col0","_col1"]
             Map Join Operator [MAPJOIN_123] (rows=1677 width=10)
               Conds:RS_129._col1=SEL_64._col0(Inner),Output:["_col0","_col3"]
-            <-Map 16 [BROADCAST_EDGE] llap
+            <-Map 6 [BROADCAST_EDGE] llap
               BROADCAST [RS_129]
                 PartitionCols:_col1
                  Please refer to the previous Map Join Operator [MAPJOIN_122]
@@ -2130,13 +2122,13 @@ Stage-0
                   predicate:value is not null
                   TableScan [TS_62] (rows=500 width=10)
                     Output:["value"]
-      <-Map 21 [CONTAINS] llap
+      <-Map 19 [CONTAINS] llap
         File Output Operator [FS_78]
           Select Operator [SEL_76] (rows=1677 width=10)
             Output:["_col0","_col1"]
             Map Join Operator [MAPJOIN_123] (rows=1677 width=10)
               Conds:RS_130._col1=SEL_68._col0(Inner),Output:["_col0","_col3"]
-            <-Map 16 [BROADCAST_EDGE] llap
+            <-Map 6 [BROADCAST_EDGE] llap
               BROADCAST [RS_130]
                 PartitionCols:_col1
                  Please refer to the previous Map Join Operator [MAPJOIN_122]
@@ -2146,63 +2138,6 @@ Stage-0
                   predicate:value is not null
                   TableScan [TS_66] (rows=500 width=10)
                     Output:["value"]
-      <-Reducer 11 [CONTAINS] llap
-        File Output Operator [FS_78]
-          Select Operator [SEL_45] (rows=1239 width=10)
-            Output:["_col0","_col1"]
-            Merge Join Operator [MERGEJOIN_121] (rows=1239 width=10)
-              Conds:RS_42._col1=RS_43._col0(Inner),Output:["_col1","_col4"]
-            <-Map 15 [SIMPLE_EDGE] llap
-              SHUFFLE [RS_43]
-                PartitionCols:_col0
-                Select Operator [SEL_38] (rows=500 width=10)
-                  Output:["_col0","_col1"]
-                  Filter Operator [FIL_111] (rows=500 width=10)
-                    predicate:key is not null
-                    TableScan [TS_36] (rows=500 width=10)
-                      default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-            <-Reducer 10 [SIMPLE_EDGE] llap
-              SHUFFLE [RS_42]
-                PartitionCols:_col1
-                Merge Join Operator [MERGEJOIN_120] (rows=1127 width=10)
-                  Conds:Union 9._col0=RS_40._col1(Inner),Output:["_col1"]
-                <-Map 14 [SIMPLE_EDGE] llap
-                  SHUFFLE [RS_40]
-                    PartitionCols:_col1
-                    Select Operator [SEL_35] (rows=500 width=10)
-                      Output:["_col0","_col1"]
-                      Filter Operator [FIL_110] (rows=500 width=10)
-                        predicate:(key is not null and value is not null)
-                        TableScan [TS_33] (rows=500 width=10)
-                          default@src,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-                <-Union 9 [SIMPLE_EDGE]
-                  <-Map 12 [CONTAINS] llap
-                    Reduce Output Operator [RS_39]
-                      PartitionCols:_col0
-                      Select Operator [SEL_26] (rows=500 width=10)
-                        Output:["_col0"]
-                        Filter Operator [FIL_108] (rows=500 width=10)
-                          predicate:value is not null
-                          TableScan [TS_24] (rows=500 width=10)
-                            Output:["value"]
-                  <-Map 13 [CONTAINS] llap
-                    Reduce Output Operator [RS_39]
-                      PartitionCols:_col0
-                      Select Operator [SEL_31] (rows=500 width=10)
-                        Output:["_col0"]
-                        Filter Operator [FIL_109] (rows=500 width=10)
-                          predicate:value is not null
-                          TableScan [TS_29] (rows=500 width=10)
-                            Output:["value"]
-                  <-Map 8 [CONTAINS] llap
-                    Reduce Output Operator [RS_39]
-                      PartitionCols:_col0
-                      Select Operator [SEL_23] (rows=25 width=7)
-                        Output:["_col0"]
-                        Filter Operator [FIL_107] (rows=25 width=7)
-                          predicate:value is not null
-                          TableScan [TS_21] (rows=25 width=7)
-                            Output:["value"]
       <-Reducer 3 [CONTAINS] llap
         File Output Operator [FS_78]
           Select Operator [SEL_20] (rows=634 width=10)
@@ -2231,8 +2166,7 @@ Stage-0
                         Output:["_col0","_col1"]
                         Filter Operator [FIL_105] (rows=25 width=7)
                           predicate:(key is not null and value is not null)
-                          TableScan [TS_8] (rows=25 width=7)
-                            default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+                           Please refer to the previous TableScan [TS_8]
                   <-Select Operator [SEL_2] (rows=25 width=7)
                       Output:["_col0"]
                       Filter Operator [FIL_103] (rows=25 width=7)
@@ -2254,6 +2188,62 @@ Stage-0
                         predicate:value is not null
                         TableScan [TS_3] (rows=500 width=10)
                           Output:["value"]
+      <-Reducer 9 [CONTAINS] llap
+        File Output Operator [FS_78]
+          Select Operator [SEL_45] (rows=1239 width=10)
+            Output:["_col0","_col1"]
+            Merge Join Operator [MERGEJOIN_121] (rows=1239 width=10)
+              Conds:RS_42._col1=RS_43._col0(Inner),Output:["_col1","_col4"]
+            <-Map 14 [SIMPLE_EDGE] llap
+              SHUFFLE [RS_43]
+                PartitionCols:_col0
+                Select Operator [SEL_38] (rows=500 width=10)
+                  Output:["_col0","_col1"]
+                  Filter Operator [FIL_111] (rows=500 width=10)
+                    predicate:key is not null
+                    TableScan [TS_36] (rows=500 width=10)
+                      default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+            <-Reducer 8 [SIMPLE_EDGE] llap
+              SHUFFLE [RS_42]
+                PartitionCols:_col1
+                Merge Join Operator [MERGEJOIN_120] (rows=1127 width=10)
+                  Conds:Union 11._col0=RS_40._col1(Inner),Output:["_col1"]
+                <-Map 7 [SIMPLE_EDGE] llap
+                  SHUFFLE [RS_40]
+                    PartitionCols:_col1
+                    Select Operator [SEL_35] (rows=500 width=10)
+                      Output:["_col0","_col1"]
+                      Filter Operator [FIL_110] (rows=500 width=10)
+                        predicate:(key is not null and value is not null)
+                         Please refer to the previous TableScan [TS_11]
+                <-Union 11 [SIMPLE_EDGE]
+                  <-Map 10 [CONTAINS] llap
+                    Reduce Output Operator [RS_39]
+                      PartitionCols:_col0
+                      Select Operator [SEL_23] (rows=25 width=7)
+                        Output:["_col0"]
+                        Filter Operator [FIL_107] (rows=25 width=7)
+                          predicate:value is not null
+                          TableScan [TS_21] (rows=25 width=7)
+                            Output:["value"]
+                  <-Map 12 [CONTAINS] llap
+                    Reduce Output Operator [RS_39]
+                      PartitionCols:_col0
+                      Select Operator [SEL_26] (rows=500 width=10)
+                        Output:["_col0"]
+                        Filter Operator [FIL_108] (rows=500 width=10)
+                          predicate:value is not null
+                          TableScan [TS_24] (rows=500 width=10)
+                            Output:["value"]
+                  <-Map 13 [CONTAINS] llap
+                    Reduce Output Operator [RS_39]
+                      PartitionCols:_col0
+                      Select Operator [SEL_31] (rows=500 width=10)
+                        Output:["_col0"]
+                        Filter Operator [FIL_109] (rows=500 width=10)
+                          predicate:value is not null
+                          TableScan [TS_29] (rows=500 width=10)
+                            Output:["value"]
 
 PREHOOK: query: explain
 SELECT x.key, y.value
@@ -2285,23 +2275,23 @@ Plan optimized by CBO.
 
 Vertex dependency in root stage
 Map 1 <- Union 2 (CONTAINS)
-Map 12 <- Union 13 (CONTAINS)
-Map 19 <- Union 13 (CONTAINS)
-Map 20 <- Union 15 (CONTAINS)
-Map 23 <- Map 24 (BROADCAST_EDGE)
-Map 25 <- Union 26 (CONTAINS)
-Map 32 <- Union 26 (CONTAINS)
-Map 33 <- Union 28 (CONTAINS)
-Map 34 <- Union 30 (CONTAINS)
+Map 10 <- Map 22 (BROADCAST_EDGE)
+Map 14 <- Union 15 (CONTAINS)
+Map 19 <- Union 15 (CONTAINS)
+Map 20 <- Union 17 (CONTAINS)
+Map 23 <- Union 24 (CONTAINS)
+Map 30 <- Union 24 (CONTAINS)
+Map 31 <- Union 26 (CONTAINS)
+Map 32 <- Union 28 (CONTAINS)
 Map 9 <- Union 2 (CONTAINS)
-Reducer 14 <- Union 13 (SIMPLE_EDGE), Union 15 (CONTAINS)
-Reducer 16 <- Union 15 (SIMPLE_EDGE)
-Reducer 17 <- Map 21 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE)
-Reducer 18 <- Map 22 (SIMPLE_EDGE), Reducer 17 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 12 <- Map 11 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE)
+Reducer 13 <- Map 21 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 16 <- Union 15 (SIMPLE_EDGE), Union 17 (CONTAINS)
+Reducer 18 <- Union 17 (SIMPLE_EDGE)
+Reducer 25 <- Union 24 (SIMPLE_EDGE), Union 26 (CONTAINS)
 Reducer 27 <- Union 26 (SIMPLE_EDGE), Union 28 (CONTAINS)
-Reducer 29 <- Union 28 (SIMPLE_EDGE), Union 30 (CONTAINS)
+Reducer 29 <- Map 10 (BROADCAST_EDGE), Union 28 (SIMPLE_EDGE), Union 7 (CONTAINS)
 Reducer 3 <- Map 10 (BROADCAST_EDGE), Union 2 (SIMPLE_EDGE)
-Reducer 31 <- Map 23 (BROADCAST_EDGE), Union 30 (SIMPLE_EDGE), Union 7 (CONTAINS)
 Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS)
 Reducer 6 <- Union 5 (SIMPLE_EDGE), Union 7 (CONTAINS)
 Reducer 8 <- Union 7 (SIMPLE_EDGE)
@@ -2315,7 +2305,7 @@ Stage-0
         Group By Operator [GBY_120] (rows=530 width=10)
           Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
         <-Union 7 [SIMPLE_EDGE]
-          <-Reducer 31 [CONTAINS] llap
+          <-Reducer 29 [CONTAINS] llap
             Reduce Output Operator [RS_119]
               PartitionCols:_col0, _col1
               Group By Operator [GBY_118] (rows=1061 width=10)
@@ -2324,12 +2314,12 @@ Stage-0
                   Output:["_col0","_col1"]
                   Map Join Operator [MAPJOIN_167] (rows=484 width=10)
                     Conds:RS_111._col1=SEL_107._col1(Inner),Output:["_col0","_col3"]
-                  <-Map 23 [BROADCAST_EDGE] llap
+                  <-Map 10 [BROADCAST_EDGE] llap
                     BROADCAST [RS_111]
                       PartitionCols:_col1
                       Map Join Operator [MAPJOIN_166] (rows=27 width=7)
                         Conds:SEL_71._col0=RS_109._col0(Inner),Output:["_col0","_col1","_col3"]
-                      <-Map 24 [BROADCAST_EDGE] llap
+                      <-Map 22 [BROADCAST_EDGE] llap
                         BROADCAST [RS_109]
                           PartitionCols:_col0
                           Select Operator [SEL_74] (rows=25 width=7)
@@ -2342,14 +2332,14 @@ Stage-0
                           Output:["_col0","_col1"]
                           Filter Operator [FIL_156] (rows=25 width=7)
                             predicate:(key is not null and value is not null)
-                            TableScan [TS_69] (rows=25 width=7)
+                            TableScan [TS_13] (rows=25 width=7)
                               default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
                   <-Select Operator [SEL_107] (rows=440 width=10)
                       Output:["_col1"]
                       Group By Operator [GBY_106] (rows=440 width=10)
                         Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
-                      <-Union 30 [SIMPLE_EDGE]
-                        <-Map 34 [CONTAINS] llap
+                      <-Union 28 [SIMPLE_EDGE]
+                        <-Map 32 [CONTAINS] llap
                           Reduce Output Operator [RS_105]
                             PartitionCols:_col0, _col1
                             Group By Operator [GBY_104] (rows=881 width=10)
@@ -2360,7 +2350,7 @@ Stage-0
                                   predicate:value is not null
                                   TableScan [TS_98] (rows=500 width=10)
                                     Output:["key","value"]
-                        <-Reducer 29 [CONTAINS] llap
+                        <-Reducer 27 [CONTAINS] llap
                           Reduce Output Operator [RS_105]
                             PartitionCols:_col0, _col1
                             Group By Operator [GBY_104] (rows=881 width=10)
@@ -2369,8 +2359,8 @@ Stage-0
                                 Output:["_col0","_col1"]
                                 Group By Operator [GBY_96] (rows=381 width=10)
                                   Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
-                                <-Union 28 [SIMPLE_EDGE]
-                                  <-Map 33 [CONTAINS] llap
+                                <-Union 26 [SIMPLE_EDGE]
+                                  <-Map 31 [CONTAINS] llap
                                     Reduce Output Operator [RS_95]
                                       PartitionCols:_col0, _col1
                                       Group By Operator [GBY_94] (rows=762 width=10)
@@ -2381,7 +2371,7 @@ Stage-0
                                             predicate:value is not null
                                             TableScan [TS_88] (rows=500 width=10)
                                               Output:["key","value"]
-                                  <-Reducer 27 [CONTAINS] llap
+                                  <-Reducer 25 [CONTAINS] llap
                                     Reduce Output Operator [RS_95]
                                       PartitionCols:_col0, _col1
                                       Group By Operator [GBY_94] (rows=762 width=10)
@@ -2390,8 +2380,8 @@ Stage-0
                                           Output:["_col0","_col1"]
                                           Group By Operator [GBY_86] (rows=262 width=10)
                                             Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
-                                          <-Union 26 [SIMPLE_EDGE]
-                                            <-Map 25 [CONTAINS] llap
+                                          <-Union 24 [SIMPLE_EDGE]
+                                            <-Map 23 [CONTAINS] llap
                                               Reduce Output Operator [RS_85]
                                                 PartitionCols:_col0, _col1
                                                 Group By Operator [GBY_84] (rows=525 width=10)
@@ -2402,7 +2392,7 @@ Stage-0
                                                       predicate:value is not null
                                                       TableScan [TS_75] (rows=25 width=7)
                                                         Output:["key","value"]
-                                            <-Map 32 [CONTAINS] llap
+                                            <-Map 30 [CONTAINS] llap
                                               Reduce Output Operator [RS_85]
                                                 PartitionCols:_col0, _col1
                                                 Group By Operator [GBY_84] (rows=525 width=10)
@@ -2421,7 +2411,7 @@ Stage-0
                 Group By Operator [GBY_67] (rows=577 width=10)
                   Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                 <-Union 5 [SIMPLE_EDGE]
-                  <-Reducer 18 [CONTAINS] llap
+                  <-Reducer 13 [CONTAINS] llap
                     Reduce Output Operator [RS_66]
                       PartitionCols:_col0, _col1
                       Group By Operator [GBY_65] (rows=1155 width=10)
@@ -2430,7 +2420,7 @@ Stage-0
                           Output:["_col0","_col1"]
                           Merge Join Operator [MERGEJOIN_165] (rows=605 width=10)
                             Conds:RS_58._col2=RS_59._col0(Inner),Output:["_col2","_col5"]
-                          <-Map 22 [SIMPLE_EDGE] llap
+                          <-Map 21 [SIMPLE_EDGE] llap
                             SHUFFLE [RS_59]
                               PartitionCols:_col0
                               Select Operator [SEL_54] (rows=500 width=10)
@@ -2439,28 +2429,28 @@ Stage-0
                                   predicate:key is not null
                                   TableScan [TS_52] (rows=500 width=10)
                                     default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-                          <-Reducer 17 [SIMPLE_EDGE] llap
+                          <-Reducer 12 [SIMPLE_EDGE] llap
                             SHUFFLE [RS_58]
                               PartitionCols:_col2
                               Merge Join Operator [MERGEJOIN_164] (rows=550 width=10)
                                 Conds:RS_55._col1=RS_56._col1(Inner),Output:["_col2"]
-                              <-Map 21 [SIMPLE_EDGE] llap
+                              <-Map 11 [SIMPLE_EDGE] llap
                                 SHUFFLE [RS_56]
                                   PartitionCols:_col1
                                   Select Operator [SEL_51] (rows=500 width=10)
                                     Output:["_col0","_col1"]
                                     Filter Operator [FIL_154] (rows=500 width=10)
                                       predicate:(key is not null and value is not null)
-                                      TableScan [TS_49] (rows=500 width=10)
-                                        default@src,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-                              <-Reducer 16 [SIMPLE_EDGE] llap
+                                      TableScan [TS_16] (rows=500 width=10)
+                                        default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+                              <-Reducer 18 [SIMPLE_EDGE] llap
                                 SHUFFLE [RS_55]
                                   PartitionCols:_col1
                                   Select Operator [SEL_48] (rows=381 width=10)
                                     Output:["_col1"]
                                     Group By Operator [GBY_47] (rows=381 width=10)
                                       Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
-                                    <-Union 15 [SIMPLE_EDGE]
+                                    <-Union 17 [SIMPLE_EDGE]
                                       <-Map 20 [CONTAINS] llap
                                         Reduce Output Operator [RS_46]
                                           PartitionCols:_col0, _col1
@@ -2472,7 +2462,7 @@ Stage-0
                                                 predicate:value is not null
                                                 TableScan [TS_39] (rows=500 width=10)
                                                   Output:["key","value"]
-                                      <-Reducer 14 [CONTAINS] llap
+                                      <-Reducer 16 [CONTAINS] llap
                                         Reduce Output Operator [RS_46]
                                           PartitionCols:_col0, _col1
                                           Group By Operator [GBY_45] (rows=762 width=10)
@@ -2481,8 +2471,8 @@ Stage-0
                                               Output:["_col0","_col1"]
                                               Group By Operator [GBY_37] (rows=262 width=10)
                                                 Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
-                                              <-Union 13 [SIMPLE_EDGE]
-                                                <-Map 12 [CONTAINS] llap
+                                              <-Union 15 [SIMPLE_EDGE]
+                                                <-Map 14 [CONTAINS] llap
                                                   Reduce Output Operator [RS_36]
                                                     PartitionCols:_col0, _col1
                                                     Group By Operator [GBY_35] (rows=525 width=10)
@@ -2520,8 +2510,7 @@ Stage-0
                                 Output:["_col0","_col1"]
                                 Filter Operator [FIL_150] (rows=500 width=10)
                                   predicate:key is not null
-                                  TableScan [TS_16] (rows=500 width=10)
-                                    default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+                                   Please refer to the previous TableScan [TS_16]
                           <-Reducer 3 [SIMPLE_EDGE] llap
                             SHUFFLE [RS_22]
                               PartitionCols:_col2
@@ -2534,8 +2523,7 @@ Stage-0
                                     Output:["_col0","_col1"]
                                     Filter Operator [FIL_149] (rows=25 width=7)
                                       predicate:(key is not null and value is not null)
-                                      TableScan [TS_13] (rows=25 width=7)
-                                        default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+                                       Please refer to the previous TableScan [TS_13]
                               <-Select Operator [SEL_12] (rows=262 width=10)
                                   Output:["_col1"]
                                   Group By Operator [GBY_11] (rows=262 width=10)
@@ -2630,18 +2618,18 @@ Plan optimized by CBO.
 
 Vertex dependency in root stage
 Map 1 <- Map 6 (BROADCAST_EDGE), Union 2 (CONTAINS)
-Map 12 <- Union 9 (CONTAINS)
-Map 13 <- Union 9 (CONTAINS)
-Map 16 <- Map 17 (BROADCAST_EDGE)
-Map 18 <- Map 16 (BROADCAST_EDGE), Union 4 (CONTAINS)
-Map 19 <- Map 16 (BROADCAST_EDGE), Union 4 (CONTAINS)
-Map 20 <- Map 16 (BROADCAST_EDGE), Union 4 (CONTAINS)
-Map 21 <- Map 16 (BROADCAST_EDGE), Union 4 (CONTAINS)
+Map 10 <- Union 11 (CONTAINS)
+Map 12 <- Union 11 (CONTAINS)
+Map 13 <- Union 11 (CONTAINS)
+Map 16 <- Map 6 (BROADCAST_EDGE), Union 4 (CONTAINS)
+Map 17 <- Map 6 (BROADCAST_EDGE), Union 4 (CONTAINS)
+Map 18 <- Map 6 (BROADCAST_EDGE), Union 4 (CONTAINS)
+Map 19 <- Map 6 (BROADCAST_EDGE), Union 4 (CONTAINS)
 Map 5 <- Map 6 (BROADCAST_EDGE), Union 2 (CONTAINS)
-Map 8 <- Union 9 (CONTAINS)
-Reducer 10 <- Map 14 (SIMPLE_EDGE), Union 9 (SIMPLE_EDGE)
-Reducer 11 <- Map 15 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE), Union 4 (CONTAINS)
+Map 6 <- Map 15 (BROADCAST_EDGE)
 Reducer 3 <- Map 7 (SIMPLE_EDGE), Union 2 (SIMPLE_EDGE), Union 4 (CONTAINS)
+Reducer 8 <- Map 7 (SIMPLE_EDGE), Union 11 (SIMPLE_EDGE)
+Reducer 9 <- Map 14 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE), Union 4 (CONTAINS)
 
 Stage-5
   Stats-Aggr Operator
@@ -2652,19 +2640,19 @@ Stage-5
           Dependency Collection{}
             Stage-3
               Union 4
-              <-Map 18 [CONTAINS] llap
+              <-Map 16 [CONTAINS] llap
                 File Output Operator [FS_79]
                   table:{"name:":"default.a"}
                   Select Operator [SEL_76] (rows=1677 width=10)
                     Output:["_col0","_col1"]
                     Map Join Operator [MAPJOIN_128] (rows=1677 width=10)
                       Conds:RS_73._col1=SEL_56._col0(Inner),Output:["_col0","_col3"]
-                    <-Map 16 [BROADCAST_EDGE] llap
+                    <-Map 6 [BROADCAST_EDGE] llap
                       BROADCAST [RS_73]
                         PartitionCols:_col1
                         Map Join Operator [MAPJOIN_127] (rows=27 width=7)
                           Conds:SEL_50._col0=RS_71._col0(Inner),Output:["_col0","_col1","_col3"]
-                        <-Map 17 [BROADCAST_EDGE] llap
+                        <-Map 15 [BROADCAST_EDGE] llap
                           BROADCAST [RS_71]
                             PartitionCols:_col0
                             Select Operator [SEL_53] (rows=25 width=7)
@@ -2677,7 +2665,7 @@ Stage-5
                             Output:["_col0","_col1"]
                             Filter Operator [FIL_117] (rows=25 width=7)
                               predicate:(key is not null and value is not null)
-                              TableScan [TS_48] (rows=25 width=7)
+                              TableScan [TS_8] (rows=25 width=7)
                                 default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
                     <-Select Operator [SEL_56] (rows=25 width=7)
                         Output:["_col0"]
@@ -2691,14 +2679,14 @@ Stage-5
                 File Output Operator [FS_83]
                   table:{"name:":"default.c"}
                    Please refer to the previous Select Operator [SEL_76]
-              <-Map 19 [CONTAINS] llap
+              <-Map 17 [CONTAINS] llap
                 File Output Operator [FS_79]
                   table:{"name:":"default.a"}
                   Select Operator [SEL_76] (rows=1677 width=10)
                     Output:["_col0","_col1"]
                     Map Join Operator [MAPJOIN_128] (rows=1677 width=10)
                       Conds:RS_133._col1=SEL_59._col0(Inner),Output:["_col0","_col3"]
-                    <-Map 16 [BROADCAST_EDGE] llap
+                    <-Map 6 [BROADCAST_EDGE] llap
                       BROADCAST [RS_133]
                         PartitionCols:_col1
                          Please refer to the previous Map Join Operator [MAPJOIN_127]
@@ -2714,14 +2702,14 @@ Stage-5
                 File Output Operator [FS_83]
                   table:{"name:":"default.c"}
                    Please refer to the previous Select Operator [SEL_76]
-              <-Map 20 [CONTAINS] llap
+              <-Map 18 [CONTAINS] llap
                 File Output Operator [FS_79]
                   table:{"name:":"default.a"}
                   Select Operator [SEL_76] (rows=1677 width=10)
                     Output:["_col0","_col1"]
                     Map Join Operator [MAPJOIN_128] (rows=1677 width=10)
                       Conds:RS_134._col1=SEL_64._col0(Inner),Output:["_col0","_col3"]
-                    <-Map 16 [BROADCAST_EDGE] llap
+                    <-Map 6 [BROADCAST_EDGE] llap
                       BROADCAST [RS_134]
                         PartitionCols:_col1
                          Please refer to the previous Map Join Operator [MAPJOIN_127]
@@ -2737,14 +2725,14 @@ Stage-5
                 File Output Operator [FS_83]
                   table:{"name:":"default.c"}
                    Please refer to the previous Select Operator [SEL_76]
-              <-Map 21 [CONTAINS] llap
+              <-Map 19 [CONTAINS] llap
                 File Output Operator [FS_79]
                   table:{"name:":"default.a"}
                   Select Operator [SEL_76] (rows=1677 width=10)
                     Output:["_col0","_col1"]
                     Map Join Operator [MAPJOIN_128] (rows=1677 width=10)
                       Conds:RS_135._col1=SEL_68._col0(Inner),Output:["_col0","_col3"]
-                    <-Map 16 [BROADCAST_EDGE] llap
+                    <-Map 6 [BROADCAST_EDGE] llap
                       BROADCAST [RS_135]
                         PartitionCols:_col1
                          Please refer to the previous Map Join Operator [MAPJOIN_127]
@@ -2760,70 +2748,6 @@ Stage-5
                 File Output Operator [FS_83]
                   table:{"name:":"default.c"}
                    Please refer to the previous Select Operator [SEL_76]
-              <-Reducer 11 [CONTAINS] llap
-                File Output Operator [FS_79]
-                  table:{"name:":"default.a"}
-                  Select Operator [SEL_45] (rows=1239 width=10)
-                    Output:["_col0","_col1"]
-                    Merge Join Operator [MERGEJOIN_126] (rows=1239 width=10)
-                      Conds:RS_42._col1=RS_43._col0(Inner),Output:["_col1","_col4"]
-                    <-Map 15 [SIMPLE_EDGE] llap
-                      SHUFFLE [RS_43]
-                        PartitionCols:_col0
-                        Select Operator [SEL_38] (rows=500 width=10)
-                          Output:["_col0","_col1"]
-                          Filter Operator [FIL_116] (rows=500 width=10)
-                            predicate:key is not null
-                            TableScan [TS_36] (rows=500 width=10)
-                              default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-                    <-Reducer 10 [SIMPLE_EDGE] llap
-                      SHUFFLE [RS_42]
-                        PartitionCols:_col1
-                        Merge Join Operator [MERGEJOIN_125] (rows=1127 width=10)
-                          Conds:Union 9._col0=RS_40._col1(Inner),Output:["_col1"]
-                        <-Map 14 [SIMPLE_EDGE] llap
-                          SHUFFLE [RS_40]
-                            PartitionCols:_col1
-                            Select Operator [SEL_35] (rows=500 width=10)
-                              Output:["_col0","_col1"]
-                              Filter Operator [FIL_115] (rows=500 width=10)
-                                predicate:(key is not null and value is not null)
-                                TableScan [TS_33] (rows=500 width=10)
-                                  default@src,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-                        <-Union 9 [SIMPLE_EDGE]
-                          <-Map 12 [CONTAINS] llap
-                            Reduce Output Operator [RS_39]
-                              PartitionCols:_col0
-                              Select Operator [SEL_26] (rows=500 width=10)
-                                Output:["_col0"]
-                                Filter Operator [FIL_113] (rows=500 width=10)
-                                  predicate:value is not null
-                                  TableScan [TS_24] (rows=500 width=10)
-                                    Output:["value"]
-                          <-Map 13 [CONTAINS] llap
-                            Reduce Output Operator [RS_39]
-                              PartitionCols:_col0
-                              Select Operator [SEL_31] (rows=500 width=10)
-                                Output:["_col0"]
-                                Filter Operator [FIL_114] (rows=500 width=10)
-                                  predicate:value is not null
-                                  TableScan [TS_29] (rows=500 width=10)
-                                    Output:["value"]
-                          <-Map 8 [CONTAINS] llap
-                            Reduce Output Operator [RS_39]
-                              PartitionCols:_col0
-                              Select Operator [SEL_23] (rows=25 width=7)
-                                Output:["_col0"]
-                                Filter Operator [FIL_112] (rows=25 width=7)
-                                  predicate:value is not null
-                                  TableScan [TS_21] (rows=25 width=7)
-                                    Output:["value"]
-                File Output Operator [FS_81]
-                  table:{"name:":"default.b"}
-                   Please refer to the previous Select Operator [SEL_45]
-                File Output Operator [FS_83]
-                  table:{"name:":"default.c"}
-                   Please refer to the previous Select Operator [SEL_45]
               <-Reducer 3 [CONTAINS] llap
                 File Output Operator [FS_79]
                   table:{"name:":"default.a"}
@@ -2853,8 +2777,7 @@ Stage-5
                                 Output:["_col0","_col1"]
                                 Filter Operator [FIL_110] (rows=25 width=7)
                                   predicate:(key is not null and value is not null)
-                                  TableScan [TS_8] (rows=25 width=7)
-                                    default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+                                   Please refer to the previous TableScan [TS_8]
                           <-Select Operator [SEL_2] (rows=25 width=7)
                               Output:["_col0"]
                               Filter Operator [FIL_108] (rows=25 width=7)
@@ -2882,6 +2805,69 @@ Stage-5
                 File Output Operator [FS_83]
                   table:{"name:":"default.c"}
                    Please refer to the previous Select Operator [SEL_20]
+              <-Reducer 9 [CONTAINS] llap
+                File Output Operator [FS_79]
+                  table:{"name:":"default.a"}
+                  Select Operator [SEL_45] (rows=1239 width=10)
+                    Output:["_col0","_col1"]
+                    Merge Join Operator [MERGEJOIN_126] (rows=1239 width=10)
+                      Conds:RS_42._col1=RS_43._col0(Inner),Output:["_col1","_col4"]
+                    <-Map 14 [SIMPLE_EDGE] llap
+                      SHUFFLE [RS_43]
+                        PartitionCols:_col0
+                        Select Operator [SEL_38] (rows=500 width=10)
+                          Output:["_col0","_col1"]
+                          Filter Operator [FIL_116] (rows=500 width=10)
+                            predicate:key is not null
+                            TableScan [TS_36] (rows=500 width=10)
+                              default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
+                    <-Reducer 8 [SIMPLE_EDGE] llap
+                      SHUFFLE [RS_42]
+                        PartitionCols:_col1
+                        Merge Join Operator [MERGEJOIN_125] (rows=1127 width=10)
+                          Conds:Union 11._col0=RS_40._col1(Inner),Output:["_col1"]
+                        <-Map 7 [SIMPLE_EDGE] llap
+                          SHUFFLE [RS_40]
+                            PartitionCols:_col1
+                            Select Operator [SEL_35] (rows=500 width=10)
+                              Output:["_col0","_col1"]
+                              Filter Operator [FIL_115] (rows=500 width=10)
+                                predicate:(key is not null and value is not null)
+                                 Please refer to the previous TableScan [TS_11]
+                        <-Union 11 [SIMPLE_EDGE]
+                          <-Map 10 [CONTAINS] llap
+                            Reduce Output Operator [RS_39]
+                              PartitionCols:_col0
+                              Select Operator [SEL_23] (rows=25 width=7)
+                                Output:["_col0"]
+                                Filter Operator [FIL_112] (rows=25 width=7)
+                                  predicate:value is not null
+                                  TableScan [TS_21] (rows=25 width=7)
+                                    Output:["value"]
+                          <-Map 12 [CONTAINS] llap
+                            Reduce Output Operator [RS_39]
+                              PartitionCols:_col0
+                              Select Operator [SEL_26] (rows=500 width=10)
+                                Output:["_col0"]
+                                Filter Operator [FIL_113] (rows=500 width=10)
+                                  predicate:value is not null
+                                  TableScan [TS_24] (rows=500 width=10)
+                                    Output:["value"]
+                          <-Map 13 [CONTAINS] llap
+                            Reduce Output Operator [RS_39]
+                              PartitionCols:_col0
+                              Select Operator [SEL_31] (rows=500 width=10)
+                                Output:["_col0"]
+                                Filter Operator [FIL_114] (rows=500 width=10)
+                                  predicate:value is not null
+                                  TableScan [TS_29] (rows=500 width=10)
+                                    Output:["value"]
+                File Output Operator [FS_81]
+                  table:{"name:":"default.b"}
+                   Please refer to the previous Select Operator [SEL_45]
+                File Output Operator [FS_83]
+                  table:{"name:":"default.c"}
+                   Please refer to the previous Select Operator [SEL_45]
 Stage-6
   Stats-Aggr Operator
     Stage-1
@@ -2931,23 +2917,23 @@ Plan optimized by CBO.
 
 Vertex dependency in root stage
 Map 1 <- Union 2 (CONTAINS)
-Map 12 <- Union 13 (CONTAINS)
-Map 19 <- Union 13 (CONTAINS)
-Map 20 <- Union 15 (CONTAINS)
-Map 23 <- Map 24 (BROADCAST_EDGE)
-Map 25 <- Union 26 (CONTAINS)
-Map 32 <- Union 26 (CONTAINS)
-Map 33 <- Union 28 (CONTAINS)
-Map 34 <- Union 30 (CONTAINS)
+Map 10 <- Map 22 (BROADCAST_EDGE)
+Map 14 <- Union 15 (CONTAINS)
+Map 19 <- Union 15 (CONTAINS)
+Map 20 <- Union 17 (CONTAINS)
+Map 23 <- Union 24 (CONTAINS)
+Map 30 <- Union 24 (CONTAINS)
+Map 31 <- Union 26 (CONTAINS)
+Map 32 <- Union 28 (CONTAINS)
 Map 9 <- Union 2 (CONTAINS)
-Reducer 14 <- Union 13 (SIMPLE_EDGE), Union 15 (CONTAINS)
-Reducer 16 <- Union 15 (SIMPLE_EDGE)
-Reducer 17 <- Map 21 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE)
-Reducer 18 <- Map 22 (SIMPLE_EDGE), Reducer 17 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 12 <- Map 11 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE)
+Reducer 13 <- Map 21 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 16 <- Union 15 (SIMPLE_EDGE), Union 17 (CONTAINS)
+Reducer 18 <- Union 17 (SIMPLE_EDGE)
+Reducer 25 <- Union 24 (SIMPLE_EDGE), Union 26 (CONTAINS)
 Reducer 27 <- Union 26 (SIMPLE_EDGE), Union 28 (CONTAINS)
-Reducer 29 <- Union 28 (SIMPLE_EDGE), Union 30 (CONTAINS)
+Reducer 29 <- Map 10 (BROADCAST_EDGE), Union 28 (SIMPLE_EDGE), Union 7 (CONTAINS)
 Reducer 3 <- Map 10 (BROADCAST_EDGE), Union 2 (SIMPLE_EDGE)
-Reducer 31 <- Map 23 (BROADCAST_EDGE), Union 30 (SIMPLE_EDGE), Union 7 (CONTAINS)
 Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS)
 Reducer 6 <- Union 5 (SIMPLE_EDGE), Union 7 (CONTAINS)
 Reducer 8 <- Union 7 (SIMPLE_EDGE)
@@ -2966,7 +2952,7 @@ Stage-5
                 Group By Operator [GBY_120] (rows=530 width=10)
                   Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                 <-Union 7 [SIMPLE_EDGE]
-                  <-Reducer 31 [CONTAINS] llap
+                  <-Reducer 29 [CONTAINS] llap
                     Reduce Output Operator [RS_119]
                       PartitionCols:_col0, _col1
                       Group By Operator [GBY_118] (rows=1061 width=10)
@@ -2975,12 +2961,12 @@ Stage-5
                           Output:["_col0","_col1"]
                           Map Join Operator [MAPJOIN_172] (rows=484 width=10)
                             Conds:RS_111._col1=SEL_107._col1(Inner),Output:["_col0","_col3"]
-                          <-Map 23 [BROADCAST_EDGE] llap
+                          <-Map 10 [BROADCAST_EDGE] llap
                             BROADCAST [RS_111]
                               PartitionCols:_col1
                               Map Join Operator [MAPJOIN_171] (rows=27 width=7)
                                 Conds:SEL_71._col0=RS_109._col0(Inner),Output:["_col0","_col1","_col3"]
-                              <-Map 24 [BROADCAST_EDGE] llap
+                              <-Map 22 [BROADCAST_EDGE] llap
                                 BROADCAST [RS_109]
                                   PartitionCols:_col0
                                   Select Operator [SEL_74] (rows=25 width=7)
@@ -2993,14 +2979,14 @@ Stage-5
                                   Output:["_col0","_col1"]
                                   Filter Operator [FIL_161] (rows=25 width=7)
                                     predicate:(key is not null and value is not null)
-                                    TableScan [TS_69] (rows=25 width=7)
+                                    TableScan [TS_13] (rows=25 width=7)
                                       default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
                           <-Select Operator [SEL_107] (rows=440 width=10)
                               Output:["_col1"]
                               Group By Operator [GBY_106] (rows=440 width=10)
                                 Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
-                              <-Union 30 [SIMPLE_EDGE]
-                                <-Map 34 [CONTAINS] llap
+                              <-Union 28 [SIMPLE_EDGE]
+                                <-Map 32 [CONTAINS] llap
                                   Reduce Output Operator [RS_105]
                                     PartitionCols:_col0, _col1
                                     Group By Operator [GBY_104] (rows=881 width=10)
@@ -3011,7 +2997,7 @@ Stage-5
                                           predicate:value is not null
                                           TableScan [TS_98] (rows=500 width=10)
                                             Output:["key","value"]
-                                <-Reducer 29 [CONTAINS] llap
+                                <-Reducer 27 [CONTAINS] llap
                                   Reduce Output Operator [RS_105]
                                     PartitionCols:_col0, _col1
                                     Group By Operator [GBY_104] (rows=881 width=10)
@@ -3020,8 +3006,8 @@ Stage-5
                                         Output:["_col0","_col1"]
                                         Group By Operator [GBY_96] (rows=381 width=10)
                                           Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
-                                        <-Union 28 [SIMPLE_EDGE]
-                                          <-Map 33 [CONTAINS] llap
+                                        <-Union 26 [SIMPLE_EDGE]
+                                          <-Map 31 [CONTAINS] llap
                                             Reduce Output Operator [RS_95]
                                               PartitionCols:_col0, _col1
                                               Group By Operator [GBY_94] (rows=762 width=10)
@@ -3032,7 +3018,7 @@ Stage-5
                                                     predicate:value is not null
                                                     TableScan [TS_88] (rows=500 width=10)
                                                       Output:["key","value"]
-                                          <-Reducer 27 [CONTAINS] llap
+                                          <-Reducer 25 [CONTAINS] llap
                                             Reduce Output Operator [RS_95]
                                               PartitionCols:_col0, _col1
                                               Group By Operator [GBY_94] (rows=762 width=10)
@@ -3041,8 +3027,8 @@ Stage-5
                                                   Output:["_col0","_col1"]
                                                   Group By Operator [GBY_86] (rows=262 width=10)
                                                     Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
-                                                  <-Union 26 [SIMPLE_EDGE]
-                                                    <-Map 25 [CONTAINS] llap
+                                                  <-Union 24 [SIMPLE_EDGE]
+                                                    <-Map 23 [CONTAINS] llap
                                                       Reduce Output Operator [RS_85]
                                                         PartitionCols:_col0, _col1
                                                         Group By Operator [GBY_84] (rows=525 width=10)
@@ -3053,7 +3039,7 @@ Stage-5
                                                               predicate:value is not null
                                                               TableScan [TS_75] (rows=25 width=7)
                                                                 Output:["key","value"]
-                                                    <-Map 32 [CONTAINS] llap
+                                                    <-Map 30 [CONTAINS] llap
                                                       Reduce Output Operator [RS_85]
                                                         PartitionCols:_col0, _col1
                                                         Group By Operator [GBY_84] (rows=525 width=10)
@@ -3072,7 +3058,7 @@ Stage-5
                         Group By Operator [GBY_67] (rows=577 width=10)
                           Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
                         <-Union 5 [SIMPLE_EDGE]
-                          <-Reducer 18 [CONTAINS] llap
+                          <-Reducer 13 [CONTAINS] llap
                             Reduce Output Operator [RS_66]
                               PartitionCols:_col0, _col1
                               Group By Operator [GBY_65] (rows=1155 width=10)
@@ -3081,7 +3067,7 @@ Stage-5
                                   Output:["_col0","_col1"]
                                   Merge Join Operator [MERGEJOIN_170] (rows=605 width=10)
                                     Conds:RS_58._col2=RS_59._col0(Inner),Output:["_col2","_col5"]
-                                  <-Map 22 [SIMPLE_EDGE] llap
+                                  <-Map 21 [SIMPLE_EDGE] llap
                                     SHUFFLE [RS_59]
                                       PartitionCols:_col0
                                       Select Operator [SEL_54] (rows=500 width=10)
@@ -3090,28 +3076,28 @@ Stage-5
                                           predicate:key is not null
                                           TableScan [TS_52] (rows=500 width=10)
                                             default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"]
-                                  <-Reducer 17 [SIMPLE_EDGE] llap
+                                  <-Reducer 12 [SIMPLE_EDGE] llap
                                     SHUFFLE [RS_58]
        

<TRUNCATED>