Updated golden files

git-svn-id: https://svn.apache.org/repos/asf/hive/branches/cbo@1674737 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out b/ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out
index 66e0e9f..4a5d02d 100644
--- a/ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out
+++ b/ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out
@@ -808,21 +808,6 @@
             alias: s
             Statistics: Num rows: 12 Data size: 3143 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
-              predicate: ((s_floor_space > 1000) and s_store_sk is not null) (type: boolean)
-              Statistics: Num rows: 4 Data size: 32 Basic stats: COMPLETE Column stats: COMPLETE
-              Select Operator
-                expressions: s_store_sk (type: int)
-                outputColumnNames: _col0
-                Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
-                Reduce Output Operator
-                  key expressions: _col0 (type: int)
-                  sort order: +
-                  Map-reduce partition columns: _col0 (type: int)
-                  Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
-          TableScan
-            alias: s
-            Statistics: Num rows: 12 Data size: 3143 Basic stats: COMPLETE Column stats: COMPLETE
-            Filter Operator
               predicate: s_store_sk is not null (type: boolean)
               Statistics: Num rows: 12 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
               Select Operator
@@ -834,6 +819,21 @@
                   sort order: +
                   Map-reduce partition columns: _col0 (type: int)
                   Statistics: Num rows: 12 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
+          TableScan
+            alias: s
+            Statistics: Num rows: 12 Data size: 3143 Basic stats: COMPLETE Column stats: COMPLETE
+            Filter Operator
+              predicate: ((s_floor_space > 1000) and s_store_sk is not null) (type: boolean)
+              Statistics: Num rows: 4 Data size: 32 Basic stats: COMPLETE Column stats: COMPLETE
+              Select Operator
+                expressions: s_store_sk (type: int)
+                outputColumnNames: _col0
+                Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
+                Reduce Output Operator
+                  key expressions: _col0 (type: int)
+                  sort order: +
+                  Map-reduce partition columns: _col0 (type: int)
+                  Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
       Reduce Operator Tree:
         Join Operator
           condition map:
@@ -843,10 +843,10 @@
             0 _col0 (type: int)
             1 _col0 (type: int)
             2 _col0 (type: int)
-          outputColumnNames: _col1
+          outputColumnNames: _col2
           Statistics: Num rows: 322 Data size: 1288 Basic stats: COMPLETE Column stats: COMPLETE
           Select Operator
-            expressions: _col1 (type: int)
+            expressions: _col2 (type: int)
             outputColumnNames: _col0
             Statistics: Num rows: 322 Data size: 1288 Basic stats: COMPLETE Column stats: COMPLETE
             File Output Operator
diff --git a/ql/src/test/results/clientpositive/correlationoptimizer12.q.out b/ql/src/test/results/clientpositive/correlationoptimizer12.q.out
index fe1f509..a541950 100644
--- a/ql/src/test/results/clientpositive/correlationoptimizer12.q.out
+++ b/ql/src/test/results/clientpositive/correlationoptimizer12.q.out
@@ -52,7 +52,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: count_window_0
                         arguments: _col1
                         name: count
                         window function: GenericUDAFCountEvaluator
@@ -62,7 +62,7 @@
               predicate: _col0 is not null (type: boolean)
               Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
               Select Operator
-                expressions: _col0 (type: string), _wcol0 (type: bigint)
+                expressions: _col0 (type: string), count_window_0 (type: bigint)
                 outputColumnNames: _col0, _col1
                 Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
@@ -137,7 +137,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: count_window_0
                         arguments: _col1
                         name: count
                         window function: GenericUDAFCountEvaluator
@@ -147,7 +147,7 @@
               predicate: _col0 is not null (type: boolean)
               Statistics: Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
               Select Operator
-                expressions: _col0 (type: string), _wcol0 (type: bigint)
+                expressions: _col0 (type: string), count_window_0 (type: bigint)
                 outputColumnNames: _col0, _col1
                 Statistics: Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
diff --git a/ql/src/test/results/clientpositive/ctas_colname.q.out b/ql/src/test/results/clientpositive/ctas_colname.q.out
index 85ea5e1..3ecfbf2 100644
--- a/ql/src/test/results/clientpositive/ctas_colname.q.out
+++ b/ql/src/test/results/clientpositive/ctas_colname.q.out
@@ -198,7 +198,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -206,7 +206,7 @@
                         isPivotResult: true
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col0 (type: string), _col1 (type: string), _wcol0 (type: int)
+              expressions: _col0 (type: string), _col1 (type: string), rank_window_0 (type: int)
               outputColumnNames: _col0, _col1, _col2
               Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -360,7 +360,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: lead_window_0
                         arguments: _col0, 1
                         name: lead
                         window function: GenericUDAFLeadEvaluator
@@ -368,7 +368,7 @@
                         isPivotResult: true
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col0 (type: string), _col1 (type: string), _wcol0 (type: string)
+              expressions: _col0 (type: string), _col1 (type: string), lead_window_0 (type: string)
               outputColumnNames: _col0, _col1, _col2
               Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
               Limit
diff --git a/ql/src/test/results/clientpositive/groupby_grouping_window.q.out b/ql/src/test/results/clientpositive/groupby_grouping_window.q.out
index b2434c5..d925168 100644
--- a/ql/src/test/results/clientpositive/groupby_grouping_window.q.out
+++ b/ql/src/test/results/clientpositive/groupby_grouping_window.q.out
@@ -106,7 +106,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col3
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -114,7 +114,7 @@
                         isPivotResult: true
             Statistics: Num rows: 1 Data size: 6 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col0 (type: int), _col2 (type: int), _col3 (type: int), _wcol0 (type: int)
+              expressions: _col0 (type: int), _col2 (type: int), _col3 (type: int), rank_window_0 (type: int)
               outputColumnNames: _col0, _col1, _col2, _col3
               Statistics: Num rows: 1 Data size: 6 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
diff --git a/ql/src/test/results/clientpositive/groupby_resolution.q.out b/ql/src/test/results/clientpositive/groupby_resolution.q.out
index c371f5c..7df53f2 100644
--- a/ql/src/test/results/clientpositive/groupby_resolution.q.out
+++ b/ql/src/test/results/clientpositive/groupby_resolution.q.out
@@ -690,7 +690,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -698,7 +698,7 @@
                         isPivotResult: true
             Statistics: Num rows: 83 Data size: 881 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col0 (type: string), _col1 (type: bigint), _wcol0 (type: int)
+              expressions: _col0 (type: string), _col1 (type: bigint), rank_window_0 (type: int)
               outputColumnNames: _col0, _col1, _col2
               Statistics: Num rows: 83 Data size: 881 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
diff --git a/ql/src/test/results/clientpositive/join32.q.out b/ql/src/test/results/clientpositive/join32.q.out
index a05a356..d9e8dd3 100644
--- a/ql/src/test/results/clientpositive/join32.q.out
+++ b/ql/src/test/results/clientpositive/join32.q.out
@@ -109,25 +109,71 @@
   Stage: Stage-7
     Map Reduce Local Work
       Alias -> Map Local Tables:
-        $hdt$_0:y 
+        $hdt$_0:z 
           Fetch Operator
             limit: -1
+            Partition Description:
+                Partition
+                  base file name: hr=11
+                  input format: org.apache.hadoop.mapred.TextInputFormat
+                  output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                  partition values:
+                    ds 2008-04-08
+                    hr 11
+                  properties:
+                    COLUMN_STATS_ACCURATE true
+                    bucket_count -1
+                    columns key,value
+                    columns.comments 'default','default'
+                    columns.types string:string
+#### A masked pattern was here ####
+                    name default.srcpart
+                    numFiles 1
+                    numRows 500
+                    partition_columns ds/hr
+                    partition_columns.types string:string
+                    rawDataSize 5312
+                    serialization.ddl struct srcpart { string key, string value}
+                    serialization.format 1
+                    serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                    totalSize 5812
+#### A masked pattern was here ####
+                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                
+                    input format: org.apache.hadoop.mapred.TextInputFormat
+                    output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                    properties:
+                      bucket_count -1
+                      columns key,value
+                      columns.comments 'default','default'
+                      columns.types string:string
+#### A masked pattern was here ####
+                      name default.srcpart
+                      partition_columns ds/hr
+                      partition_columns.types string:string
+                      serialization.ddl struct srcpart { string key, string value}
+                      serialization.format 1
+                      serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+#### A masked pattern was here ####
+                    serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                    name: default.srcpart
+                  name: default.srcpart
         $hdt$_1:$hdt$_2:x 
           Fetch Operator
             limit: -1
       Alias -> Map Local Operator Tree:
-        $hdt$_0:y 
+        $hdt$_0:z 
           TableScan
-            alias: y
+            alias: z
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
               isSamplingPred: false
-              predicate: key is not null (type: boolean)
+              predicate: ((11.0 = 11.0) and value is not null) (type: boolean)
               Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
               Select Operator
-                expressions: key (type: string), value (type: string)
-                outputColumnNames: _col0, _col1
+                expressions: value (type: string)
+                outputColumnNames: _col0
                 Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                 HashTable Sink Operator
                   keys:
@@ -141,7 +187,7 @@
             GatherStats: false
             Filter Operator
               isSamplingPred: false
-              predicate: (value is not null and key is not null) (type: boolean)
+              predicate: (key is not null and value is not null) (type: boolean)
               Statistics: Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -150,31 +196,31 @@
                 HashTable Sink Operator
                   keys:
                     0 _col0 (type: string)
-                    1 _col1 (type: string)
+                    1 _col0 (type: string)
                   Position of Big Table: 0
 
   Stage: Stage-5
     Map Reduce
       Map Operator Tree:
           TableScan
-            alias: z
+            alias: y
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
               isSamplingPred: false
-              predicate: ((11.0 = 11.0) and value is not null) (type: boolean)
+              predicate: key is not null (type: boolean)
               Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
               Select Operator
-                expressions: value (type: string)
-                outputColumnNames: _col0
+                expressions: key (type: string), value (type: string)
+                outputColumnNames: _col0, _col1
                 Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                 Map Join Operator
                   condition map:
                        Inner Join 0 to 1
                   keys:
                     0 _col0 (type: string)
-                    1 _col1 (type: string)
-                  outputColumnNames: _col0, _col3
+                    1 _col0 (type: string)
+                  outputColumnNames: _col1, _col2, _col3
                   Position of Big Table: 0
                   Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
                   Map Join Operator
@@ -183,11 +229,11 @@
                     keys:
                       0 _col0 (type: string)
                       1 _col3 (type: string)
-                    outputColumnNames: _col1, _col2, _col5
+                    outputColumnNames: _col0, _col4, _col5
                     Position of Big Table: 1
                     Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
-                      expressions: _col5 (type: string), _col2 (type: string), _col1 (type: string)
+                      expressions: _col5 (type: string), _col0 (type: string), _col4 (type: string)
                       outputColumnNames: _col0, _col1, _col2
                       Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
                       File Output Operator
@@ -356,7 +402,7 @@
               name: default.srcpart
             name: default.srcpart
       Truncated Path -> Alias:
-        /srcpart/ds=2008-04-08/hr=11 [$hdt$_1:$hdt$_1:z]
+        /src [$hdt$_1:$hdt$_1:y]
 
   Stage: Stage-0
     Move Operator
@@ -405,8 +451,8 @@
 POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11
 POSTHOOK: Output: default@dest_j1
 POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: dest_j1.val2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: dest_j1.value EXPRESSION [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ]
 PREHOOK: query: select * from dest_j1
 PREHOOK: type: QUERY
 PREHOOK: Input: default@dest_j1
diff --git a/ql/src/test/results/clientpositive/join32_lessSize.q.out b/ql/src/test/results/clientpositive/join32_lessSize.q.out
index 136c306..9e3d06d 100644
--- a/ql/src/test/results/clientpositive/join32_lessSize.q.out
+++ b/ql/src/test/results/clientpositive/join32_lessSize.q.out
@@ -130,7 +130,7 @@
             GatherStats: false
             Filter Operator
               isSamplingPred: false
-              predicate: (value is not null and key is not null) (type: boolean)
+              predicate: (key is not null and value is not null) (type: boolean)
               Statistics: Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -139,31 +139,31 @@
                 HashTable Sink Operator
                   keys:
                     0 _col0 (type: string)
-                    1 _col1 (type: string)
+                    1 _col0 (type: string)
                   Position of Big Table: 0
 
   Stage: Stage-6
     Map Reduce
       Map Operator Tree:
           TableScan
-            alias: z
+            alias: y
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
               isSamplingPred: false
-              predicate: ((11.0 = 11.0) and value is not null) (type: boolean)
+              predicate: key is not null (type: boolean)
               Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
               Select Operator
-                expressions: value (type: string)
-                outputColumnNames: _col0
+                expressions: key (type: string), value (type: string)
+                outputColumnNames: _col0, _col1
                 Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                 Map Join Operator
                   condition map:
                        Inner Join 0 to 1
                   keys:
                     0 _col0 (type: string)
-                    1 _col1 (type: string)
-                  outputColumnNames: _col0, _col3
+                    1 _col0 (type: string)
+                  outputColumnNames: _col1, _col2, _col3
                   Position of Big Table: 0
                   Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
                   File Output Operator
@@ -175,8 +175,8 @@
                         input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                         output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
                         properties:
-                          columns _col0,_col3
-                          columns.types string,string
+                          columns _col1,_col2,_col3
+                          columns.types string,string,string
                           escape.delim \
                           serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
                         serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
@@ -190,6 +190,50 @@
       Path -> Partition:
 #### A masked pattern was here ####
           Partition
+            base file name: src
+            input format: org.apache.hadoop.mapred.TextInputFormat
+            output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+            properties:
+              COLUMN_STATS_ACCURATE true
+              bucket_count -1
+              columns key,value
+              columns.comments 'default','default'
+              columns.types string:string
+#### A masked pattern was here ####
+              name default.src
+              numFiles 1
+              numRows 500
+              rawDataSize 5312
+              serialization.ddl struct src { string key, string value}
+              serialization.format 1
+              serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+              totalSize 5812
+#### A masked pattern was here ####
+            serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+          
+              input format: org.apache.hadoop.mapred.TextInputFormat
+              output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+              properties:
+                COLUMN_STATS_ACCURATE true
+                bucket_count -1
+                columns key,value
+                columns.comments 'default','default'
+                columns.types string:string
+#### A masked pattern was here ####
+                name default.src
+                numFiles 1
+                numRows 500
+                rawDataSize 5312
+                serialization.ddl struct src { string key, string value}
+                serialization.format 1
+                serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                totalSize 5812
+#### A masked pattern was here ####
+              serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+              name: default.src
+            name: default.src
+#### A masked pattern was here ####
+          Partition
             base file name: src1
             input format: org.apache.hadoop.mapred.TextInputFormat
             output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -232,6 +276,150 @@
               serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
               name: default.src1
             name: default.src1
+      Truncated Path -> Alias:
+        /src [$hdt$_1:$hdt$_1:y]
+
+  Stage: Stage-7
+    Map Reduce Local Work
+      Alias -> Map Local Tables:
+        $hdt$_0:z 
+          Fetch Operator
+            limit: -1
+            Partition Description:
+                Partition
+                  base file name: hr=11
+                  input format: org.apache.hadoop.mapred.TextInputFormat
+                  output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                  partition values:
+                    ds 2008-04-08
+                    hr 11
+                  properties:
+                    COLUMN_STATS_ACCURATE true
+                    bucket_count -1
+                    columns key,value
+                    columns.comments 'default','default'
+                    columns.types string:string
+#### A masked pattern was here ####
+                    name default.srcpart
+                    numFiles 1
+                    numRows 500
+                    partition_columns ds/hr
+                    partition_columns.types string:string
+                    rawDataSize 5312
+                    serialization.ddl struct srcpart { string key, string value}
+                    serialization.format 1
+                    serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                    totalSize 5812
+#### A masked pattern was here ####
+                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                
+                    input format: org.apache.hadoop.mapred.TextInputFormat
+                    output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                    properties:
+                      bucket_count -1
+                      columns key,value
+                      columns.comments 'default','default'
+                      columns.types string:string
+#### A masked pattern was here ####
+                      name default.srcpart
+                      partition_columns ds/hr
+                      partition_columns.types string:string
+                      serialization.ddl struct srcpart { string key, string value}
+                      serialization.format 1
+                      serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+#### A masked pattern was here ####
+                    serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                    name: default.srcpart
+                  name: default.srcpart
+      Alias -> Map Local Operator Tree:
+        $hdt$_0:z 
+          TableScan
+            alias: z
+            Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+            GatherStats: false
+            Filter Operator
+              isSamplingPred: false
+              predicate: ((11.0 = 11.0) and value is not null) (type: boolean)
+              Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: value (type: string)
+                outputColumnNames: _col0
+                Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                HashTable Sink Operator
+                  keys:
+                    0 _col0 (type: string)
+                    1 _col3 (type: string)
+                  Position of Big Table: 1
+
+  Stage: Stage-5
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            GatherStats: false
+            Map Join Operator
+              condition map:
+                   Inner Join 0 to 1
+              keys:
+                0 _col0 (type: string)
+                1 _col3 (type: string)
+              outputColumnNames: _col0, _col4, _col5
+              Position of Big Table: 1
+              Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: _col5 (type: string), _col0 (type: string), _col4 (type: string)
+                outputColumnNames: _col0, _col1, _col2
+                Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
+                File Output Operator
+                  compressed: false
+                  GlobalTableId: 1
+#### A masked pattern was here ####
+                  NumFilesPerFileSink: 1
+                  Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
+#### A masked pattern was here ####
+                  table:
+                      input format: org.apache.hadoop.mapred.TextInputFormat
+                      output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                      properties:
+                        bucket_count -1
+                        columns key,value,val2
+                        columns.comments 
+                        columns.types string:string:string
+#### A masked pattern was here ####
+                        name default.dest_j1
+                        serialization.ddl struct dest_j1 { string key, string value, string val2}
+                        serialization.format 1
+                        serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+#### A masked pattern was here ####
+                      serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                      name: default.dest_j1
+                  TotalFiles: 1
+                  GatherStats: true
+                  MultiFileSpray: false
+      Local Work:
+        Map Reduce Local Work
+      Path -> Alias:
+#### A masked pattern was here ####
+      Path -> Partition:
+#### A masked pattern was here ####
+          Partition
+            base file name: -mr-10001
+            input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+            output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+            properties:
+              columns _col1,_col2,_col3
+              columns.types string,string,string
+              escape.delim \
+              serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+            serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+          
+              input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+              output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+              properties:
+                columns _col1,_col2,_col3
+                columns.types string,string,string
+                escape.delim \
+                serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+              serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
 #### A masked pattern was here ####
           Partition
             base file name: hr=11
@@ -279,148 +467,6 @@
               name: default.srcpart
             name: default.srcpart
       Truncated Path -> Alias:
-        /srcpart/ds=2008-04-08/hr=11 [$hdt$_1:$hdt$_1:z]
-
-  Stage: Stage-7
-    Map Reduce Local Work
-      Alias -> Map Local Tables:
-        $hdt$_0:y 
-          Fetch Operator
-            limit: -1
-      Alias -> Map Local Operator Tree:
-        $hdt$_0:y 
-          TableScan
-            alias: y
-            Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-            GatherStats: false
-            Filter Operator
-              isSamplingPred: false
-              predicate: key is not null (type: boolean)
-              Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-              Select Operator
-                expressions: key (type: string), value (type: string)
-                outputColumnNames: _col0, _col1
-                Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-                HashTable Sink Operator
-                  keys:
-                    0 _col0 (type: string)
-                    1 _col3 (type: string)
-                  Position of Big Table: 1
-
-  Stage: Stage-5
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            GatherStats: false
-            Map Join Operator
-              condition map:
-                   Inner Join 0 to 1
-              keys:
-                0 _col0 (type: string)
-                1 _col3 (type: string)
-              outputColumnNames: _col1, _col2, _col5
-              Position of Big Table: 1
-              Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
-              Select Operator
-                expressions: _col5 (type: string), _col2 (type: string), _col1 (type: string)
-                outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
-                File Output Operator
-                  compressed: false
-                  GlobalTableId: 1
-#### A masked pattern was here ####
-                  NumFilesPerFileSink: 1
-                  Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
-#### A masked pattern was here ####
-                  table:
-                      input format: org.apache.hadoop.mapred.TextInputFormat
-                      output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-                      properties:
-                        bucket_count -1
-                        columns key,value,val2
-                        columns.comments 
-                        columns.types string:string:string
-#### A masked pattern was here ####
-                        name default.dest_j1
-                        serialization.ddl struct dest_j1 { string key, string value, string val2}
-                        serialization.format 1
-                        serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-#### A masked pattern was here ####
-                      serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-                      name: default.dest_j1
-                  TotalFiles: 1
-                  GatherStats: true
-                  MultiFileSpray: false
-      Local Work:
-        Map Reduce Local Work
-      Path -> Alias:
-#### A masked pattern was here ####
-      Path -> Partition:
-#### A masked pattern was here ####
-          Partition
-            base file name: -mr-10001
-            input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-            output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-            properties:
-              columns _col0,_col3
-              columns.types string,string
-              escape.delim \
-              serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-            serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-          
-              input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-              output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-              properties:
-                columns _col0,_col3
-                columns.types string,string
-                escape.delim \
-                serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-              serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-#### A masked pattern was here ####
-          Partition
-            base file name: src
-            input format: org.apache.hadoop.mapred.TextInputFormat
-            output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-            properties:
-              COLUMN_STATS_ACCURATE true
-              bucket_count -1
-              columns key,value
-              columns.comments 'default','default'
-              columns.types string:string
-#### A masked pattern was here ####
-              name default.src
-              numFiles 1
-              numRows 500
-              rawDataSize 5312
-              serialization.ddl struct src { string key, string value}
-              serialization.format 1
-              serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-              totalSize 5812
-#### A masked pattern was here ####
-            serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-          
-              input format: org.apache.hadoop.mapred.TextInputFormat
-              output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-              properties:
-                COLUMN_STATS_ACCURATE true
-                bucket_count -1
-                columns key,value
-                columns.comments 'default','default'
-                columns.types string:string
-#### A masked pattern was here ####
-                name default.src
-                numFiles 1
-                numRows 500
-                rawDataSize 5312
-                serialization.ddl struct src { string key, string value}
-                serialization.format 1
-                serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-                totalSize 5812
-#### A masked pattern was here ####
-              serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-              name: default.src
-            name: default.src
-      Truncated Path -> Alias:
 #### A masked pattern was here ####
 
   Stage: Stage-0
@@ -470,8 +516,8 @@
 POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11
 POSTHOOK: Output: default@dest_j1
 POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: dest_j1.val2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: dest_j1.value EXPRESSION [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ]
 PREHOOK: query: select * from dest_j1
 PREHOOK: type: QUERY
 PREHOOK: Input: default@dest_j1
@@ -657,27 +703,28 @@
   Stage-8 depends on stages: Stage-11
   Stage-10 depends on stages: Stage-8
   Stage-7 depends on stages: Stage-10
-  Stage-9 depends on stages: Stage-7
-  Stage-6 depends on stages: Stage-9
-  Stage-0 depends on stages: Stage-6
+  Stage-0 depends on stages: Stage-7
   Stage-2 depends on stages: Stage-0
 
 STAGE PLANS:
   Stage: Stage-11
     Map Reduce Local Work
       Alias -> Map Local Tables:
-        $hdt$_1:$hdt$_2:$hdt$_2:x 
+        $hdt$_1:$hdt$_2:x 
+          Fetch Operator
+            limit: -1
+        $hdt$_1:$hdt$_3:x 
           Fetch Operator
             limit: -1
       Alias -> Map Local Operator Tree:
-        $hdt$_1:$hdt$_2:$hdt$_2:x 
+        $hdt$_1:$hdt$_2:x 
           TableScan
             alias: x
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
               isSamplingPred: false
-              predicate: (key is not null and value is not null) (type: boolean)
+              predicate: (value is not null and key is not null) (type: boolean)
               Statistics: Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -686,12 +733,9 @@
                 HashTable Sink Operator
                   keys:
                     0 _col0 (type: string)
-                    1 _col0 (type: string)
-                  Position of Big Table: 1
-
-  Stage: Stage-8
-    Map Reduce
-      Map Operator Tree:
+                    1 _col1 (type: string)
+                  Position of Big Table: 0
+        $hdt$_1:$hdt$_3:x 
           TableScan
             alias: x
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
@@ -704,32 +748,62 @@
                 expressions: key (type: string), value (type: string)
                 outputColumnNames: _col0, _col1
                 Statistics: Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
+                HashTable Sink Operator
+                  keys:
+                    0 _col1 (type: string)
+                    1 _col0 (type: string)
+                  Position of Big Table: 0
+
+  Stage: Stage-8
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: w
+            Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+            GatherStats: false
+            Filter Operator
+              isSamplingPred: false
+              predicate: value is not null (type: boolean)
+              Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: value (type: string)
+                outputColumnNames: _col0
+                Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                 Map Join Operator
                   condition map:
                        Inner Join 0 to 1
                   keys:
                     0 _col0 (type: string)
-                    1 _col0 (type: string)
-                  outputColumnNames: _col0, _col1, _col3
-                  Position of Big Table: 1
-                  Statistics: Num rows: 14 Data size: 108 Basic stats: COMPLETE Column stats: NONE
-                  File Output Operator
-                    compressed: false
-                    GlobalTableId: 0
+                    1 _col1 (type: string)
+                  outputColumnNames: _col1
+                  Position of Big Table: 0
+                  Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
+                  Map Join Operator
+                    condition map:
+                         Inner Join 0 to 1
+                    keys:
+                      0 _col1 (type: string)
+                      1 _col0 (type: string)
+                    outputColumnNames: _col1, _col4
+                    Position of Big Table: 0
+                    Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
+                    File Output Operator
+                      compressed: false
+                      GlobalTableId: 0
 #### A masked pattern was here ####
-                    NumFilesPerFileSink: 1
-                    table:
-                        input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                        output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                        properties:
-                          columns _col0,_col1,_col3
-                          columns.types string,string,string
-                          escape.delim \
-                          serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-                        serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-                    TotalFiles: 1
-                    GatherStats: false
-                    MultiFileSpray: false
+                      NumFilesPerFileSink: 1
+                      table:
+                          input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+                          output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                          properties:
+                            columns _col1,_col4
+                            columns.types string,string
+                            escape.delim \
+                            serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+                          serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+                      TotalFiles: 1
+                      GatherStats: false
+                      MultiFileSpray: false
       Local Work:
         Map Reduce Local Work
       Path -> Alias:
@@ -737,6 +811,50 @@
       Path -> Partition:
 #### A masked pattern was here ####
           Partition
+            base file name: src
+            input format: org.apache.hadoop.mapred.TextInputFormat
+            output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+            properties:
+              COLUMN_STATS_ACCURATE true
+              bucket_count -1
+              columns key,value
+              columns.comments 'default','default'
+              columns.types string:string
+#### A masked pattern was here ####
+              name default.src
+              numFiles 1
+              numRows 500
+              rawDataSize 5312
+              serialization.ddl struct src { string key, string value}
+              serialization.format 1
+              serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+              totalSize 5812
+#### A masked pattern was here ####
+            serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+          
+              input format: org.apache.hadoop.mapred.TextInputFormat
+              output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+              properties:
+                COLUMN_STATS_ACCURATE true
+                bucket_count -1
+                columns key,value
+                columns.comments 'default','default'
+                columns.types string:string
+#### A masked pattern was here ####
+                name default.src
+                numFiles 1
+                numRows 500
+                rawDataSize 5312
+                serialization.ddl struct src { string key, string value}
+                serialization.format 1
+                serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                totalSize 5812
+#### A masked pattern was here ####
+              serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+              name: default.src
+            name: default.src
+#### A masked pattern was here ####
+          Partition
             base file name: src1
             input format: org.apache.hadoop.mapred.TextInputFormat
             output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -780,140 +898,11 @@
               name: default.src1
             name: default.src1
       Truncated Path -> Alias:
-        /src1 [$hdt$_1:$hdt$_2:$hdt$_3:x]
+        /src [$hdt$_1:$hdt$_1:w]
 
   Stage: Stage-10
     Map Reduce Local Work
       Alias -> Map Local Tables:
-        $hdt$_1:$hdt$_1:w 
-          Fetch Operator
-            limit: -1
-      Alias -> Map Local Operator Tree:
-        $hdt$_1:$hdt$_1:w 
-          TableScan
-            alias: w
-            Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-            GatherStats: false
-            Filter Operator
-              isSamplingPred: false
-              predicate: value is not null (type: boolean)
-              Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-              Select Operator
-                expressions: value (type: string)
-                outputColumnNames: _col0
-                Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-                HashTable Sink Operator
-                  keys:
-                    0 _col0 (type: string)
-                    1 _col1 (type: string)
-                  Position of Big Table: 1
-
-  Stage: Stage-7
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            GatherStats: false
-            Map Join Operator
-              condition map:
-                   Inner Join 0 to 1
-              keys:
-                0 _col0 (type: string)
-                1 _col1 (type: string)
-              outputColumnNames: _col1, _col4
-              Position of Big Table: 1
-              Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-              File Output Operator
-                compressed: false
-                GlobalTableId: 0
-#### A masked pattern was here ####
-                NumFilesPerFileSink: 1
-                table:
-                    input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                    output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                    properties:
-                      columns _col1,_col4
-                      columns.types string,string
-                      escape.delim \
-                      serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-                    serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-                TotalFiles: 1
-                GatherStats: false
-                MultiFileSpray: false
-      Local Work:
-        Map Reduce Local Work
-      Path -> Alias:
-#### A masked pattern was here ####
-      Path -> Partition:
-#### A masked pattern was here ####
-          Partition
-            base file name: -mr-10002
-            input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-            output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-            properties:
-              columns _col0,_col1,_col3
-              columns.types string,string,string
-              escape.delim \
-              serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-            serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-          
-              input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-              output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-              properties:
-                columns _col0,_col1,_col3
-                columns.types string,string,string
-                escape.delim \
-                serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-              serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-#### A masked pattern was here ####
-          Partition
-            base file name: src
-            input format: org.apache.hadoop.mapred.TextInputFormat
-            output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-            properties:
-              COLUMN_STATS_ACCURATE true
-              bucket_count -1
-              columns key,value
-              columns.comments 'default','default'
-              columns.types string:string
-#### A masked pattern was here ####
-              name default.src
-              numFiles 1
-              numRows 500
-              rawDataSize 5312
-              serialization.ddl struct src { string key, string value}
-              serialization.format 1
-              serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-              totalSize 5812
-#### A masked pattern was here ####
-            serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-          
-              input format: org.apache.hadoop.mapred.TextInputFormat
-              output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-              properties:
-                COLUMN_STATS_ACCURATE true
-                bucket_count -1
-                columns key,value
-                columns.comments 'default','default'
-                columns.types string:string
-#### A masked pattern was here ####
-                name default.src
-                numFiles 1
-                numRows 500
-                rawDataSize 5312
-                serialization.ddl struct src { string key, string value}
-                serialization.format 1
-                serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-                totalSize 5812
-#### A masked pattern was here ####
-              serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-              name: default.src
-            name: default.src
-      Truncated Path -> Alias:
-#### A masked pattern was here ####
-
-  Stage: Stage-9
-    Map Reduce Local Work
-      Alias -> Map Local Tables:
         $hdt$_0:w 
           Fetch Operator
             limit: -1
@@ -937,7 +926,7 @@
                     1 _col1 (type: string)
                   Position of Big Table: 1
 
-  Stage: Stage-6
+  Stage: Stage-7
     Map Reduce
       Map Operator Tree:
           TableScan
@@ -950,17 +939,17 @@
                 1 _col1 (type: string)
               outputColumnNames: _col1, _col3, _col6
               Position of Big Table: 1
-              Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 332 Data size: 3534 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: _col3 (type: string), _col6 (type: string), _col1 (type: string)
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 332 Data size: 3534 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
                   compressed: false
                   GlobalTableId: 1
 #### A masked pattern was here ####
                   NumFilesPerFileSink: 1
-                  Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 332 Data size: 3534 Basic stats: COMPLETE Column stats: NONE
 #### A masked pattern was here ####
                   table:
                       input format: org.apache.hadoop.mapred.TextInputFormat
@@ -993,7 +982,7 @@
       Path -> Partition:
 #### A masked pattern was here ####
           Partition
-            base file name: -mr-10001
+            base file name: -mr-10002
             input format: org.apache.hadoop.mapred.SequenceFileInputFormat
             output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
             properties:
diff --git a/ql/src/test/results/clientpositive/join33.q.out b/ql/src/test/results/clientpositive/join33.q.out
index a05a356..d9e8dd3 100644
--- a/ql/src/test/results/clientpositive/join33.q.out
+++ b/ql/src/test/results/clientpositive/join33.q.out
@@ -109,25 +109,71 @@
   Stage: Stage-7
     Map Reduce Local Work
       Alias -> Map Local Tables:
-        $hdt$_0:y 
+        $hdt$_0:z 
           Fetch Operator
             limit: -1
+            Partition Description:
+                Partition
+                  base file name: hr=11
+                  input format: org.apache.hadoop.mapred.TextInputFormat
+                  output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                  partition values:
+                    ds 2008-04-08
+                    hr 11
+                  properties:
+                    COLUMN_STATS_ACCURATE true
+                    bucket_count -1
+                    columns key,value
+                    columns.comments 'default','default'
+                    columns.types string:string
+#### A masked pattern was here ####
+                    name default.srcpart
+                    numFiles 1
+                    numRows 500
+                    partition_columns ds/hr
+                    partition_columns.types string:string
+                    rawDataSize 5312
+                    serialization.ddl struct srcpart { string key, string value}
+                    serialization.format 1
+                    serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                    totalSize 5812
+#### A masked pattern was here ####
+                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                
+                    input format: org.apache.hadoop.mapred.TextInputFormat
+                    output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                    properties:
+                      bucket_count -1
+                      columns key,value
+                      columns.comments 'default','default'
+                      columns.types string:string
+#### A masked pattern was here ####
+                      name default.srcpart
+                      partition_columns ds/hr
+                      partition_columns.types string:string
+                      serialization.ddl struct srcpart { string key, string value}
+                      serialization.format 1
+                      serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+#### A masked pattern was here ####
+                    serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                    name: default.srcpart
+                  name: default.srcpart
         $hdt$_1:$hdt$_2:x 
           Fetch Operator
             limit: -1
       Alias -> Map Local Operator Tree:
-        $hdt$_0:y 
+        $hdt$_0:z 
           TableScan
-            alias: y
+            alias: z
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
               isSamplingPred: false
-              predicate: key is not null (type: boolean)
+              predicate: ((11.0 = 11.0) and value is not null) (type: boolean)
               Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
               Select Operator
-                expressions: key (type: string), value (type: string)
-                outputColumnNames: _col0, _col1
+                expressions: value (type: string)
+                outputColumnNames: _col0
                 Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                 HashTable Sink Operator
                   keys:
@@ -141,7 +187,7 @@
             GatherStats: false
             Filter Operator
               isSamplingPred: false
-              predicate: (value is not null and key is not null) (type: boolean)
+              predicate: (key is not null and value is not null) (type: boolean)
               Statistics: Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -150,31 +196,31 @@
                 HashTable Sink Operator
                   keys:
                     0 _col0 (type: string)
-                    1 _col1 (type: string)
+                    1 _col0 (type: string)
                   Position of Big Table: 0
 
   Stage: Stage-5
     Map Reduce
       Map Operator Tree:
           TableScan
-            alias: z
+            alias: y
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
               isSamplingPred: false
-              predicate: ((11.0 = 11.0) and value is not null) (type: boolean)
+              predicate: key is not null (type: boolean)
               Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
               Select Operator
-                expressions: value (type: string)
-                outputColumnNames: _col0
+                expressions: key (type: string), value (type: string)
+                outputColumnNames: _col0, _col1
                 Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                 Map Join Operator
                   condition map:
                        Inner Join 0 to 1
                   keys:
                     0 _col0 (type: string)
-                    1 _col1 (type: string)
-                  outputColumnNames: _col0, _col3
+                    1 _col0 (type: string)
+                  outputColumnNames: _col1, _col2, _col3
                   Position of Big Table: 0
                   Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
                   Map Join Operator
@@ -183,11 +229,11 @@
                     keys:
                       0 _col0 (type: string)
                       1 _col3 (type: string)
-                    outputColumnNames: _col1, _col2, _col5
+                    outputColumnNames: _col0, _col4, _col5
                     Position of Big Table: 1
                     Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
-                      expressions: _col5 (type: string), _col2 (type: string), _col1 (type: string)
+                      expressions: _col5 (type: string), _col0 (type: string), _col4 (type: string)
                       outputColumnNames: _col0, _col1, _col2
                       Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
                       File Output Operator
@@ -356,7 +402,7 @@
               name: default.srcpart
             name: default.srcpart
       Truncated Path -> Alias:
-        /srcpart/ds=2008-04-08/hr=11 [$hdt$_1:$hdt$_1:z]
+        /src [$hdt$_1:$hdt$_1:y]
 
   Stage: Stage-0
     Move Operator
@@ -405,8 +451,8 @@
 POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11
 POSTHOOK: Output: default@dest_j1
 POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: dest_j1.val2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: dest_j1.value EXPRESSION [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ]
 PREHOOK: query: select * from dest_j1
 PREHOOK: type: QUERY
 PREHOOK: Input: default@dest_j1
diff --git a/ql/src/test/results/clientpositive/join_alt_syntax.q.out b/ql/src/test/results/clientpositive/join_alt_syntax.q.out
index cc908c1..007e4c6 100644
--- a/ql/src/test/results/clientpositive/join_alt_syntax.q.out
+++ b/ql/src/test/results/clientpositive/join_alt_syntax.q.out
@@ -359,102 +359,12 @@
             and p1.p_partkey = p2.p_partkey
 POSTHOOK: type: QUERY
 STAGE DEPENDENCIES:
-  Stage-3 is a root stage
-  Stage-2 depends on stages: Stage-3
-  Stage-1 depends on stages: Stage-2
-  Stage-0 depends on stages: Stage-1
+  Stage-1 is a root stage
+  Stage-2 depends on stages: Stage-1, Stage-4
+  Stage-4 is a root stage
+  Stage-0 depends on stages: Stage-2
 
 STAGE PLANS:
-  Stage: Stage-3
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            alias: p1
-            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
-            Filter Operator
-              predicate: (p_partkey is not null and p_name is not null) (type: boolean)
-              Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-              Select Operator
-                expressions: p_partkey (type: int), p_name (type: string)
-                outputColumnNames: _col0, _col1
-                Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: string)
-                  sort order: ++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
-                  Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-          TableScan
-            alias: p1
-            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
-            Filter Operator
-              predicate: (p_partkey is not null and p_name is not null) (type: boolean)
-              Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-              Select Operator
-                expressions: p_partkey (type: int), p_name (type: string)
-                outputColumnNames: _col0, _col1
-                Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: string)
-                  sort order: ++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
-                  Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-      Reduce Operator Tree:
-        Join Operator
-          condition map:
-               Inner Join 0 to 1
-          keys:
-            0 _col0 (type: int), _col1 (type: string)
-            1 _col0 (type: int), _col1 (type: string)
-          outputColumnNames: _col0, _col1, _col3
-          Statistics: Num rows: 7 Data size: 931 Basic stats: COMPLETE Column stats: NONE
-          File Output Operator
-            compressed: false
-            table:
-                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-
-  Stage: Stage-2
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            alias: p1
-            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
-            Filter Operator
-              predicate: p_name is not null (type: boolean)
-              Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
-              Select Operator
-                expressions: p_name (type: string)
-                outputColumnNames: _col0
-                Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
-                Reduce Output Operator
-                  key expressions: _col0 (type: string)
-                  sort order: +
-                  Map-reduce partition columns: _col0 (type: string)
-                  Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
-          TableScan
-            Reduce Output Operator
-              key expressions: _col3 (type: string)
-              sort order: +
-              Map-reduce partition columns: _col3 (type: string)
-              Statistics: Num rows: 7 Data size: 931 Basic stats: COMPLETE Column stats: NONE
-              value expressions: _col0 (type: int), _col1 (type: string)
-      Reduce Operator Tree:
-        Join Operator
-          condition map:
-               Inner Join 0 to 1
-          keys:
-            0 _col0 (type: string)
-            1 _col3 (type: string)
-          outputColumnNames: _col0, _col1, _col2, _col4
-          Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
-          File Output Operator
-            compressed: false
-            table:
-                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-
   Stage: Stage-1
     Map Reduce
       Map Operator Tree:
@@ -462,6 +372,22 @@
             alias: p1
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
+              predicate: (p_partkey is not null and p_name is not null) (type: boolean)
+              Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: p_partkey (type: int), p_name (type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  key expressions: _col0 (type: int)
+                  sort order: +
+                  Map-reduce partition columns: _col0 (type: int)
+                  Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                  value expressions: _col1 (type: string)
+          TableScan
+            alias: p1
+            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
               predicate: p_partkey is not null (type: boolean)
               Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
               Select Operator
@@ -474,24 +400,50 @@
                   Map-reduce partition columns: _col0 (type: int)
                   Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col1 (type: string)
-          TableScan
-            Reduce Output Operator
-              key expressions: _col1 (type: int)
-              sort order: +
-              Map-reduce partition columns: _col1 (type: int)
-              Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
-              value expressions: _col0 (type: string), _col2 (type: string), _col4 (type: string)
       Reduce Operator Tree:
         Join Operator
           condition map:
                Inner Join 0 to 1
           keys:
             0 _col0 (type: int)
-            1 _col1 (type: int)
-          outputColumnNames: _col1, _col2, _col4, _col6
+            1 _col0 (type: int)
+          outputColumnNames: _col0, _col1, _col3
+          Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+          File Output Operator
+            compressed: false
+            table:
+                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+
+  Stage: Stage-2
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            Reduce Output Operator
+              key expressions: _col0 (type: int), _col1 (type: string)
+              sort order: ++
+              Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
+              Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+              value expressions: _col3 (type: string)
+          TableScan
+            Reduce Output Operator
+              key expressions: _col0 (type: int), _col1 (type: string)
+              sort order: ++
+              Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
+              Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+              value expressions: _col2 (type: string)
+      Reduce Operator Tree:
+        Join Operator
+          condition map:
+               Inner Join 0 to 1
+          keys:
+            0 _col0 (type: int), _col1 (type: string)
+            1 _col0 (type: int), _col1 (type: string)
+          outputColumnNames: _col1, _col3, _col5, _col6
           Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
           Select Operator
-            expressions: _col4 (type: string), _col6 (type: string), _col2 (type: string), _col1 (type: string)
+            expressions: _col1 (type: string), _col5 (type: string), _col6 (type: string), _col3 (type: string)
             outputColumnNames: _col0, _col1, _col2, _col3
             Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
             File Output Operator
@@ -502,6 +454,56 @@
                   output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                   serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
 
+  Stage: Stage-4
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: p1
+            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: (p_name is not null and p_partkey is not null) (type: boolean)
+              Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: p_partkey (type: int), p_name (type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  key expressions: _col1 (type: string)
+                  sort order: +
+                  Map-reduce partition columns: _col1 (type: string)
+                  Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                  value expressions: _col0 (type: int)
+          TableScan
+            alias: p1
+            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: p_name is not null (type: boolean)
+              Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: p_name (type: string)
+                outputColumnNames: _col0
+                Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  key expressions: _col0 (type: string)
+                  sort order: +
+                  Map-reduce partition columns: _col0 (type: string)
+                  Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+      Reduce Operator Tree:
+        Join Operator
+          condition map:
+               Inner Join 0 to 1
+          keys:
+            0 _col1 (type: string)
+            1 _col0 (type: string)
+          outputColumnNames: _col0, _col1, _col2
+          Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+          File Output Operator
+            compressed: false
+            table:
+                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+
   Stage: Stage-0
     Fetch Operator
       limit: -1
@@ -519,102 +521,12 @@
             and p1.p_partkey = p2.p_partkey
 POSTHOOK: type: QUERY
 STAGE DEPENDENCIES:
-  Stage-3 is a root stage
-  Stage-2 depends on stages: Stage-3
-  Stage-1 depends on stages: Stage-2
-  Stage-0 depends on stages: Stage-1
+  Stage-1 is a root stage
+  Stage-2 depends on stages: Stage-1, Stage-4
+  Stage-4 is a root stage
+  Stage-0 depends on stages: Stage-2
 
 STAGE PLANS:
-  Stage: Stage-3
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            alias: p1
-            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
-            Filter Operator
-              predicate: (p_name is not null and p_partkey is not null) (type: boolean)
-              Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-              Select Operator
-                expressions: p_partkey (type: int), p_name (type: string)
-                outputColumnNames: _col0, _col1
-                Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                Reduce Output Operator
-                  key expressions: _col1 (type: string), _col0 (type: int)
-                  sort order: ++
-                  Map-reduce partition columns: _col1 (type: string), _col0 (type: int)
-                  Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-          TableScan
-            alias: p1
-            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
-            Filter Operator
-              predicate: (p_name is not null and p_partkey is not null) (type: boolean)
-              Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-              Select Operator
-                expressions: p_partkey (type: int), p_name (type: string)
-                outputColumnNames: _col0, _col1
-                Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                Reduce Output Operator
-                  key expressions: _col1 (type: string), _col0 (type: int)
-                  sort order: ++
-                  Map-reduce partition columns: _col1 (type: string), _col0 (type: int)
-                  Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-      Reduce Operator Tree:
-        Join Operator
-          condition map:
-               Inner Join 0 to 1
-          keys:
-            0 _col1 (type: string), _col0 (type: int)
-            1 _col1 (type: string), _col0 (type: int)
-          outputColumnNames: _col0, _col1, _col3
-          Statistics: Num rows: 7 Data size: 931 Basic stats: COMPLETE Column stats: NONE
-          File Output Operator
-            compressed: false
-            table:
-                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-
-  Stage: Stage-2
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            alias: p1
-            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
-            Filter Operator
-              predicate: p_name is not null (type: boolean)
-              Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
-              Select Operator
-                expressions: p_name (type: string)
-                outputColumnNames: _col0
-                Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
-                Reduce Output Operator
-                  key expressions: _col0 (type: string)
-                  sort order: +
-                  Map-reduce partition columns: _col0 (type: string)
-                  Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
-          TableScan
-            Reduce Output Operator
-              key expressions: _col3 (type: string)
-              sort order: +
-              Map-reduce partition columns: _col3 (type: string)
-              Statistics: Num rows: 7 Data size: 931 Basic stats: COMPLETE Column stats: NONE
-              value expressions: _col0 (type: int), _col1 (type: string)
-      Reduce Operator Tree:
-        Join Operator
-          condition map:
-               Inner Join 0 to 1
-          keys:
-            0 _col0 (type: string)
-            1 _col3 (type: string)
-          outputColumnNames: _col0, _col1, _col2, _col4
-          Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
-          File Output Operator
-            compressed: false
-            table:
-                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
-
   Stage: Stage-1
     Map Reduce
       Map Operator Tree:
@@ -622,6 +534,22 @@
             alias: p1
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
+              predicate: (p_partkey is not null and p_name is not null) (type: boolean)
+              Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: p_partkey (type: int), p_name (type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  key expressions: _col0 (type: int)
+                  sort order: +
+                  Map-reduce partition columns: _col0 (type: int)
+                  Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                  value expressions: _col1 (type: string)
+          TableScan
+            alias: p1
+            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
               predicate: p_partkey is not null (type: boolean)
               Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
               Select Operator
@@ -634,24 +562,50 @@
                   Map-reduce partition columns: _col0 (type: int)
                   Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col1 (type: string)
-          TableScan
-            Reduce Output Operator
-              key expressions: _col1 (type: int)
-              sort order: +
-              Map-reduce partition columns: _col1 (type: int)
-              Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
-              value expressions: _col0 (type: string), _col2 (type: string), _col4 (type: string)
       Reduce Operator Tree:
         Join Operator
           condition map:
                Inner Join 0 to 1
           keys:
             0 _col0 (type: int)
-            1 _col1 (type: int)
-          outputColumnNames: _col1, _col2, _col4, _col6
+            1 _col0 (type: int)
+          outputColumnNames: _col0, _col1, _col3
+          Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+          File Output Operator
+            compressed: false
+            table:
+                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+
+  Stage: Stage-2
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            Reduce Output Operator
+              key expressions: _col1 (type: string), _col0 (type: int)
+              sort order: ++
+              Map-reduce partition columns: _col1 (type: string), _col0 (type: int)
+              Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+              value expressions: _col3 (type: string)
+          TableScan
+            Reduce Output Operator
+              key expressions: _col1 (type: string), _col0 (type: int)
+              sort order: ++
+              Map-reduce partition columns: _col1 (type: string), _col0 (type: int)
+              Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+              value expressions: _col2 (type: string)
+      Reduce Operator Tree:
+        Join Operator
+          condition map:
+               Inner Join 0 to 1
+          keys:
+            0 _col1 (type: string), _col0 (type: int)
+            1 _col1 (type: string), _col0 (type: int)
+          outputColumnNames: _col1, _col3, _col5, _col6
           Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
           Select Operator
-            expressions: _col4 (type: string), _col6 (type: string), _col2 (type: string), _col1 (type: string)
+            expressions: _col1 (type: string), _col5 (type: string), _col6 (type: string), _col3 (type: string)
             outputColumnNames: _col0, _col1, _col2, _col3
             Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
             File Output Operator
@@ -662,6 +616,56 @@
                   output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                   serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
 
+  Stage: Stage-4
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: p1
+            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: (p_name is not null and p_partkey is not null) (type: boolean)
+              Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: p_partkey (type: int), p_name (type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  key expressions: _col1 (type: string)
+                  sort order: +
+                  Map-reduce partition columns: _col1 (type: string)
+                  Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                  value expressions: _col0 (type: int)
+          TableScan
+            alias: p1
+            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: p_name is not null (type: boolean)
+              Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: p_name (type: string)
+                outputColumnNames: _col0
+                Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  key expressions: _col0 (type: string)
+                  sort order: +
+                  Map-reduce partition columns: _col0 (type: string)
+                  Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+      Reduce Operator Tree:
+        Join Operator
+          condition map:
+               Inner Join 0 to 1
+          keys:
+            0 _col1 (type: string)
+            1 _col0 (type: string)
+          outputColumnNames: _col0, _col1, _col2
+          Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+          File Output Operator
+            compressed: false
+            table:
+                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+
   Stage: Stage-0
     Fetch Operator
       limit: -1
diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out
index 98008ad..ff92d9f 100644
--- a/ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out
+++ b/ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out
@@ -141,13 +141,13 @@
             and p1.p_partkey = p2.p_partkey
 POSTHOOK: type: QUERY
 STAGE DEPENDENCIES:
-  Stage-3 is a root stage
-  Stage-2 depends on stages: Stage-3
-  Stage-1 depends on stages: Stage-2
-  Stage-0 depends on stages: Stage-1
+  Stage-1 is a root stage
+  Stage-2 depends on stages: Stage-1, Stage-4
+  Stage-4 is a root stage
+  Stage-0 depends on stages: Stage-2
 
 STAGE PLANS:
-  Stage: Stage-3
+  Stage: Stage-1
     Map Reduce
       Map Operator Tree:
           TableScan
@@ -161,36 +161,36 @@
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
                 Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: string)
-                  sort order: ++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
+                  key expressions: _col0 (type: int)
+                  sort order: +
+                  Map-reduce partition columns: _col0 (type: int)
                   Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                  value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
+                  value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p1
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (p_partkey is not null and p_name is not null) (type: boolean)
-              Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+              predicate: p_partkey is not null (type: boolean)
+              Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
-                Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: string)
-                  sort order: ++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
-                  Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                  value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
+                  key expressions: _col0 (type: int)
+                  sort order: +
+                  Map-reduce partition columns: _col0 (type: int)
+                  Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+                  value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
       Reduce Operator Tree:
         Join Operator
           condition map:
                Inner Join 0 to 1
           keys:
-            0 _col0 (type: int), _col1 (type: string)
-            1 _col0 (type: int), _col1 (type: string)
+            0 _col0 (type: int)
+            1 _col0 (type: int)
           outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17
-          Statistics: Num rows: 7 Data size: 931 Basic stats: COMPLETE Column stats: NONE
+          Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
           File Output Operator
             compressed: false
             table:
@@ -202,6 +202,44 @@
     Map Reduce
       Map Operator Tree:
           TableScan
+            Reduce Output Operator
+              key expressions: _col0 (type: int), _col1 (type: string)
+              sort order: ++
+              Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
+              Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+              value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
+          TableScan
+            Reduce Output Operator
+              key expressions: _col9 (type: int), _col10 (type: string)
+              sort order: ++
+              Map-reduce partition columns: _col9 (type: int), _col10 (type: string)
+              Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+              value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
+      Reduce Operator Tree:
+        Join Operator
+          condition map:
+               Inner Join 0 to 1
+          keys:
+            0 _col0 (type: int), _col1 (type: string)
+            1 _col9 (type: int), _col10 (type: string)
+          outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35
+          Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+          Select Operator
+            expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col27 (type: int), _col28 (type: string), _col29 (type: string), _col30 (type: string), _col31 (type: string), _col32 (type: int), _col33 (type: string), _col34 (type: double), _col35 (type: string), _col18 (type: int), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
+            outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35
+            Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+            File Output Operator
+              compressed: false
+              Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+              table:
+                  input format: org.apache.hadoop.mapred.TextInputFormat
+                  output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-4
+    Map Reduce
+      Map Operator Tree:
+          TableScan
             alias: p1
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
@@ -218,20 +256,29 @@
                   Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
-            Reduce Output Operator
-              key expressions: _col10 (type: string)
-              sort order: +
-              Map-reduce partition columns: _col10 (type: string)
-              Statistics: Num rows: 7 Data size: 931 Basic stats: COMPLETE Column stats: NONE
-              value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
+            alias: p1
+            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: (p_name is not null and p_partkey is not null) (type: boolean)
+              Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string)
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
+                Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  key expressions: _col1 (type: string)
+                  sort order: +
+                  Map-reduce partition columns: _col1 (type: string)
+                  Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                  value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
       Reduce Operator Tree:
         Join Operator
           condition map:
                Inner Join 0 to 1
           keys:
             0 _col1 (type: string)
-            1 _col10 (type: string)
-          outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26
+            1 _col1 (type: string)
+          outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17
           Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
           File Output Operator
             compressed: false
@@ -240,53 +287,6 @@
                 output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
                 serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
 
-  Stage: Stage-1
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            alias: p1
-            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
-            Filter Operator
-              predicate: p_partkey is not null (type: boolean)
-              Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
-              Select Operator
-                expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string)
-                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
-                Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
-                Reduce Output Operator
-                  key expressions: _col0 (type: int)
-                  sort order: +
-                  Map-reduce partition columns: _col0 (type: int)
-                  Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
-                  value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
-          TableScan
-            Reduce Output Operator
-              key expressions: _col9 (type: int)
-              sort order: +
-              Map-reduce partition columns: _col9 (type: int)
-              Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
-              value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string), _col18 (type: int), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string)
-      Reduce Operator Tree:
-        Join Operator
-          condition map:
-               Inner Join 0 to 1
-          keys:
-            0 _col0 (type: int)
-            1 _col9 (type: int)
-          outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35
-          Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
-          Select Operator
-            expressions: _col18 (type: int), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string), _col27 (type: int), _col28 (type: string), _col29 (type: string), _col30 (type: string), _col31 (type: string), _col32 (type: int), _col33 (type: string), _col34 (type: double), _col35 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string), _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
-            outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35
-            Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
-            File Output Operator
-              compressed: false
-              Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
-              table:
-                  input format: org.apache.hadoop.mapred.TextInputFormat
-                  output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
   Stage: Stage-0
     Fetch Operator
       limit: -1
diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_4.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_4.q.out
index a1dd24e..f608cfd 100644
--- a/ql/src/test/results/clientpositive/join_cond_pushdown_4.q.out
+++ b/ql/src/test/results/clientpositive/join_cond_pushdown_4.q.out
@@ -145,13 +145,13 @@
             and p1.p_partkey = p2.p_partkey
 POSTHOOK: type: QUERY
 STAGE DEPENDENCIES:
-  Stage-3 is a root stage
-  Stage-2 depends on stages: Stage-3
-  Stage-1 depends on stages: Stage-2
-  Stage-0 depends on stages: Stage-1
+  Stage-1 is a root stage
+  Stage-2 depends on stages: Stage-1, Stage-4
+  Stage-4 is a root stage
+  Stage-0 depends on stages: Stage-2
 
 STAGE PLANS:
-  Stage: Stage-3
+  Stage: Stage-1
     Map Reduce
       Map Operator Tree:
           TableScan
@@ -165,36 +165,36 @@
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
                 Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: string)
-                  sort order: ++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
+                  key expressions: _col0 (type: int)
+                  sort order: +
+                  Map-reduce partition columns: _col0 (type: int)
                   Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                  value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
+                  value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p1
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (p_partkey is not null and p_name is not null) (type: boolean)
-              Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+              predicate: p_partkey is not null (type: boolean)
+              Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
-                Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: string)
-                  sort order: ++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
-                  Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                  value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
+                  key expressions: _col0 (type: int)
+                  sort order: +
+                  Map-reduce partition columns: _col0 (type: int)
+                  Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+                  value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
       Reduce Operator Tree:
         Join Operator
           condition map:
                Inner Join 0 to 1
           keys:
-            0 _col0 (type: int), _col1 (type: string)
-            1 _col0 (type: int), _col1 (type: string)
+            0 _col0 (type: int)
+            1 _col0 (type: int)
           outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17
-          Statistics: Num rows: 7 Data size: 931 Basic stats: COMPLETE Column stats: NONE
+          Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
           File Output Operator
             compressed: false
             table:
@@ -206,6 +206,44 @@
     Map Reduce
       Map Operator Tree:
           TableScan
+            Reduce Output Operator
+              key expressions: _col0 (type: int), _col1 (type: string)
+              sort order: ++
+              Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
+              Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+              value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
+          TableScan
+            Reduce Output Operator
+              key expressions: _col9 (type: int), _col10 (type: string)
+              sort order: ++
+              Map-reduce partition columns: _col9 (type: int), _col10 (type: string)
+              Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+              value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
+      Reduce Operator Tree:
+        Join Operator
+          condition map:
+               Inner Join 0 to 1
+          keys:
+            0 _col0 (type: int), _col1 (type: string)
+            1 _col9 (type: int), _col10 (type: string)
+          outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35
+          Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+          Select Operator
+            expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col27 (type: int), _col28 (type: string), _col29 (type: string), _col30 (type: string), _col31 (type: string), _col32 (type: int), _col33 (type: string), _col34 (type: double), _col35 (type: string), _col18 (type: int), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
+            outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35
+            Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+            File Output Operator
+              compressed: false
+              Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+              table:
+                  input format: org.apache.hadoop.mapred.TextInputFormat
+                  output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-4
+    Map Reduce
+      Map Operator Tree:
+          TableScan
             alias: p1
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
@@ -222,20 +260,29 @@
                   Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
-            Reduce Output Operator
-              key expressions: _col10 (type: string)
-              sort order: +
-              Map-reduce partition columns: _col10 (type: string)
-              Statistics: Num rows: 7 Data size: 931 Basic stats: COMPLETE Column stats: NONE
-              value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
+            alias: p1
+            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: (p_name is not null and p_partkey is not null) (type: boolean)
+              Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string)
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
+                Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  key expressions: _col1 (type: string)
+                  sort order: +
+                  Map-reduce partition columns: _col1 (type: string)
+                  Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                  value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
       Reduce Operator Tree:
         Join Operator
           condition map:
                Inner Join 0 to 1
           keys:
             0 _col1 (type: string)
-            1 _col10 (type: string)
-          outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26
+            1 _col1 (type: string)
+          outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17
           Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
           File Output Operator
             compressed: false
@@ -244,53 +291,6 @@
                 output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
                 serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
 
-  Stage: Stage-1
-    Map Reduce
-      Map Operator Tree:
-          TableScan
-            alias: p1
-            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
-            Filter Operator
-              predicate: p_partkey is not null (type: boolean)
-              Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
-              Select Operator
-                expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string)
-                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
-                Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
-                Reduce Output Operator
-                  key expressions: _col0 (type: int)
-                  sort order: +
-                  Map-reduce partition columns: _col0 (type: int)
-                  Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
-                  value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
-          TableScan
-            Reduce Output Operator
-              key expressions: _col9 (type: int)
-              sort order: +
-              Map-reduce partition columns: _col9 (type: int)
-              Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
-              value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string), _col18 (type: int), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string)
-      Reduce Operator Tree:
-        Join Operator
-          condition map:
-               Inner Join 0 to 1
-          keys:
-            0 _col0 (type: int)
-            1 _col9 (type: int)
-          outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35
-          Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
-          Select Operator
-            expressions: _col18 (type: int), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string), _col27 (type: int), _col28 (type: string), _col29 (type: string), _col30 (type: string), _col31 (type: string), _col32 (type: int), _col33 (type: string), _col34 (type: double), _col35 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string), _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
-            outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35
-            Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
-            File Output Operator
-              compressed: false
-              Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
-              table:
-                  input format: org.apache.hadoop.mapred.TextInputFormat
-                  output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
   Stage: Stage-0
     Fetch Operator
       limit: -1
diff --git a/ql/src/test/results/clientpositive/ptf.q.out b/ql/src/test/results/clientpositive/ptf.q.out
index 4238cdf..6bd1747 100644
--- a/ql/src/test/results/clientpositive/ptf.q.out
+++ b/ql/src/test/results/clientpositive/ptf.q.out
@@ -97,28 +97,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -313,7 +313,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: lag_window_0
                         arguments: _col5, 1, _col5
                         name: lag
                         window function: GenericUDAFLagEvaluator
@@ -321,7 +321,7 @@
                         isPivotResult: true
             Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), (_col5 - _wcol0) (type: int)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), (_col5 - lag_window_0) (type: int)
               outputColumnNames: _col0, _col1, _col2, _col3
               Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -585,28 +585,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -766,21 +766,21 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: lag_window_2
                         arguments: _col5, 1, _col5
                         name: lag
                         window function: GenericUDAFLagEvaluator
@@ -788,7 +788,7 @@
                         isPivotResult: true
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), (_col5 - _wcol2) (type: int)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), (_col5 - lag_window_2) (type: int)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -982,21 +982,21 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: lag_window_2
                         arguments: _col2, 1, _col2
                         name: lag
                         window function: GenericUDAFLagEvaluator
@@ -1004,7 +1004,7 @@
                         isPivotResult: true
             Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int), _wcol0 (type: int), _wcol1 (type: int), _col2 (type: int), (_col2 - _wcol2) (type: int)
+              expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col2 (type: int), (_col2 - lag_window_2) (type: int)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
               Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -1480,7 +1480,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1, _col5
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -1488,7 +1488,7 @@
                         isPivotResult: true
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int)
               outputColumnNames: _col0, _col1, _col2, _col3
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -1657,28 +1657,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -1834,28 +1834,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -2081,28 +2081,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -2268,20 +2268,20 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: count_window_0
                         arguments: _col5
                         name: count
                         window function: GenericUDAFCountEvaluator
                         window frame: PRECEDING(MAX)~
                       window function definition
-                        alias: _wcol1
+                        alias: sum_window_1
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(2)~FOLLOWING(2)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: bigint), _wcol1 (type: double)
+              expressions: _col2 (type: string), _col1 (type: string), count_window_0 (type: bigint), sum_window_1 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -2492,33 +2492,33 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: count_window_2
                         arguments: _col1
                         name: count
                         window function: GenericUDAFCountEvaluator
                         window frame: PRECEDING(MAX)~
                       window function definition
-                        alias: _wcol3
+                        alias: sum_window_3
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
                       window function definition
-                        alias: _wcol4
+                        alias: lag_window_4
                         arguments: _col5, 1, _col5
                         name: lag
                         window function: GenericUDAFLagEvaluator
@@ -2526,7 +2526,7 @@
                         isPivotResult: true
             Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: bigint), _col7 (type: double), _wcol3 (type: double), _col5 (type: int), (_col5 - _wcol4) (type: int)
+              expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), sum_window_3 (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
               Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -2853,14 +2853,14 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: sum_window_0
                         arguments: _col2
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(2)~
             Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), _wcol0 (type: double)
+              expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), sum_window_0 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3
               Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -3075,28 +3075,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -3150,15 +3150,15 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: sum_window_0
                         arguments: _col5
                         name: sum
                         window function: GenericUDAFSumLong
                         window frame: PRECEDING(5)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col1 (type: string), _col2 (type: string), _col5 (type: int), _wcol0 (type: bigint)
-              outputColumnNames: _col1, _col2, _col5, _wcol0
+              expressions: _col1 (type: string), _col2 (type: string), _col5 (type: int), sum_window_0 (type: bigint)
+              outputColumnNames: _col1, _col2, _col5, sum_window_0
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
                 compressed: false
@@ -3176,7 +3176,7 @@
               sort order: ++
               Map-reduce partition columns: _col2 (type: string)
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
-              value expressions: _wcol0 (type: bigint), _col5 (type: int)
+              value expressions: sum_window_0 (type: bigint), _col5 (type: int)
       Reduce Operator Tree:
         Select Operator
           expressions: VALUE._col0 (type: bigint), KEY.reducesinkkey1 (type: string), KEY.reducesinkkey0 (type: string), VALUE._col4 (type: int)
@@ -3196,35 +3196,35 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol1
+                        alias: rank_window_1
                         arguments: _col3, _col2
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: dense_rank_window_2
                         arguments: _col3, _col2
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol3
+                        alias: cume_dist_window_3
                         arguments: _col3, _col2
                         name: cume_dist
                         window function: GenericUDAFCumeDistEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol4
+                        alias: first_value_window_4
                         arguments: _col6, true
                         name: first_value
                         window function: GenericUDAFFirstValueEvaluator
                         window frame: PRECEDING(2)~FOLLOWING(2)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col3 (type: string), _col2 (type: string), _col6 (type: int), UDFToInteger(round(_col0, 1)) (type: int), _wcol1 (type: int), _wcol2 (type: int), _wcol3 (type: double), _wcol4 (type: int)
+              expressions: _col3 (type: string), _col2 (type: string), _col6 (type: int), UDFToInteger(round(_col0, 1)) (type: int), rank_window_1 (type: int), dense_rank_window_2 (type: int), cume_dist_window_3 (type: double), first_value_window_4 (type: int)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -3551,28 +3551,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col2, _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col2, _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col5
                         name: sum
                         window function: GenericUDAFSumLong
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+              expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -3841,28 +3841,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col5
                         name: sum
                         window function: GenericUDAFSumLong
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+              expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -4097,28 +4097,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col5
                         name: sum
                         window function: GenericUDAFSumLong
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+              expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -4400,28 +4400,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col2, _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col2, _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col5
                         name: sum
                         window function: GenericUDAFSumLong
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+              expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -4675,28 +4675,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col2, _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col2, _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col5
                         name: sum
                         window function: GenericUDAFSumLong
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint), _wcol2 (type: bigint)
+              expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint), sum_window_2 (type: bigint)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -4937,28 +4937,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col5
                         name: sum
                         window function: GenericUDAFSumLong
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint), _wcol2 (type: bigint)
+              expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint), sum_window_2 (type: bigint)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
diff --git a/ql/src/test/results/clientpositive/ptf_streaming.q.out b/ql/src/test/results/clientpositive/ptf_streaming.q.out
index b3605c8..b4101ea 100644
--- a/ql/src/test/results/clientpositive/ptf_streaming.q.out
+++ b/ql/src/test/results/clientpositive/ptf_streaming.q.out
@@ -97,28 +97,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -313,7 +313,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: lag_window_0
                         arguments: _col5, 1, _col5
                         name: lag
                         window function: GenericUDAFLagEvaluator
@@ -321,7 +321,7 @@
                         isPivotResult: true
             Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), (_col5 - _wcol0) (type: int)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), (_col5 - lag_window_0) (type: int)
               outputColumnNames: _col0, _col1, _col2, _col3
               Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -637,7 +637,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1, _col5
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -645,7 +645,7 @@
                         isPivotResult: true
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int)
               outputColumnNames: _col0, _col1, _col2, _col3
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -814,28 +814,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -1061,28 +1061,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -1310,28 +1310,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -1559,28 +1559,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -1785,33 +1785,33 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: count_window_2
                         arguments: _col1
                         name: count
                         window function: GenericUDAFCountEvaluator
                         window frame: PRECEDING(MAX)~
                       window function definition
-                        alias: _wcol3
+                        alias: sum_window_3
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
                       window function definition
-                        alias: _wcol4
+                        alias: lag_window_4
                         arguments: _col5, 1, _col5
                         name: lag
                         window function: GenericUDAFLagEvaluator
@@ -1819,7 +1819,7 @@
                         isPivotResult: true
             Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: bigint), _col7 (type: double), _wcol3 (type: double), _col5 (type: int), (_col5 - _wcol4) (type: int)
+              expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), sum_window_3 (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
               Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -2074,28 +2074,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col2, _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col2, _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col5
                         name: sum
                         window function: GenericUDAFSumLong
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+              expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -2364,28 +2364,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col5
                         name: sum
                         window function: GenericUDAFSumLong
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+              expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -2628,28 +2628,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col5
                         name: sum
                         window function: GenericUDAFSumLong
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint), _wcol2 (type: bigint)
+              expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint), sum_window_2 (type: bigint)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
diff --git a/ql/src/test/results/clientpositive/quotedid_basic.q.out b/ql/src/test/results/clientpositive/quotedid_basic.q.out
index 2dbe996..507369c 100644
--- a/ql/src/test/results/clientpositive/quotedid_basic.q.out
+++ b/ql/src/test/results/clientpositive/quotedid_basic.q.out
@@ -211,7 +211,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -219,7 +219,7 @@
                         isPivotResult: true
             Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
             Select Operator
-              expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _wcol0 (type: int)
+              expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), rank_window_0 (type: int)
               outputColumnNames: _col0, _col1, _col2, _col3
               Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
               File Output Operator
@@ -315,7 +315,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -323,7 +323,7 @@
                         isPivotResult: true
             Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
             Select Operator
-              expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _wcol0 (type: int)
+              expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), rank_window_0 (type: int)
               outputColumnNames: _col0, _col1, _col2, _col3
               Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
               File Output Operator
diff --git a/ql/src/test/results/clientpositive/spark/join32.q.out b/ql/src/test/results/clientpositive/spark/join32.q.out
index a9d50b4..0f16678 100644
--- a/ql/src/test/results/clientpositive/spark/join32.q.out
+++ b/ql/src/test/results/clientpositive/spark/join32.q.out
@@ -113,16 +113,16 @@
         Map 1 
             Map Operator Tree:
                 TableScan
-                  alias: y
+                  alias: z
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: key is not null (type: boolean)
+                    predicate: ((11.0 = 11.0) and value is not null) (type: boolean)
                     Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
-                      expressions: key (type: string), value (type: string)
-                      outputColumnNames: _col0, _col1
+                      expressions: value (type: string)
+                      outputColumnNames: _col0
                       Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                       Spark HashTable Sink Operator
                         keys:
@@ -136,9 +136,12 @@
             Path -> Partition:
 #### A masked pattern was here ####
                 Partition
-                  base file name: src
+                  base file name: hr=11
                   input format: org.apache.hadoop.mapred.TextInputFormat
                   output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                  partition values:
+                    ds 2008-04-08
+                    hr 11
                   properties:
                     COLUMN_STATS_ACCURATE true
                     bucket_count -1
@@ -146,11 +149,13 @@
                     columns.comments 'default','default'
                     columns.types string:string
 #### A masked pattern was here ####
-                    name default.src
+                    name default.srcpart
                     numFiles 1
                     numRows 500
+                    partition_columns ds/hr
+                    partition_columns.types string:string
                     rawDataSize 5312
-                    serialization.ddl struct src { string key, string value}
+                    serialization.ddl struct srcpart { string key, string value}
                     serialization.format 1
                     serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                     totalSize 5812
@@ -160,26 +165,23 @@
                     input format: org.apache.hadoop.mapred.TextInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                     properties:
-                      COLUMN_STATS_ACCURATE true
                       bucket_count -1
                       columns key,value
                       columns.comments 'default','default'
                       columns.types string:string
 #### A masked pattern was here ####
-                      name default.src
-                      numFiles 1
-                      numRows 500
-                      rawDataSize 5312
-                      serialization.ddl struct src { string key, string value}
+                      name default.srcpart
+                      partition_columns ds/hr
+                      partition_columns.types string:string
+                      serialization.ddl struct srcpart { string key, string value}
                       serialization.format 1
                       serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-                      totalSize 5812
 #### A masked pattern was here ####
                     serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-                    name: default.src
-                  name: default.src
+                    name: default.srcpart
+                  name: default.srcpart
             Truncated Path -> Alias:
-              /src [y]
+              /srcpart/ds=2008-04-08/hr=11 [z]
         Map 3 
             Map Operator Tree:
                 TableScan
@@ -188,7 +190,7 @@
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: (value is not null and key is not null) (type: boolean)
+                    predicate: (key is not null and value is not null) (type: boolean)
                     Statistics: Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: key (type: string), value (type: string)
@@ -197,7 +199,7 @@
                       Spark HashTable Sink Operator
                         keys:
                           0 _col0 (type: string)
-                          1 _col1 (type: string)
+                          1 _col0 (type: string)
                         Position of Big Table: 0
             Local Work:
               Map Reduce Local Work
@@ -258,24 +260,24 @@
         Map 2 
             Map Operator Tree:
                 TableScan
-                  alias: z
+                  alias: y
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: ((11.0 = 11.0) and value is not null) (type: boolean)
+                    predicate: key is not null (type: boolean)
                     Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
-                      expressions: value (type: string)
-                      outputColumnNames: _col0
+                      expressions: key (type: string), value (type: string)
+                      outputColumnNames: _col0, _col1
                       Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                       Map Join Operator
                         condition map:
                              Inner Join 0 to 1
                         keys:
                           0 _col0 (type: string)
-                          1 _col1 (type: string)
-                        outputColumnNames: _col0, _col3
+                          1 _col0 (type: string)
+                        outputColumnNames: _col1, _col2, _col3
                         input vertices:
                           1 Map 3
                         Position of Big Table: 0
@@ -286,13 +288,13 @@
                           keys:
                             0 _col0 (type: string)
                             1 _col3 (type: string)
-                          outputColumnNames: _col1, _col2, _col5
+                          outputColumnNames: _col0, _col4, _col5
                           input vertices:
                             0 Map 1
                           Position of Big Table: 1
                           Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
                           Select Operator
-                            expressions: _col5 (type: string), _col2 (type: string), _col1 (type: string)
+                            expressions: _col5 (type: string), _col0 (type: string), _col4 (type: string)
                             outputColumnNames: _col0, _col1, _col2
                             Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
                             File Output Operator
@@ -328,12 +330,9 @@
             Path -> Partition:
 #### A masked pattern was here ####
                 Partition
-                  base file name: hr=11
+                  base file name: src
                   input format: org.apache.hadoop.mapred.TextInputFormat
                   output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-                  partition values:
-                    ds 2008-04-08
-                    hr 11
                   properties:
                     COLUMN_STATS_ACCURATE true
                     bucket_count -1
@@ -341,13 +340,11 @@
                     columns.comments 'default','default'
                     columns.types string:string
 #### A masked pattern was here ####
-                    name default.srcpart
+                    name default.src
                     numFiles 1
                     numRows 500
-                    partition_columns ds/hr
-                    partition_columns.types string:string
                     rawDataSize 5312
-                    serialization.ddl struct srcpart { string key, string value}
+                    serialization.ddl struct src { string key, string value}
                     serialization.format 1
                     serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                     totalSize 5812
@@ -357,23 +354,26 @@
                     input format: org.apache.hadoop.mapred.TextInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                     properties:
+                      COLUMN_STATS_ACCURATE true
                       bucket_count -1
                       columns key,value
                       columns.comments 'default','default'
                       columns.types string:string
 #### A masked pattern was here ####
-                      name default.srcpart
-                      partition_columns ds/hr
-                      partition_columns.types string:string
-                      serialization.ddl struct srcpart { string key, string value}
+                      name default.src
+                      numFiles 1
+                      numRows 500
+                      rawDataSize 5312
+                      serialization.ddl struct src { string key, string value}
                       serialization.format 1
                       serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                      totalSize 5812
 #### A masked pattern was here ####
                     serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-                    name: default.srcpart
-                  name: default.srcpart
+                    name: default.src
+                  name: default.src
             Truncated Path -> Alias:
-              /srcpart/ds=2008-04-08/hr=11 [z]
+              /src [y]
 
   Stage: Stage-0
     Move Operator
@@ -422,8 +422,8 @@
 POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11
 POSTHOOK: Output: default@dest_j1
 POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: dest_j1.val2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: dest_j1.value EXPRESSION [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ]
 PREHOOK: query: select * from dest_j1
 PREHOOK: type: QUERY
 PREHOOK: Input: default@dest_j1
diff --git a/ql/src/test/results/clientpositive/spark/join32_lessSize.q.out b/ql/src/test/results/clientpositive/spark/join32_lessSize.q.out
index dac9610..54f47f9 100644
--- a/ql/src/test/results/clientpositive/spark/join32_lessSize.q.out
+++ b/ql/src/test/results/clientpositive/spark/join32_lessSize.q.out
@@ -121,16 +121,16 @@
         Map 1 
             Map Operator Tree:
                 TableScan
-                  alias: y
+                  alias: z
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: key is not null (type: boolean)
+                    predicate: ((11.0 = 11.0) and value is not null) (type: boolean)
                     Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
-                      expressions: key (type: string), value (type: string)
-                      outputColumnNames: _col0, _col1
+                      expressions: value (type: string)
+                      outputColumnNames: _col0
                       Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                       Spark HashTable Sink Operator
                         keys:
@@ -144,9 +144,12 @@
             Path -> Partition:
 #### A masked pattern was here ####
                 Partition
-                  base file name: src
+                  base file name: hr=11
                   input format: org.apache.hadoop.mapred.TextInputFormat
                   output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                  partition values:
+                    ds 2008-04-08
+                    hr 11
                   properties:
                     COLUMN_STATS_ACCURATE true
                     bucket_count -1
@@ -154,11 +157,13 @@
                     columns.comments 'default','default'
                     columns.types string:string
 #### A masked pattern was here ####
-                    name default.src
+                    name default.srcpart
                     numFiles 1
                     numRows 500
+                    partition_columns ds/hr
+                    partition_columns.types string:string
                     rawDataSize 5312
-                    serialization.ddl struct src { string key, string value}
+                    serialization.ddl struct srcpart { string key, string value}
                     serialization.format 1
                     serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                     totalSize 5812
@@ -168,26 +173,23 @@
                     input format: org.apache.hadoop.mapred.TextInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                     properties:
-                      COLUMN_STATS_ACCURATE true
                       bucket_count -1
                       columns key,value
                       columns.comments 'default','default'
                       columns.types string:string
 #### A masked pattern was here ####
-                      name default.src
-                      numFiles 1
-                      numRows 500
-                      rawDataSize 5312
-                      serialization.ddl struct src { string key, string value}
+                      name default.srcpart
+                      partition_columns ds/hr
+                      partition_columns.types string:string
+                      serialization.ddl struct srcpart { string key, string value}
                       serialization.format 1
                       serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-                      totalSize 5812
 #### A masked pattern was here ####
                     serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-                    name: default.src
-                  name: default.src
+                    name: default.srcpart
+                  name: default.srcpart
             Truncated Path -> Alias:
-              /src [y]
+              /srcpart/ds=2008-04-08/hr=11 [z]
         Map 3 
             Map Operator Tree:
                 TableScan
@@ -196,7 +198,7 @@
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: (value is not null and key is not null) (type: boolean)
+                    predicate: (key is not null and value is not null) (type: boolean)
                     Statistics: Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: key (type: string), value (type: string)
@@ -205,7 +207,7 @@
                       Spark HashTable Sink Operator
                         keys:
                           0 _col0 (type: string)
-                          1 _col1 (type: string)
+                          1 _col0 (type: string)
                         Position of Big Table: 0
             Local Work:
               Map Reduce Local Work
@@ -266,24 +268,24 @@
         Map 2 
             Map Operator Tree:
                 TableScan
-                  alias: z
+                  alias: y
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: ((11.0 = 11.0) and value is not null) (type: boolean)
+                    predicate: key is not null (type: boolean)
                     Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
-                      expressions: value (type: string)
-                      outputColumnNames: _col0
+                      expressions: key (type: string), value (type: string)
+                      outputColumnNames: _col0, _col1
                       Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                       Map Join Operator
                         condition map:
                              Inner Join 0 to 1
                         keys:
                           0 _col0 (type: string)
-                          1 _col1 (type: string)
-                        outputColumnNames: _col0, _col3
+                          1 _col0 (type: string)
+                        outputColumnNames: _col1, _col2, _col3
                         input vertices:
                           1 Map 3
                         Position of Big Table: 0
@@ -294,13 +296,13 @@
                           keys:
                             0 _col0 (type: string)
                             1 _col3 (type: string)
-                          outputColumnNames: _col1, _col2, _col5
+                          outputColumnNames: _col0, _col4, _col5
                           input vertices:
                             0 Map 1
                           Position of Big Table: 1
                           Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
                           Select Operator
-                            expressions: _col5 (type: string), _col2 (type: string), _col1 (type: string)
+                            expressions: _col5 (type: string), _col0 (type: string), _col4 (type: string)
                             outputColumnNames: _col0, _col1, _col2
                             Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
                             File Output Operator
@@ -336,12 +338,9 @@
             Path -> Partition:
 #### A masked pattern was here ####
                 Partition
-                  base file name: hr=11
+                  base file name: src
                   input format: org.apache.hadoop.mapred.TextInputFormat
                   output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-                  partition values:
-                    ds 2008-04-08
-                    hr 11
                   properties:
                     COLUMN_STATS_ACCURATE true
                     bucket_count -1
@@ -349,13 +348,11 @@
                     columns.comments 'default','default'
                     columns.types string:string
 #### A masked pattern was here ####
-                    name default.srcpart
+                    name default.src
                     numFiles 1
                     numRows 500
-                    partition_columns ds/hr
-                    partition_columns.types string:string
                     rawDataSize 5312
-                    serialization.ddl struct srcpart { string key, string value}
+                    serialization.ddl struct src { string key, string value}
                     serialization.format 1
                     serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                     totalSize 5812
@@ -365,23 +362,26 @@
                     input format: org.apache.hadoop.mapred.TextInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                     properties:
+                      COLUMN_STATS_ACCURATE true
                       bucket_count -1
                       columns key,value
                       columns.comments 'default','default'
                       columns.types string:string
 #### A masked pattern was here ####
-                      name default.srcpart
-                      partition_columns ds/hr
-                      partition_columns.types string:string
-                      serialization.ddl struct srcpart { string key, string value}
+                      name default.src
+                      numFiles 1
+                      numRows 500
+                      rawDataSize 5312
+                      serialization.ddl struct src { string key, string value}
                       serialization.format 1
                       serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                      totalSize 5812
 #### A masked pattern was here ####
                     serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-                    name: default.srcpart
-                  name: default.srcpart
+                    name: default.src
+                  name: default.src
             Truncated Path -> Alias:
-              /srcpart/ds=2008-04-08/hr=11 [z]
+              /src [y]
 
   Stage: Stage-0
     Move Operator
@@ -430,8 +430,8 @@
 POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11
 POSTHOOK: Output: default@dest_j1
 POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: dest_j1.val2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: dest_j1.value EXPRESSION [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ]
 PREHOOK: query: select * from dest_j1
 PREHOOK: type: QUERY
 PREHOOK: Input: default@dest_j1
@@ -613,88 +613,12 @@
 
 
 STAGE DEPENDENCIES:
-  Stage-4 is a root stage
-  Stage-3 depends on stages: Stage-4
+  Stage-3 is a root stage
   Stage-1 depends on stages: Stage-3
   Stage-0 depends on stages: Stage-1
   Stage-2 depends on stages: Stage-0
 
 STAGE PLANS:
-  Stage: Stage-4
-    Spark
-#### A masked pattern was here ####
-      Vertices:
-        Map 3 
-            Map Operator Tree:
-                TableScan
-                  alias: x
-                  Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
-                  GatherStats: false
-                  Filter Operator
-                    isSamplingPred: false
-                    predicate: (key is not null and value is not null) (type: boolean)
-                    Statistics: Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                    Select Operator
-                      expressions: key (type: string), value (type: string)
-                      outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                      Spark HashTable Sink Operator
-                        keys:
-                          0 _col0 (type: string)
-                          1 _col0 (type: string)
-                        Position of Big Table: 1
-            Local Work:
-              Map Reduce Local Work
-            Path -> Alias:
-#### A masked pattern was here ####
-            Path -> Partition:
-#### A masked pattern was here ####
-                Partition
-                  base file name: src1
-                  input format: org.apache.hadoop.mapred.TextInputFormat
-                  output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-                  properties:
-                    COLUMN_STATS_ACCURATE true
-                    bucket_count -1
-                    columns key,value
-                    columns.comments 'default','default'
-                    columns.types string:string
-#### A masked pattern was here ####
-                    name default.src1
-                    numFiles 1
-                    numRows 25
-                    rawDataSize 191
-                    serialization.ddl struct src1 { string key, string value}
-                    serialization.format 1
-                    serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-                    totalSize 216
-#### A masked pattern was here ####
-                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-                
-                    input format: org.apache.hadoop.mapred.TextInputFormat
-                    output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-                    properties:
-                      COLUMN_STATS_ACCURATE true
-                      bucket_count -1
-                      columns key,value
-                      columns.comments 'default','default'
-                      columns.types string:string
-#### A masked pattern was here ####
-                      name default.src1
-                      numFiles 1
-                      numRows 25
-                      rawDataSize 191
-                      serialization.ddl struct src1 { string key, string value}
-                      serialization.format 1
-                      serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-                      totalSize 216
-#### A masked pattern was here ####
-                    serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-                    name: default.src1
-                  name: default.src1
-            Truncated Path -> Alias:
-              /src1 [x]
-
   Stage: Stage-3
     Spark
 #### A masked pattern was here ####
@@ -769,6 +693,76 @@
                   name: default.src
             Truncated Path -> Alias:
               /src [w]
+        Map 3 
+            Map Operator Tree:
+                TableScan
+                  alias: x
+                  Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+                  GatherStats: false
+                  Filter Operator
+                    isSamplingPred: false
+                    predicate: (value is not null and key is not null) (type: boolean)
+                    Statistics: Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                    Select Operator
+                      expressions: key (type: string), value (type: string)
+                      outputColumnNames: _col0, _col1
+                      Statistics: Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                      Spark HashTable Sink Operator
+                        keys:
+                          0 _col0 (type: string)
+                          1 _col1 (type: string)
+                        Position of Big Table: 0
+            Local Work:
+              Map Reduce Local Work
+            Path -> Alias:
+#### A masked pattern was here ####
+            Path -> Partition:
+#### A masked pattern was here ####
+                Partition
+                  base file name: src1
+                  input format: org.apache.hadoop.mapred.TextInputFormat
+                  output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                  properties:
+                    COLUMN_STATS_ACCURATE true
+                    bucket_count -1
+                    columns key,value
+                    columns.comments 'default','default'
+                    columns.types string:string
+#### A masked pattern was here ####
+                    name default.src1
+                    numFiles 1
+                    numRows 25
+                    rawDataSize 191
+                    serialization.ddl struct src1 { string key, string value}
+                    serialization.format 1
+                    serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                    totalSize 216
+#### A masked pattern was here ####
+                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                
+                    input format: org.apache.hadoop.mapred.TextInputFormat
+                    output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                    properties:
+                      COLUMN_STATS_ACCURATE true
+                      bucket_count -1
+                      columns key,value
+                      columns.comments 'default','default'
+                      columns.types string:string
+#### A masked pattern was here ####
+                      name default.src1
+                      numFiles 1
+                      numRows 25
+                      rawDataSize 191
+                      serialization.ddl struct src1 { string key, string value}
+                      serialization.format 1
+                      serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                      totalSize 216
+#### A masked pattern was here ####
+                    serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                    name: default.src1
+                  name: default.src1
+            Truncated Path -> Alias:
+              /src1 [x]
         Map 4 
             Map Operator Tree:
                 TableScan
@@ -783,22 +777,11 @@
                       expressions: key (type: string), value (type: string)
                       outputColumnNames: _col0, _col1
                       Statistics: Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
-                      Map Join Operator
-                        condition map:
-                             Inner Join 0 to 1
+                      Spark HashTable Sink Operator
                         keys:
-                          0 _col0 (type: string)
+                          0 _col1 (type: string)
                           1 _col0 (type: string)
-                        outputColumnNames: _col0, _col1, _col3
-                        input vertices:
-                          0 Map 3
-                        Position of Big Table: 1
-                        Statistics: Num rows: 14 Data size: 108 Basic stats: COMPLETE Column stats: NONE
-                        Spark HashTable Sink Operator
-                          keys:
-                            0 _col0 (type: string)
-                            1 _col1 (type: string)
-                          Position of Big Table: 0
+                        Position of Big Table: 0
             Local Work:
               Map Reduce Local Work
             Path -> Alias:
@@ -875,57 +858,68 @@
                         keys:
                           0 _col0 (type: string)
                           1 _col1 (type: string)
-                        outputColumnNames: _col1, _col4
+                        outputColumnNames: _col1
                         input vertices:
-                          1 Map 4
+                          1 Map 3
                         Position of Big Table: 0
                         Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
                         Map Join Operator
                           condition map:
                                Inner Join 0 to 1
                           keys:
-                            0 _col0 (type: string)
-                            1 _col1 (type: string)
-                          outputColumnNames: _col1, _col3, _col6
+                            0 _col1 (type: string)
+                            1 _col0 (type: string)
+                          outputColumnNames: _col1, _col4
                           input vertices:
-                            0 Map 1
-                          Position of Big Table: 1
+                            1 Map 4
+                          Position of Big Table: 0
                           Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
-                          Select Operator
-                            expressions: _col3 (type: string), _col6 (type: string), _col1 (type: string)
-                            outputColumnNames: _col0, _col1, _col2
-                            Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
-                            File Output Operator
-                              compressed: false
-                              GlobalTableId: 1
+                          Map Join Operator
+                            condition map:
+                                 Inner Join 0 to 1
+                            keys:
+                              0 _col0 (type: string)
+                              1 _col1 (type: string)
+                            outputColumnNames: _col1, _col3, _col6
+                            input vertices:
+                              0 Map 1
+                            Position of Big Table: 1
+                            Statistics: Num rows: 332 Data size: 3534 Basic stats: COMPLETE Column stats: NONE
+                            Select Operator
+                              expressions: _col3 (type: string), _col6 (type: string), _col1 (type: string)
+                              outputColumnNames: _col0, _col1, _col2
+                              Statistics: Num rows: 332 Data size: 3534 Basic stats: COMPLETE Column stats: NONE
+                              File Output Operator
+                                compressed: false
+                                GlobalTableId: 1
 #### A masked pattern was here ####
-                              NumFilesPerFileSink: 1
-                              Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
+                                NumFilesPerFileSink: 1
+                                Statistics: Num rows: 332 Data size: 3534 Basic stats: COMPLETE Column stats: NONE
 #### A masked pattern was here ####
-                              table:
-                                  input format: org.apache.hadoop.mapred.TextInputFormat
-                                  output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-                                  properties:
-                                    COLUMN_STATS_ACCURATE true
-                                    bucket_count -1
-                                    columns key,value,val2
-                                    columns.comments 
-                                    columns.types string:string:string
+                                table:
+                                    input format: org.apache.hadoop.mapred.TextInputFormat
+                                    output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                                    properties:
+                                      COLUMN_STATS_ACCURATE true
+                                      bucket_count -1
+                                      columns key,value,val2
+                                      columns.comments 
+                                      columns.types string:string:string
 #### A masked pattern was here ####
-                                    name default.dest_j1
-                                    numFiles 1
-                                    numRows 85
-                                    rawDataSize 1600
-                                    serialization.ddl struct dest_j1 { string key, string value, string val2}
-                                    serialization.format 1
-                                    serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-                                    totalSize 1685
+                                      name default.dest_j1
+                                      numFiles 1
+                                      numRows 85
+                                      rawDataSize 1600
+                                      serialization.ddl struct dest_j1 { string key, string value, string val2}
+                                      serialization.format 1
+                                      serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                                      totalSize 1685
 #### A masked pattern was here ####
-                                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-                                  name: default.dest_j1
-                              TotalFiles: 1
-                              GatherStats: true
-                              MultiFileSpray: false
+                                    serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                                    name: default.dest_j1
+                                TotalFiles: 1
+                                GatherStats: true
+                                MultiFileSpray: false
             Local Work:
               Map Reduce Local Work
             Path -> Alias:
diff --git a/ql/src/test/results/clientpositive/spark/join33.q.out b/ql/src/test/results/clientpositive/spark/join33.q.out
index a9d50b4..0f16678 100644
--- a/ql/src/test/results/clientpositive/spark/join33.q.out
+++ b/ql/src/test/results/clientpositive/spark/join33.q.out
@@ -113,16 +113,16 @@
         Map 1 
             Map Operator Tree:
                 TableScan
-                  alias: y
+                  alias: z
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: key is not null (type: boolean)
+                    predicate: ((11.0 = 11.0) and value is not null) (type: boolean)
                     Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
-                      expressions: key (type: string), value (type: string)
-                      outputColumnNames: _col0, _col1
+                      expressions: value (type: string)
+                      outputColumnNames: _col0
                       Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                       Spark HashTable Sink Operator
                         keys:
@@ -136,9 +136,12 @@
             Path -> Partition:
 #### A masked pattern was here ####
                 Partition
-                  base file name: src
+                  base file name: hr=11
                   input format: org.apache.hadoop.mapred.TextInputFormat
                   output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                  partition values:
+                    ds 2008-04-08
+                    hr 11
                   properties:
                     COLUMN_STATS_ACCURATE true
                     bucket_count -1
@@ -146,11 +149,13 @@
                     columns.comments 'default','default'
                     columns.types string:string
 #### A masked pattern was here ####
-                    name default.src
+                    name default.srcpart
                     numFiles 1
                     numRows 500
+                    partition_columns ds/hr
+                    partition_columns.types string:string
                     rawDataSize 5312
-                    serialization.ddl struct src { string key, string value}
+                    serialization.ddl struct srcpart { string key, string value}
                     serialization.format 1
                     serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                     totalSize 5812
@@ -160,26 +165,23 @@
                     input format: org.apache.hadoop.mapred.TextInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                     properties:
-                      COLUMN_STATS_ACCURATE true
                       bucket_count -1
                       columns key,value
                       columns.comments 'default','default'
                       columns.types string:string
 #### A masked pattern was here ####
-                      name default.src
-                      numFiles 1
-                      numRows 500
-                      rawDataSize 5312
-                      serialization.ddl struct src { string key, string value}
+                      name default.srcpart
+                      partition_columns ds/hr
+                      partition_columns.types string:string
+                      serialization.ddl struct srcpart { string key, string value}
                       serialization.format 1
                       serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-                      totalSize 5812
 #### A masked pattern was here ####
                     serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-                    name: default.src
-                  name: default.src
+                    name: default.srcpart
+                  name: default.srcpart
             Truncated Path -> Alias:
-              /src [y]
+              /srcpart/ds=2008-04-08/hr=11 [z]
         Map 3 
             Map Operator Tree:
                 TableScan
@@ -188,7 +190,7 @@
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: (value is not null and key is not null) (type: boolean)
+                    predicate: (key is not null and value is not null) (type: boolean)
                     Statistics: Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: key (type: string), value (type: string)
@@ -197,7 +199,7 @@
                       Spark HashTable Sink Operator
                         keys:
                           0 _col0 (type: string)
-                          1 _col1 (type: string)
+                          1 _col0 (type: string)
                         Position of Big Table: 0
             Local Work:
               Map Reduce Local Work
@@ -258,24 +260,24 @@
         Map 2 
             Map Operator Tree:
                 TableScan
-                  alias: z
+                  alias: y
                   Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: ((11.0 = 11.0) and value is not null) (type: boolean)
+                    predicate: key is not null (type: boolean)
                     Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
-                      expressions: value (type: string)
-                      outputColumnNames: _col0
+                      expressions: key (type: string), value (type: string)
+                      outputColumnNames: _col0, _col1
                       Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                       Map Join Operator
                         condition map:
                              Inner Join 0 to 1
                         keys:
                           0 _col0 (type: string)
-                          1 _col1 (type: string)
-                        outputColumnNames: _col0, _col3
+                          1 _col0 (type: string)
+                        outputColumnNames: _col1, _col2, _col3
                         input vertices:
                           1 Map 3
                         Position of Big Table: 0
@@ -286,13 +288,13 @@
                           keys:
                             0 _col0 (type: string)
                             1 _col3 (type: string)
-                          outputColumnNames: _col1, _col2, _col5
+                          outputColumnNames: _col0, _col4, _col5
                           input vertices:
                             0 Map 1
                           Position of Big Table: 1
                           Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
                           Select Operator
-                            expressions: _col5 (type: string), _col2 (type: string), _col1 (type: string)
+                            expressions: _col5 (type: string), _col0 (type: string), _col4 (type: string)
                             outputColumnNames: _col0, _col1, _col2
                             Statistics: Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
                             File Output Operator
@@ -328,12 +330,9 @@
             Path -> Partition:
 #### A masked pattern was here ####
                 Partition
-                  base file name: hr=11
+                  base file name: src
                   input format: org.apache.hadoop.mapred.TextInputFormat
                   output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-                  partition values:
-                    ds 2008-04-08
-                    hr 11
                   properties:
                     COLUMN_STATS_ACCURATE true
                     bucket_count -1
@@ -341,13 +340,11 @@
                     columns.comments 'default','default'
                     columns.types string:string
 #### A masked pattern was here ####
-                    name default.srcpart
+                    name default.src
                     numFiles 1
                     numRows 500
-                    partition_columns ds/hr
-                    partition_columns.types string:string
                     rawDataSize 5312
-                    serialization.ddl struct srcpart { string key, string value}
+                    serialization.ddl struct src { string key, string value}
                     serialization.format 1
                     serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                     totalSize 5812
@@ -357,23 +354,26 @@
                     input format: org.apache.hadoop.mapred.TextInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                     properties:
+                      COLUMN_STATS_ACCURATE true
                       bucket_count -1
                       columns key,value
                       columns.comments 'default','default'
                       columns.types string:string
 #### A masked pattern was here ####
-                      name default.srcpart
-                      partition_columns ds/hr
-                      partition_columns.types string:string
-                      serialization.ddl struct srcpart { string key, string value}
+                      name default.src
+                      numFiles 1
+                      numRows 500
+                      rawDataSize 5312
+                      serialization.ddl struct src { string key, string value}
                       serialization.format 1
                       serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                      totalSize 5812
 #### A masked pattern was here ####
                     serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-                    name: default.srcpart
-                  name: default.srcpart
+                    name: default.src
+                  name: default.src
             Truncated Path -> Alias:
-              /srcpart/ds=2008-04-08/hr=11 [z]
+              /src [y]
 
   Stage: Stage-0
     Move Operator
@@ -422,8 +422,8 @@
 POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11
 POSTHOOK: Output: default@dest_j1
 POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: dest_j1.val2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: dest_j1.value EXPRESSION [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ]
 PREHOOK: query: select * from dest_j1
 PREHOOK: type: QUERY
 PREHOOK: Input: default@dest_j1
diff --git a/ql/src/test/results/clientpositive/spark/join_alt_syntax.q.out b/ql/src/test/results/clientpositive/spark/join_alt_syntax.q.out
index dabdcb8..f0d96c4 100644
--- a/ql/src/test/results/clientpositive/spark/join_alt_syntax.q.out
+++ b/ql/src/test/results/clientpositive/spark/join_alt_syntax.q.out
@@ -390,9 +390,9 @@
   Stage: Stage-1
     Spark
       Edges:
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Map 4 (PARTITION-LEVEL SORT, 2)
         Reducer 6 <- Map 5 (PARTITION-LEVEL SORT, 2), Map 7 (PARTITION-LEVEL SORT, 2)
-        Reducer 4 <- Map 3 (PARTITION-LEVEL SORT, 2), Reducer 6 (PARTITION-LEVEL SORT, 2)
-        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Reducer 4 (PARTITION-LEVEL SORT, 2)
+        Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 2), Reducer 6 (PARTITION-LEVEL SORT, 2)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -401,6 +401,24 @@
                   alias: p1
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
+                    predicate: (p_partkey is not null and p_name is not null) (type: boolean)
+                    Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                    Select Operator
+                      expressions: p_partkey (type: int), p_name (type: string)
+                      outputColumnNames: _col0, _col1
+                      Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                      Reduce Output Operator
+                        key expressions: _col0 (type: int)
+                        sort order: +
+                        Map-reduce partition columns: _col0 (type: int)
+                        Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                        value expressions: _col1 (type: string)
+        Map 4 
+            Map Operator Tree:
+                TableScan
+                  alias: p1
+                  Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+                  Filter Operator
                     predicate: p_partkey is not null (type: boolean)
                     Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
@@ -413,7 +431,25 @@
                         Map-reduce partition columns: _col0 (type: int)
                         Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col1 (type: string)
-        Map 3 
+        Map 5 
+            Map Operator Tree:
+                TableScan
+                  alias: p1
+                  Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+                  Filter Operator
+                    predicate: (p_name is not null and p_partkey is not null) (type: boolean)
+                    Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                    Select Operator
+                      expressions: p_partkey (type: int), p_name (type: string)
+                      outputColumnNames: _col0, _col1
+                      Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                      Reduce Output Operator
+                        key expressions: _col1 (type: string)
+                        sort order: +
+                        Map-reduce partition columns: _col1 (type: string)
+                        Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                        value expressions: _col0 (type: int)
+        Map 7 
             Map Operator Tree:
                 TableScan
                   alias: p1
@@ -430,40 +466,6 @@
                         sort order: +
                         Map-reduce partition columns: _col0 (type: string)
                         Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
-        Map 5 
-            Map Operator Tree:
-                TableScan
-                  alias: p1
-                  Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
-                  Filter Operator
-                    predicate: (p_partkey is not null and p_name is not null) (type: boolean)
-                    Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                    Select Operator
-                      expressions: p_partkey (type: int), p_name (type: string)
-                      outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                      Reduce Output Operator
-                        key expressions: _col0 (type: int), _col1 (type: string)
-                        sort order: ++
-                        Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
-                        Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-        Map 7 
-            Map Operator Tree:
-                TableScan
-                  alias: p1
-                  Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
-                  Filter Operator
-                    predicate: (p_partkey is not null and p_name is not null) (type: boolean)
-                    Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                    Select Operator
-                      expressions: p_partkey (type: int), p_name (type: string)
-                      outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                      Reduce Output Operator
-                        key expressions: _col0 (type: int), _col1 (type: string)
-                        sort order: ++
-                        Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
-                        Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
         Reducer 2 
             Reduce Operator Tree:
               Join Operator
@@ -471,11 +473,27 @@
                      Inner Join 0 to 1
                 keys:
                   0 _col0 (type: int)
-                  1 _col1 (type: int)
-                outputColumnNames: _col1, _col2, _col4, _col6
+                  1 _col0 (type: int)
+                outputColumnNames: _col0, _col1, _col3
+                Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  key expressions: _col0 (type: int), _col1 (type: string)
+                  sort order: ++
+                  Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
+                  Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+                  value expressions: _col3 (type: string)
+        Reducer 3 
+            Reduce Operator Tree:
+              Join Operator
+                condition map:
+                     Inner Join 0 to 1
+                keys:
+                  0 _col0 (type: int), _col1 (type: string)
+                  1 _col0 (type: int), _col1 (type: string)
+                outputColumnNames: _col1, _col3, _col5, _col6
                 Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
                 Select Operator
-                  expressions: _col4 (type: string), _col6 (type: string), _col2 (type: string), _col1 (type: string)
+                  expressions: _col1 (type: string), _col5 (type: string), _col6 (type: string), _col3 (type: string)
                   outputColumnNames: _col0, _col1, _col2, _col3
                   Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
                   File Output Operator
@@ -485,38 +503,22 @@
                         input format: org.apache.hadoop.mapred.TextInputFormat
                         output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                         serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-        Reducer 4 
-            Reduce Operator Tree:
-              Join Operator
-                condition map:
-                     Inner Join 0 to 1
-                keys:
-                  0 _col0 (type: string)
-                  1 _col3 (type: string)
-                outputColumnNames: _col0, _col1, _col2, _col4
-                Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
-                Reduce Output Operator
-                  key expressions: _col1 (type: int)
-                  sort order: +
-                  Map-reduce partition columns: _col1 (type: int)
-                  Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
-                  value expressions: _col0 (type: string), _col2 (type: string), _col4 (type: string)
         Reducer 6 
             Reduce Operator Tree:
               Join Operator
                 condition map:
                      Inner Join 0 to 1
                 keys:
-                  0 _col0 (type: int), _col1 (type: string)
-                  1 _col0 (type: int), _col1 (type: string)
-                outputColumnNames: _col0, _col1, _col3
-                Statistics: Num rows: 7 Data size: 931 Basic stats: COMPLETE Column stats: NONE
+                  0 _col1 (type: string)
+                  1 _col0 (type: string)
+                outputColumnNames: _col0, _col1, _col2
+                Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col3 (type: string)
-                  sort order: +
-                  Map-reduce partition columns: _col3 (type: string)
-                  Statistics: Num rows: 7 Data size: 931 Basic stats: COMPLETE Column stats: NONE
-                  value expressions: _col0 (type: int), _col1 (type: string)
+                  key expressions: _col0 (type: int), _col1 (type: string)
+                  sort order: ++
+                  Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
+                  Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+                  value expressions: _col2 (type: string)
 
   Stage: Stage-0
     Fetch Operator
@@ -542,9 +544,9 @@
   Stage: Stage-1
     Spark
       Edges:
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Map 4 (PARTITION-LEVEL SORT, 2)
         Reducer 6 <- Map 5 (PARTITION-LEVEL SORT, 2), Map 7 (PARTITION-LEVEL SORT, 2)
-        Reducer 4 <- Map 3 (PARTITION-LEVEL SORT, 2), Reducer 6 (PARTITION-LEVEL SORT, 2)
-        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Reducer 4 (PARTITION-LEVEL SORT, 2)
+        Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 2), Reducer 6 (PARTITION-LEVEL SORT, 2)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -553,6 +555,24 @@
                   alias: p1
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
+                    predicate: (p_partkey is not null and p_name is not null) (type: boolean)
+                    Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                    Select Operator
+                      expressions: p_partkey (type: int), p_name (type: string)
+                      outputColumnNames: _col0, _col1
+                      Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                      Reduce Output Operator
+                        key expressions: _col0 (type: int)
+                        sort order: +
+                        Map-reduce partition columns: _col0 (type: int)
+                        Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                        value expressions: _col1 (type: string)
+        Map 4 
+            Map Operator Tree:
+                TableScan
+                  alias: p1
+                  Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+                  Filter Operator
                     predicate: p_partkey is not null (type: boolean)
                     Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
@@ -565,7 +585,25 @@
                         Map-reduce partition columns: _col0 (type: int)
                         Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col1 (type: string)
-        Map 3 
+        Map 5 
+            Map Operator Tree:
+                TableScan
+                  alias: p1
+                  Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+                  Filter Operator
+                    predicate: (p_name is not null and p_partkey is not null) (type: boolean)
+                    Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                    Select Operator
+                      expressions: p_partkey (type: int), p_name (type: string)
+                      outputColumnNames: _col0, _col1
+                      Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                      Reduce Output Operator
+                        key expressions: _col1 (type: string)
+                        sort order: +
+                        Map-reduce partition columns: _col1 (type: string)
+                        Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                        value expressions: _col0 (type: int)
+        Map 7 
             Map Operator Tree:
                 TableScan
                   alias: p1
@@ -582,40 +620,6 @@
                         sort order: +
                         Map-reduce partition columns: _col0 (type: string)
                         Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
-        Map 5 
-            Map Operator Tree:
-                TableScan
-                  alias: p1
-                  Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
-                  Filter Operator
-                    predicate: (p_name is not null and p_partkey is not null) (type: boolean)
-                    Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                    Select Operator
-                      expressions: p_partkey (type: int), p_name (type: string)
-                      outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                      Reduce Output Operator
-                        key expressions: _col1 (type: string), _col0 (type: int)
-                        sort order: ++
-                        Map-reduce partition columns: _col1 (type: string), _col0 (type: int)
-                        Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-        Map 7 
-            Map Operator Tree:
-                TableScan
-                  alias: p1
-                  Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
-                  Filter Operator
-                    predicate: (p_name is not null and p_partkey is not null) (type: boolean)
-                    Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                    Select Operator
-                      expressions: p_partkey (type: int), p_name (type: string)
-                      outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                      Reduce Output Operator
-                        key expressions: _col1 (type: string), _col0 (type: int)
-                        sort order: ++
-                        Map-reduce partition columns: _col1 (type: string), _col0 (type: int)
-                        Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
         Reducer 2 
             Reduce Operator Tree:
               Join Operator
@@ -623,11 +627,27 @@
                      Inner Join 0 to 1
                 keys:
                   0 _col0 (type: int)
-                  1 _col1 (type: int)
-                outputColumnNames: _col1, _col2, _col4, _col6
+                  1 _col0 (type: int)
+                outputColumnNames: _col0, _col1, _col3
+                Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  key expressions: _col1 (type: string), _col0 (type: int)
+                  sort order: ++
+                  Map-reduce partition columns: _col1 (type: string), _col0 (type: int)
+                  Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+                  value expressions: _col3 (type: string)
+        Reducer 3 
+            Reduce Operator Tree:
+              Join Operator
+                condition map:
+                     Inner Join 0 to 1
+                keys:
+                  0 _col1 (type: string), _col0 (type: int)
+                  1 _col1 (type: string), _col0 (type: int)
+                outputColumnNames: _col1, _col3, _col5, _col6
                 Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
                 Select Operator
-                  expressions: _col4 (type: string), _col6 (type: string), _col2 (type: string), _col1 (type: string)
+                  expressions: _col1 (type: string), _col5 (type: string), _col6 (type: string), _col3 (type: string)
                   outputColumnNames: _col0, _col1, _col2, _col3
                   Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
                   File Output Operator
@@ -637,38 +657,22 @@
                         input format: org.apache.hadoop.mapred.TextInputFormat
                         output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                         serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-        Reducer 4 
-            Reduce Operator Tree:
-              Join Operator
-                condition map:
-                     Inner Join 0 to 1
-                keys:
-                  0 _col0 (type: string)
-                  1 _col3 (type: string)
-                outputColumnNames: _col0, _col1, _col2, _col4
-                Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
-                Reduce Output Operator
-                  key expressions: _col1 (type: int)
-                  sort order: +
-                  Map-reduce partition columns: _col1 (type: int)
-                  Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
-                  value expressions: _col0 (type: string), _col2 (type: string), _col4 (type: string)
         Reducer 6 
             Reduce Operator Tree:
               Join Operator
                 condition map:
                      Inner Join 0 to 1
                 keys:
-                  0 _col1 (type: string), _col0 (type: int)
-                  1 _col1 (type: string), _col0 (type: int)
-                outputColumnNames: _col0, _col1, _col3
-                Statistics: Num rows: 7 Data size: 931 Basic stats: COMPLETE Column stats: NONE
+                  0 _col1 (type: string)
+                  1 _col0 (type: string)
+                outputColumnNames: _col0, _col1, _col2
+                Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col3 (type: string)
-                  sort order: +
-                  Map-reduce partition columns: _col3 (type: string)
-                  Statistics: Num rows: 7 Data size: 931 Basic stats: COMPLETE Column stats: NONE
-                  value expressions: _col0 (type: int), _col1 (type: string)
+                  key expressions: _col1 (type: string), _col0 (type: int)
+                  sort order: ++
+                  Map-reduce partition columns: _col1 (type: string), _col0 (type: int)
+                  Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+                  value expressions: _col2 (type: string)
 
   Stage: Stage-0
     Fetch Operator
diff --git a/ql/src/test/results/clientpositive/spark/join_cond_pushdown_2.q.out b/ql/src/test/results/clientpositive/spark/join_cond_pushdown_2.q.out
index 26e05ac..ff1626f 100644
--- a/ql/src/test/results/clientpositive/spark/join_cond_pushdown_2.q.out
+++ b/ql/src/test/results/clientpositive/spark/join_cond_pushdown_2.q.out
@@ -150,9 +150,9 @@
   Stage: Stage-1
     Spark
       Edges:
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Map 4 (PARTITION-LEVEL SORT, 2)
         Reducer 6 <- Map 5 (PARTITION-LEVEL SORT, 2), Map 7 (PARTITION-LEVEL SORT, 2)
-        Reducer 4 <- Map 3 (PARTITION-LEVEL SORT, 2), Reducer 6 (PARTITION-LEVEL SORT, 2)
-        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Reducer 4 (PARTITION-LEVEL SORT, 2)
+        Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 2), Reducer 6 (PARTITION-LEVEL SORT, 2)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -161,6 +161,24 @@
                   alias: p1
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
+                    predicate: (p_partkey is not null and p_name is not null) (type: boolean)
+                    Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                    Select Operator
+                      expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string)
+                      outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
+                      Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                      Reduce Output Operator
+                        key expressions: _col0 (type: int)
+                        sort order: +
+                        Map-reduce partition columns: _col0 (type: int)
+                        Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                        value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
+        Map 4 
+            Map Operator Tree:
+                TableScan
+                  alias: p1
+                  Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+                  Filter Operator
                     predicate: p_partkey is not null (type: boolean)
                     Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
@@ -173,7 +191,7 @@
                         Map-reduce partition columns: _col0 (type: int)
                         Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
-        Map 3 
+        Map 5 
             Map Operator Tree:
                 TableScan
                   alias: p1
@@ -191,42 +209,24 @@
                         Map-reduce partition columns: _col1 (type: string)
                         Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
-        Map 5 
-            Map Operator Tree:
-                TableScan
-                  alias: p1
-                  Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
-                  Filter Operator
-                    predicate: (p_partkey is not null and p_name is not null) (type: boolean)
-                    Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                    Select Operator
-                      expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string)
-                      outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
-                      Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                      Reduce Output Operator
-                        key expressions: _col0 (type: int), _col1 (type: string)
-                        sort order: ++
-                        Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
-                        Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                        value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
         Map 7 
             Map Operator Tree:
                 TableScan
                   alias: p1
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
-                    predicate: (p_partkey is not null and p_name is not null) (type: boolean)
+                    predicate: (p_name is not null and p_partkey is not null) (type: boolean)
                     Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string)
                       outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
                       Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
-                        key expressions: _col0 (type: int), _col1 (type: string)
-                        sort order: ++
-                        Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
+                        key expressions: _col1 (type: string)
+                        sort order: +
+                        Map-reduce partition columns: _col1 (type: string)
                         Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                        value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
+                        value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
         Reducer 2 
             Reduce Operator Tree:
               Join Operator
@@ -234,11 +234,27 @@
                      Inner Join 0 to 1
                 keys:
                   0 _col0 (type: int)
-                  1 _col9 (type: int)
+                  1 _col0 (type: int)
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17
+                Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  key expressions: _col0 (type: int), _col1 (type: string)
+                  sort order: ++
+                  Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
+                  Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+                  value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
+        Reducer 3 
+            Reduce Operator Tree:
+              Join Operator
+                condition map:
+                     Inner Join 0 to 1
+                keys:
+                  0 _col0 (type: int), _col1 (type: string)
+                  1 _col9 (type: int), _col10 (type: string)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35
                 Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
                 Select Operator
-                  expressions: _col18 (type: int), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string), _col27 (type: int), _col28 (type: string), _col29 (type: string), _col30 (type: string), _col31 (type: string), _col32 (type: int), _col33 (type: string), _col34 (type: double), _col35 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string), _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
+                  expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col27 (type: int), _col28 (type: string), _col29 (type: string), _col30 (type: string), _col31 (type: string), _col32 (type: int), _col33 (type: string), _col34 (type: double), _col35 (type: string), _col18 (type: int), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
                   outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35
                   Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
                   File Output Operator
@@ -248,38 +264,22 @@
                         input format: org.apache.hadoop.mapred.TextInputFormat
                         output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                         serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-        Reducer 4 
-            Reduce Operator Tree:
-              Join Operator
-                condition map:
-                     Inner Join 0 to 1
-                keys:
-                  0 _col1 (type: string)
-                  1 _col10 (type: string)
-                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26
-                Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
-                Reduce Output Operator
-                  key expressions: _col9 (type: int)
-                  sort order: +
-                  Map-reduce partition columns: _col9 (type: int)
-                  Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
-                  value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string), _col18 (type: int), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string)
         Reducer 6 
             Reduce Operator Tree:
               Join Operator
                 condition map:
                      Inner Join 0 to 1
                 keys:
-                  0 _col0 (type: int), _col1 (type: string)
-                  1 _col0 (type: int), _col1 (type: string)
+                  0 _col1 (type: string)
+                  1 _col1 (type: string)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17
-                Statistics: Num rows: 7 Data size: 931 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col10 (type: string)
-                  sort order: +
-                  Map-reduce partition columns: _col10 (type: string)
-                  Statistics: Num rows: 7 Data size: 931 Basic stats: COMPLETE Column stats: NONE
-                  value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
+                  key expressions: _col9 (type: int), _col10 (type: string)
+                  sort order: ++
+                  Map-reduce partition columns: _col9 (type: int), _col10 (type: string)
+                  Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+                  value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
 
   Stage: Stage-0
     Fetch Operator
diff --git a/ql/src/test/results/clientpositive/spark/join_cond_pushdown_4.q.out b/ql/src/test/results/clientpositive/spark/join_cond_pushdown_4.q.out
index c821fe4..417ba4f 100644
--- a/ql/src/test/results/clientpositive/spark/join_cond_pushdown_4.q.out
+++ b/ql/src/test/results/clientpositive/spark/join_cond_pushdown_4.q.out
@@ -154,9 +154,9 @@
   Stage: Stage-1
     Spark
       Edges:
+        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Map 4 (PARTITION-LEVEL SORT, 2)
         Reducer 6 <- Map 5 (PARTITION-LEVEL SORT, 2), Map 7 (PARTITION-LEVEL SORT, 2)
-        Reducer 4 <- Map 3 (PARTITION-LEVEL SORT, 2), Reducer 6 (PARTITION-LEVEL SORT, 2)
-        Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Reducer 4 (PARTITION-LEVEL SORT, 2)
+        Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 2), Reducer 6 (PARTITION-LEVEL SORT, 2)
 #### A masked pattern was here ####
       Vertices:
         Map 1 
@@ -165,6 +165,24 @@
                   alias: p1
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
+                    predicate: (p_partkey is not null and p_name is not null) (type: boolean)
+                    Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                    Select Operator
+                      expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string)
+                      outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
+                      Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                      Reduce Output Operator
+                        key expressions: _col0 (type: int)
+                        sort order: +
+                        Map-reduce partition columns: _col0 (type: int)
+                        Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
+                        value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
+        Map 4 
+            Map Operator Tree:
+                TableScan
+                  alias: p1
+                  Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+                  Filter Operator
                     predicate: p_partkey is not null (type: boolean)
                     Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
@@ -177,7 +195,7 @@
                         Map-reduce partition columns: _col0 (type: int)
                         Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
-        Map 3 
+        Map 5 
             Map Operator Tree:
                 TableScan
                   alias: p1
@@ -195,42 +213,24 @@
                         Map-reduce partition columns: _col1 (type: string)
                         Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                         value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
-        Map 5 
-            Map Operator Tree:
-                TableScan
-                  alias: p1
-                  Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
-                  Filter Operator
-                    predicate: (p_partkey is not null and p_name is not null) (type: boolean)
-                    Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                    Select Operator
-                      expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string)
-                      outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
-                      Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                      Reduce Output Operator
-                        key expressions: _col0 (type: int), _col1 (type: string)
-                        sort order: ++
-                        Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
-                        Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                        value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
         Map 7 
             Map Operator Tree:
                 TableScan
                   alias: p1
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
-                    predicate: (p_partkey is not null and p_name is not null) (type: boolean)
+                    predicate: (p_name is not null and p_partkey is not null) (type: boolean)
                     Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: p_partkey (type: int), p_name (type: string), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string)
                       outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
                       Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
-                        key expressions: _col0 (type: int), _col1 (type: string)
-                        sort order: ++
-                        Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
+                        key expressions: _col1 (type: string)
+                        sort order: +
+                        Map-reduce partition columns: _col1 (type: string)
                         Statistics: Num rows: 7 Data size: 847 Basic stats: COMPLETE Column stats: NONE
-                        value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
+                        value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
         Reducer 2 
             Reduce Operator Tree:
               Join Operator
@@ -238,11 +238,27 @@
                      Inner Join 0 to 1
                 keys:
                   0 _col0 (type: int)
-                  1 _col9 (type: int)
+                  1 _col0 (type: int)
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17
+                Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  key expressions: _col0 (type: int), _col1 (type: string)
+                  sort order: ++
+                  Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
+                  Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+                  value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
+        Reducer 3 
+            Reduce Operator Tree:
+              Join Operator
+                condition map:
+                     Inner Join 0 to 1
+                keys:
+                  0 _col0 (type: int), _col1 (type: string)
+                  1 _col9 (type: int), _col10 (type: string)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35
                 Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
                 Select Operator
-                  expressions: _col18 (type: int), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string), _col27 (type: int), _col28 (type: string), _col29 (type: string), _col30 (type: string), _col31 (type: string), _col32 (type: int), _col33 (type: string), _col34 (type: double), _col35 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string), _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
+                  expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col27 (type: int), _col28 (type: string), _col29 (type: string), _col30 (type: string), _col31 (type: string), _col32 (type: int), _col33 (type: string), _col34 (type: double), _col35 (type: string), _col18 (type: int), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
                   outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35
                   Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
                   File Output Operator
@@ -252,38 +268,22 @@
                         input format: org.apache.hadoop.mapred.TextInputFormat
                         output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                         serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-        Reducer 4 
-            Reduce Operator Tree:
-              Join Operator
-                condition map:
-                     Inner Join 0 to 1
-                keys:
-                  0 _col1 (type: string)
-                  1 _col10 (type: string)
-                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26
-                Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
-                Reduce Output Operator
-                  key expressions: _col9 (type: int)
-                  sort order: +
-                  Map-reduce partition columns: _col9 (type: int)
-                  Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
-                  value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string), _col18 (type: int), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string)
         Reducer 6 
             Reduce Operator Tree:
               Join Operator
                 condition map:
                      Inner Join 0 to 1
                 keys:
-                  0 _col0 (type: int), _col1 (type: string)
-                  1 _col0 (type: int), _col1 (type: string)
+                  0 _col1 (type: string)
+                  1 _col1 (type: string)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17
-                Statistics: Num rows: 7 Data size: 931 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col10 (type: string)
-                  sort order: +
-                  Map-reduce partition columns: _col10 (type: string)
-                  Statistics: Num rows: 7 Data size: 931 Basic stats: COMPLETE Column stats: NONE
-                  value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
+                  key expressions: _col9 (type: int), _col10 (type: string)
+                  sort order: ++
+                  Map-reduce partition columns: _col9 (type: int), _col10 (type: string)
+                  Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+                  value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
 
   Stage: Stage-0
     Fetch Operator
diff --git a/ql/src/test/results/clientpositive/spark/ptf.q.out b/ql/src/test/results/clientpositive/spark/ptf.q.out
index 95592d5..a51722c 100644
--- a/ql/src/test/results/clientpositive/spark/ptf.q.out
+++ b/ql/src/test/results/clientpositive/spark/ptf.q.out
@@ -93,28 +93,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -297,7 +297,7 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: lag_window_0
                               arguments: _col5, 1, _col5
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -305,7 +305,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), (_col5 - _wcol0) (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), (_col5 - lag_window_0) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -571,28 +571,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -748,21 +748,21 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: lag_window_2
                               arguments: _col5, 1, _col5
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -770,7 +770,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), (_col5 - _wcol2) (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), (_col5 - lag_window_2) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -950,21 +950,21 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: lag_window_2
                               arguments: _col2, 1, _col2
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -972,7 +972,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int), _wcol0 (type: int), _wcol1 (type: int), _col2 (type: int), (_col2 - _wcol2) (type: int)
+                    expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col2 (type: int), (_col2 - lag_window_2) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
                     Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1440,7 +1440,7 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1, _col5
                               name: rank
                               window function: GenericUDAFRankEvaluator
@@ -1448,7 +1448,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1613,28 +1613,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1786,28 +1786,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -2019,28 +2019,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -2202,20 +2202,20 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: count_window_0
                               arguments: _col5
                               name: count
                               window function: GenericUDAFCountEvaluator
                               window frame: PRECEDING(MAX)~
                             window function definition
-                              alias: _wcol1
+                              alias: sum_window_1
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(2)~FOLLOWING(2)
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: bigint), _wcol1 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), count_window_0 (type: bigint), sum_window_1 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -2414,33 +2414,33 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: count_window_2
                               arguments: _col1
                               name: count
                               window function: GenericUDAFCountEvaluator
                               window frame: PRECEDING(MAX)~
                             window function definition
-                              alias: _wcol3
+                              alias: sum_window_3
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                             window function definition
-                              alias: _wcol4
+                              alias: lag_window_4
                               arguments: _col5, 1, _col5
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -2448,7 +2448,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: bigint), _col7 (type: double), _wcol3 (type: double), _col5 (type: int), (_col5 - _wcol4) (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), sum_window_3 (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
                     Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -2767,14 +2767,14 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: sum_window_0
                               arguments: _col2
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(2)~
                   Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), _wcol0 (type: double)
+                    expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), sum_window_0 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -2954,28 +2954,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -3006,22 +3006,22 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: sum_window_0
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(5)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col1 (type: string), _col2 (type: string), _col5 (type: int), _wcol0 (type: bigint)
-                    outputColumnNames: _col1, _col2, _col5, _wcol0
+                    expressions: _col1 (type: string), _col2 (type: string), _col5 (type: int), sum_window_0 (type: bigint)
+                    outputColumnNames: _col1, _col2, _col5, sum_window_0
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     Reduce Output Operator
                       key expressions: _col2 (type: string), _col1 (type: string)
                       sort order: ++
                       Map-reduce partition columns: _col2 (type: string)
                       Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
-                      value expressions: _wcol0 (type: bigint), _col5 (type: int)
+                      value expressions: sum_window_0 (type: bigint), _col5 (type: int)
         Reducer 5 
             Reduce Operator Tree:
               Select Operator
@@ -3042,35 +3042,35 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol1
+                              alias: rank_window_1
                               arguments: _col3, _col2
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: dense_rank_window_2
                               arguments: _col3, _col2
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol3
+                              alias: cume_dist_window_3
                               arguments: _col3, _col2
                               name: cume_dist
                               window function: GenericUDAFCumeDistEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol4
+                              alias: first_value_window_4
                               arguments: _col6, true
                               name: first_value
                               window function: GenericUDAFFirstValueEvaluator
                               window frame: PRECEDING(2)~FOLLOWING(2)
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col3 (type: string), _col2 (type: string), _col6 (type: int), UDFToInteger(round(_col0, 1)) (type: int), _wcol1 (type: int), _wcol2 (type: int), _wcol3 (type: double), _wcol4 (type: int)
+                    expressions: _col3 (type: string), _col2 (type: string), _col6 (type: int), UDFToInteger(round(_col0, 1)) (type: int), rank_window_1 (type: int), dense_rank_window_2 (type: int), cume_dist_window_3 (type: double), first_value_window_4 (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -3444,28 +3444,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col2, _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col2, _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -3710,28 +3710,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -3952,28 +3952,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -4231,28 +4231,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col2, _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col2, _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -4492,28 +4492,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col2, _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col2, _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -4740,28 +4740,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
diff --git a/ql/src/test/results/clientpositive/spark/ptf_streaming.q.out b/ql/src/test/results/clientpositive/spark/ptf_streaming.q.out
index a4bc083..50aacef 100644
--- a/ql/src/test/results/clientpositive/spark/ptf_streaming.q.out
+++ b/ql/src/test/results/clientpositive/spark/ptf_streaming.q.out
@@ -93,28 +93,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -297,7 +297,7 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: lag_window_0
                               arguments: _col5, 1, _col5
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -305,7 +305,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), (_col5 - _wcol0) (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), (_col5 - lag_window_0) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -615,7 +615,7 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1, _col5
                               name: rank
                               window function: GenericUDAFRankEvaluator
@@ -623,7 +623,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -788,28 +788,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1021,28 +1021,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1256,28 +1256,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1491,28 +1491,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1705,33 +1705,33 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: count_window_2
                               arguments: _col1
                               name: count
                               window function: GenericUDAFCountEvaluator
                               window frame: PRECEDING(MAX)~
                             window function definition
-                              alias: _wcol3
+                              alias: sum_window_3
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                             window function definition
-                              alias: _wcol4
+                              alias: lag_window_4
                               arguments: _col5, 1, _col5
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -1739,7 +1739,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: bigint), _col7 (type: double), _wcol3 (type: double), _col5 (type: int), (_col5 - _wcol4) (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), sum_window_3 (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
                     Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1980,28 +1980,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col2, _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col2, _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -2246,28 +2246,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -2496,28 +2496,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
diff --git a/ql/src/test/results/clientpositive/spark/subquery_in.q.out b/ql/src/test/results/clientpositive/spark/subquery_in.q.out
index c48482d..6cf1ae4 100644
--- a/ql/src/test/results/clientpositive/spark/subquery_in.q.out
+++ b/ql/src/test/results/clientpositive/spark/subquery_in.q.out
@@ -327,7 +327,7 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col5
                               name: rank
                               window function: GenericUDAFRankEvaluator
@@ -335,7 +335,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
-                    predicate: (_wcol0 <= 2) (type: boolean)
+                    predicate: (rank_window_0 <= 2) (type: boolean)
                     Statistics: Num rows: 8 Data size: 968 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: _col5 (type: int)
@@ -495,7 +495,7 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col5
                               name: rank
                               window function: GenericUDAFRankEvaluator
@@ -503,7 +503,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
-                    predicate: ((_wcol0 <= 2) and _col2 is not null) (type: boolean)
+                    predicate: ((rank_window_0 <= 2) and _col2 is not null) (type: boolean)
                     Statistics: Num rows: 4 Data size: 484 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: _col2 (type: string), _col5 (type: int)
diff --git a/ql/src/test/results/clientpositive/spark/vectorized_ptf.q.out b/ql/src/test/results/clientpositive/spark/vectorized_ptf.q.out
index 58fb941..27dd046 100644
--- a/ql/src/test/results/clientpositive/spark/vectorized_ptf.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorized_ptf.q.out
@@ -346,28 +346,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -767,7 +767,7 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: lag_window_0
                               arguments: _col5, 1, _col5
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -775,7 +775,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 14 Data size: 8823 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), (_col5 - _wcol0) (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), (_col5 - lag_window_0) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 14 Data size: 8823 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1296,28 +1296,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1629,21 +1629,21 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: lag_window_2
                               arguments: _col5, 1, _col5
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -1651,7 +1651,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), (_col5 - _wcol2) (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), (_col5 - lag_window_2) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1998,21 +1998,21 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: lag_window_2
                               arguments: _col2, 1, _col2
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -2020,7 +2020,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int), _wcol0 (type: int), _wcol1 (type: int), _col2 (type: int), (_col2 - _wcol2) (type: int)
+                    expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col2 (type: int), (_col2 - lag_window_2) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
                     Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -2954,7 +2954,7 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1, _col5
                               name: rank
                               window function: GenericUDAFRankEvaluator
@@ -2962,7 +2962,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -3277,28 +3277,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -3601,28 +3601,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -3995,28 +3995,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -4349,20 +4349,20 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: count_window_0
                               arguments: _col5
                               name: count
                               window function: GenericUDAFCountEvaluator
                               window frame: PRECEDING(MAX)~
                             window function definition
-                              alias: _wcol1
+                              alias: sum_window_1
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(2)~FOLLOWING(2)
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: bigint), _wcol1 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), count_window_0 (type: bigint), sum_window_1 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -4862,33 +4862,33 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: count_window_2
                               arguments: _col1
                               name: count
                               window function: GenericUDAFCountEvaluator
                               window frame: PRECEDING(MAX)~
                             window function definition
-                              alias: _wcol3
+                              alias: sum_window_3
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                             window function definition
-                              alias: _wcol4
+                              alias: lag_window_4
                               arguments: _col5, 1, _col5
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -4896,7 +4896,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 14 Data size: 8823 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: bigint), _col7 (type: double), _wcol3 (type: double), _col5 (type: int), (_col5 - _wcol4) (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), sum_window_3 (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
                     Statistics: Num rows: 14 Data size: 8823 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -5450,14 +5450,14 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: sum_window_0
                               arguments: _col2
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(2)~
                   Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), _wcol0 (type: double)
+                    expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), sum_window_0 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -5898,28 +5898,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -5969,15 +5969,15 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: sum_window_0
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(5)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col1 (type: string), _col2 (type: string), _col5 (type: int), _wcol0 (type: bigint)
-                    outputColumnNames: _col1, _col2, _col5, _wcol0
+                    expressions: _col1 (type: string), _col2 (type: string), _col5 (type: int), sum_window_0 (type: bigint)
+                    outputColumnNames: _col1, _col2, _col5, sum_window_0
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     Reduce Output Operator
                       key expressions: _col2 (type: string), _col1 (type: string)
@@ -5985,7 +5985,7 @@
                       Map-reduce partition columns: _col2 (type: string)
                       Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                       tag: -1
-                      value expressions: _wcol0 (type: bigint), _col5 (type: int)
+                      value expressions: sum_window_0 (type: bigint), _col5 (type: int)
                       auto parallelism: false
         Reducer 5 
             Needs Tagging: false
@@ -6008,35 +6008,35 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol1
+                              alias: rank_window_1
                               arguments: _col3, _col2
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: dense_rank_window_2
                               arguments: _col3, _col2
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol3
+                              alias: cume_dist_window_3
                               arguments: _col3, _col2
                               name: cume_dist
                               window function: GenericUDAFCumeDistEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol4
+                              alias: first_value_window_4
                               arguments: _col6, true
                               name: first_value
                               window function: GenericUDAFFirstValueEvaluator
                               window frame: PRECEDING(2)~FOLLOWING(2)
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col3 (type: string), _col2 (type: string), _col6 (type: int), UDFToInteger(round(_col0, 1)) (type: int), _wcol1 (type: int), _wcol2 (type: int), _wcol3 (type: double), _wcol4 (type: int)
+                    expressions: _col3 (type: string), _col2 (type: string), _col6 (type: int), UDFToInteger(round(_col0, 1)) (type: int), rank_window_1 (type: int), dense_rank_window_2 (type: int), cume_dist_window_3 (type: double), first_value_window_4 (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -6626,28 +6626,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col2, _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col2, _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -7076,28 +7076,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -7487,28 +7487,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -7949,28 +7949,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col2, _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col2, _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -8420,28 +8420,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col2, _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col2, _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -8850,28 +8850,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
diff --git a/ql/src/test/results/clientpositive/subquery_in.q.out b/ql/src/test/results/clientpositive/subquery_in.q.out
index 46969aa..7c53638 100644
--- a/ql/src/test/results/clientpositive/subquery_in.q.out
+++ b/ql/src/test/results/clientpositive/subquery_in.q.out
@@ -278,7 +278,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col5
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -286,7 +286,7 @@
                         isPivotResult: true
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (_wcol0 <= 2) (type: boolean)
+              predicate: (rank_window_0 <= 2) (type: boolean)
               Statistics: Num rows: 8 Data size: 968 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: _col5 (type: int)
@@ -458,7 +458,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col5
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -466,7 +466,7 @@
                         isPivotResult: true
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((_wcol0 <= 2) and _col2 is not null) (type: boolean)
+              predicate: ((rank_window_0 <= 2) and _col2 is not null) (type: boolean)
               Statistics: Num rows: 4 Data size: 484 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: _col2 (type: string), _col5 (type: int)
diff --git a/ql/src/test/results/clientpositive/subquery_in_explain_rewrite.q.out b/ql/src/test/results/clientpositive/subquery_in_explain_rewrite.q.out
index c1b7728..5a27c3d 100644
--- a/ql/src/test/results/clientpositive/subquery_in_explain_rewrite.q.out
+++ b/ql/src/test/results/clientpositive/subquery_in_explain_rewrite.q.out
@@ -185,11 +185,11 @@
 (select first_value(p_size) over(partition by p_mfgr order by p_size) from part) sq_1
 
 Where Clause  SubQuery Joining Condition:
- on part.p_size = sq_1._wcol0
+ on part.p_size = sq_1.first_value_window_0
 
 Rewritten Query:
 select p_mfgr, p_name, p_size 
-from part  left semi join (select first_value(p_size) over(partition by p_mfgr order by p_size) from part) sq_1  on part.p_size = sq_1._wcol0 
+from part  left semi join (select first_value(p_size) over(partition by p_mfgr order by p_size) from part) sq_1  on part.p_size = sq_1.first_value_window_0 
 where 1 = 1
 PREHOOK: query: -- non agg, non corr, with join in Parent Query
 explain rewrite
diff --git a/ql/src/test/results/clientpositive/subquery_in_having.q.out b/ql/src/test/results/clientpositive/subquery_in_having.q.out
index f4a7767..862c6ad 100644
--- a/ql/src/test/results/clientpositive/subquery_in_having.q.out
+++ b/ql/src/test/results/clientpositive/subquery_in_having.q.out
@@ -1357,17 +1357,17 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: first_value_window_0
                         arguments: _col1
                         name: first_value
                         window function: GenericUDAFFirstValueEvaluator
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 15 Data size: 3173 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: _wcol0 is not null (type: boolean)
+              predicate: first_value_window_0 is not null (type: boolean)
               Statistics: Num rows: 8 Data size: 1692 Basic stats: COMPLETE Column stats: NONE
               Select Operator
-                expressions: _wcol0 (type: string)
+                expressions: first_value_window_0 (type: string)
                 outputColumnNames: _col0
                 Statistics: Num rows: 8 Data size: 1692 Basic stats: COMPLETE Column stats: NONE
                 Group By Operator
diff --git a/ql/src/test/results/clientpositive/subquery_notin.q.out b/ql/src/test/results/clientpositive/subquery_notin.q.out
index bf017c2..733e8ff 100644
--- a/ql/src/test/results/clientpositive/subquery_notin.q.out
+++ b/ql/src/test/results/clientpositive/subquery_notin.q.out
@@ -346,7 +346,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col5
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -354,7 +354,7 @@
                         isPivotResult: true
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((_wcol0 <= 2) and (_col1 is null or _col2 is null)) (type: boolean)
+              predicate: ((rank_window_0 <= 2) and (_col1 is null or _col2 is null)) (type: boolean)
               Statistics: Num rows: 8 Data size: 968 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 Statistics: Num rows: 8 Data size: 968 Basic stats: COMPLETE Column stats: NONE
@@ -501,7 +501,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col5
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -509,7 +509,7 @@
                         isPivotResult: true
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (_wcol0 <= 2) (type: boolean)
+              predicate: (rank_window_0 <= 2) (type: boolean)
               Statistics: Num rows: 8 Data size: 968 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: _col1 (type: string), _col2 (type: string)
@@ -628,7 +628,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col5
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -636,7 +636,7 @@
                         isPivotResult: true
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (_wcol0 <= 2) (type: boolean)
+              predicate: (rank_window_0 <= 2) (type: boolean)
               Statistics: Num rows: 8 Data size: 968 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: _col5 (type: int)
@@ -775,7 +775,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col5
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -783,7 +783,7 @@
                         isPivotResult: true
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (_wcol0 <= 2) (type: boolean)
+              predicate: (rank_window_0 <= 2) (type: boolean)
               Statistics: Num rows: 8 Data size: 968 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: _col5 (type: int)
@@ -950,7 +950,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col5
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -958,7 +958,7 @@
                         isPivotResult: true
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (_wcol0 <= 2) (type: boolean)
+              predicate: (rank_window_0 <= 2) (type: boolean)
               Statistics: Num rows: 8 Data size: 968 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: _col2 (type: string), _col5 (type: int)
@@ -1141,7 +1141,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col5
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -1149,7 +1149,7 @@
                         isPivotResult: true
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (_wcol0 <= 2) (type: boolean)
+              predicate: (rank_window_0 <= 2) (type: boolean)
               Statistics: Num rows: 8 Data size: 968 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: _col2 (type: string), _col5 (type: int)
diff --git a/ql/src/test/results/clientpositive/subquery_unqualcolumnrefs.q.out b/ql/src/test/results/clientpositive/subquery_unqualcolumnrefs.q.out
index 46c2e6c..cf22ca6 100644
--- a/ql/src/test/results/clientpositive/subquery_unqualcolumnrefs.q.out
+++ b/ql/src/test/results/clientpositive/subquery_unqualcolumnrefs.q.out
@@ -231,7 +231,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col5
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -239,7 +239,7 @@
                         isPivotResult: true
             Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
             Filter Operator
-              predicate: ((_wcol0 <= 2) and _col2 is not null) (type: boolean)
+              predicate: ((rank_window_0 <= 2) and _col2 is not null) (type: boolean)
               Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
               Select Operator
                 expressions: _col2 (type: string), _col5 (type: int)
@@ -399,7 +399,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col5
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -407,7 +407,7 @@
                         isPivotResult: true
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((_wcol0 <= 2) and _col2 is not null) (type: boolean)
+              predicate: ((rank_window_0 <= 2) and _col2 is not null) (type: boolean)
               Statistics: Num rows: 4 Data size: 484 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: _col2 (type: string), _col5 (type: int)
@@ -842,7 +842,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col5
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -850,7 +850,7 @@
                         isPivotResult: true
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((_wcol0 <= 2) and (_col1 is null or _col2 is null)) (type: boolean)
+              predicate: ((rank_window_0 <= 2) and (_col1 is null or _col2 is null)) (type: boolean)
               Statistics: Num rows: 8 Data size: 968 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 Statistics: Num rows: 8 Data size: 968 Basic stats: COMPLETE Column stats: NONE
@@ -997,7 +997,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col5
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -1005,7 +1005,7 @@
                         isPivotResult: true
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (_wcol0 <= 2) (type: boolean)
+              predicate: (rank_window_0 <= 2) (type: boolean)
               Statistics: Num rows: 8 Data size: 968 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: _col1 (type: string), _col2 (type: string)
diff --git a/ql/src/test/results/clientpositive/tez/cbo_join.q.out b/ql/src/test/results/clientpositive/tez/cbo_join.q.out
index af34f5f..c5e9858 100644
--- a/ql/src/test/results/clientpositive/tez/cbo_join.q.out
+++ b/ql/src/test/results/clientpositive/tez/cbo_join.q.out
@@ -1,4 +1,5 @@
-PREHOOK: query: -- 4. Test Select + Join + TS
+PREHOOK: query: -- SORT_QUERY_RESULTS
+-- 4. Test Select + Join + TS
 select cbo_t1.c_int, cbo_t2.c_int from cbo_t1 join             cbo_t2 on cbo_t1.key=cbo_t2.key
 PREHOOK: type: QUERY
 PREHOOK: Input: default@cbo_t1
@@ -6,7 +7,8 @@
 PREHOOK: Input: default@cbo_t2
 PREHOOK: Input: default@cbo_t2@dt=2014
 #### A masked pattern was here ####
-POSTHOOK: query: -- 4. Test Select + Join + TS
+POSTHOOK: query: -- SORT_QUERY_RESULTS
+-- 4. Test Select + Join + TS
 select cbo_t1.c_int, cbo_t2.c_int from cbo_t1 join             cbo_t2 on cbo_t1.key=cbo_t2.key
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@cbo_t1
@@ -122,46 +124,286 @@
 POSTHOOK: Input: default@cbo_t1@dt=2014
 POSTHOOK: Input: default@cbo_t3
 #### A masked pattern was here ####
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
-NULL
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+ 1 
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
 1
 1
 1
@@ -242,286 +484,46 @@
 1 
 1 
 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1 
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
 PREHOOK: query: select cbo_t1.key from cbo_t1 join cbo_t3 where cbo_t1.key=cbo_t3.key and cbo_t1.key >= 1
 PREHOOK: type: QUERY
 PREHOOK: Input: default@cbo_t1
@@ -632,104 +634,104 @@
 POSTHOOK: Input: default@cbo_t2
 POSTHOOK: Input: default@cbo_t2@dt=2014
 #### A masked pattern was here ####
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
 NULL	NULL
 NULL	NULL
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
 PREHOOK: query: select cbo_t1.c_int, cbo_t2.c_int from cbo_t1 right outer join cbo_t2 on cbo_t1.key=cbo_t2.key
 PREHOOK: type: QUERY
 PREHOOK: Input: default@cbo_t1
@@ -744,109 +746,109 @@
 POSTHOOK: Input: default@cbo_t2
 POSTHOOK: Input: default@cbo_t2@dt=2014
 #### A masked pattern was here ####
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+NULL	2
+NULL	2
+NULL	2
+NULL	2
+NULL	2
 NULL	NULL
 NULL	NULL
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-NULL	2
-NULL	2
-NULL	2
-NULL	2
-NULL	2
 PREHOOK: query: select cbo_t1.c_int, cbo_t2.c_int from cbo_t1 full outer join  cbo_t2 on cbo_t1.key=cbo_t2.key
 PREHOOK: type: QUERY
 PREHOOK: Input: default@cbo_t1
@@ -861,111 +863,111 @@
 POSTHOOK: Input: default@cbo_t2
 POSTHOOK: Input: default@cbo_t2@dt=2014
 #### A masked pattern was here ####
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+1	1
+NULL	2
+NULL	2
+NULL	2
+NULL	2
+NULL	2
 NULL	NULL
 NULL	NULL
 NULL	NULL
 NULL	NULL
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-1	1
-NULL	2
-NULL	2
-NULL	2
-NULL	2
-NULL	2
 PREHOOK: query: select b, cbo_t1.c, cbo_t2.p, q, cbo_t3.c_int from (select key as a, c_int as b, cbo_t1.c_float as c from cbo_t1) cbo_t1 join (select cbo_t2.key as p, cbo_t2.c_int as q, c_float as r from cbo_t2) cbo_t2 on cbo_t1.a=p join cbo_t3 on cbo_t1.a=key
 PREHOOK: type: QUERY
 PREHOOK: Input: default@cbo_t1
@@ -5334,536 +5336,536 @@
 POSTHOOK: Input: default@cbo_t2@dt=2014
 POSTHOOK: Input: default@cbo_t3
 #### A masked pattern was here ####
+ 1	1	 1	1
+ 1	1	 1	1
+ 1	1	 1	1
+ 1	1	 1	1
+ 1	1	 1	1
+ 1	1	 1	1
+ 1	1	 1	1
+ 1	1	 1	1
+ 1 	1	 1 	1
+ 1 	1	 1 	1
+ 1 	1	 1 	1
+ 1 	1	 1 	1
+ 1 	1	 1 	1
+ 1 	1	 1 	1
+ 1 	1	 1 	1
+ 1 	1	 1 	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1 	1	1 	1
+1 	1	1 	1
+1 	1	1 	1
+1 	1	1 	1
+1 	1	1 	1
+1 	1	1 	1
+1 	1	1 	1
+1 	1	1 	1
 NULL	NULL	NULL	NULL
 NULL	NULL	NULL	NULL
- 1	1	 1	1
- 1	1	 1	1
- 1	1	 1	1
- 1	1	 1	1
- 1	1	 1	1
- 1	1	 1	1
- 1	1	 1	1
- 1	1	 1	1
- 1 	1	 1 	1
- 1 	1	 1 	1
- 1 	1	 1 	1
- 1 	1	 1 	1
- 1 	1	 1 	1
- 1 	1	 1 	1
- 1 	1	 1 	1
- 1 	1	 1 	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1 	1	1 	1
-1 	1	1 	1
-1 	1	1 	1
-1 	1	1 	1
-1 	1	1 	1
-1 	1	1 	1
-1 	1	1 	1
-1 	1	1 	1
 NULL	NULL	NULL	NULL
 NULL	NULL	NULL	NULL
 NULL	NULL	NULL	NULL
@@ -6430,536 +6432,536 @@
 POSTHOOK: Input: default@cbo_t2@dt=2014
 POSTHOOK: Input: default@cbo_t3
 #### A masked pattern was here ####
+ 1	1	 1	1
+ 1	1	 1	1
+ 1	1	 1	1
+ 1	1	 1	1
+ 1	1	 1	1
+ 1	1	 1	1
+ 1	1	 1	1
+ 1	1	 1	1
+ 1 	1	 1 	1
+ 1 	1	 1 	1
+ 1 	1	 1 	1
+ 1 	1	 1 	1
+ 1 	1	 1 	1
+ 1 	1	 1 	1
+ 1 	1	 1 	1
+ 1 	1	 1 	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1	1	1	1
+1 	1	1 	1
+1 	1	1 	1
+1 	1	1 	1
+1 	1	1 	1
+1 	1	1 	1
+1 	1	1 	1
+1 	1	1 	1
+1 	1	1 	1
 NULL	NULL	NULL	NULL
 NULL	NULL	NULL	NULL
- 1	1	 1	1
- 1	1	 1	1
- 1	1	 1	1
- 1	1	 1	1
- 1	1	 1	1
- 1	1	 1	1
- 1	1	 1	1
- 1	1	 1	1
- 1 	1	 1 	1
- 1 	1	 1 	1
- 1 	1	 1 	1
- 1 	1	 1 	1
- 1 	1	 1 	1
- 1 	1	 1 	1
- 1 	1	 1 	1
- 1 	1	 1 	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1	1	1	1
-1 	1	1 	1
-1 	1	1 	1
-1 	1	1 	1
-1 	1	1 	1
-1 	1	1 	1
-1 	1	1 	1
-1 	1	1 	1
-1 	1	1 	1
 NULL	NULL	NULL	NULL
 NULL	NULL	NULL	NULL
 NULL	NULL	NULL	NULL
diff --git a/ql/src/test/results/clientpositive/tez/cbo_simple_select.q.out b/ql/src/test/results/clientpositive/tez/cbo_simple_select.q.out
index b392637..d161d9f 100644
--- a/ql/src/test/results/clientpositive/tez/cbo_simple_select.q.out
+++ b/ql/src/test/results/clientpositive/tez/cbo_simple_select.q.out
@@ -120,6 +120,16 @@
 1	1	25.0
 NULL	NULL	NULL
 NULL	NULL	NULL
+PREHOOK: query: select * from cbo_t1 where (((key=1) and (c_float=10)) and (c_int=20))
+PREHOOK: type: QUERY
+PREHOOK: Input: default@cbo_t1
+PREHOOK: Input: default@cbo_t1@dt=2014
+#### A masked pattern was here ####
+POSTHOOK: query: select * from cbo_t1 where (((key=1) and (c_float=10)) and (c_int=20))
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@cbo_t1
+POSTHOOK: Input: default@cbo_t1@dt=2014
+#### A masked pattern was here ####
 PREHOOK: query: -- 2. Test Select + TS + FIL
 select * from cbo_t1 where cbo_t1.c_int >= 0
 PREHOOK: type: QUERY
diff --git a/ql/src/test/results/clientpositive/tez/explainuser_1.q.out b/ql/src/test/results/clientpositive/tez/explainuser_1.q.out
index 5b21ad2..b684858 100644
--- a/ql/src/test/results/clientpositive/tez/explainuser_1.q.out
+++ b/ql/src/test/results/clientpositive/tez/explainuser_1.q.out
@@ -3665,7 +3665,7 @@
                         outputColumnNames:["_col0"]
                         Statistics:Num rows: 13 Data size: 2392 Basic stats: COMPLETE Column stats: COMPLETE
                         Filter Operator [FIL_26]
-                           predicate:_wcol0 is not null (type: boolean)
+                           predicate:first_value_window_0 is not null (type: boolean)
                            Statistics:Num rows: 13 Data size: 2899 Basic stats: COMPLETE Column stats: COMPLETE
                            PTF Operator [PTF_11]
                               Function definitions:[{"Input definition":{"type:":"WINDOWING"}},{"partition by:":"_col2","name:":"windowingtablefunction","order by:":"_col5"}]
@@ -7596,9 +7596,9 @@
                                     Map-reduce partition columns:_col2 (type: string)
                                     sort order:++
                                     Statistics:Num rows: 26 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
-                                    value expressions:_wcol0 (type: bigint), _col5 (type: int)
+                                    value expressions:sum_window_0 (type: bigint), _col5 (type: int)
                                     Select Operator [SEL_13]
-                                       outputColumnNames:["_col1","_col2","_col5","_wcol0"]
+                                       outputColumnNames:["_col1","_col2","_col5","sum_window_0"]
                                        Statistics:Num rows: 26 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
                                        PTF Operator [PTF_12]
                                           Function definitions:[{"Input definition":{"type:":"WINDOWING"}},{"partition by:":"_col2","name:":"windowingtablefunction","order by:":"_col5"}]
diff --git a/ql/src/test/results/clientpositive/tez/explainuser_2.q.out b/ql/src/test/results/clientpositive/tez/explainuser_2.q.out
index 61ebe1a..ea6b558 100644
--- a/ql/src/test/results/clientpositive/tez/explainuser_2.q.out
+++ b/ql/src/test/results/clientpositive/tez/explainuser_2.q.out
@@ -53,11 +53,11 @@
 POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11
 POSTHOOK: Output: default@ss
 POSTHOOK: Lineage: ss.k1 SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: ss.k2 SIMPLE [(src)y.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: ss.k3 EXPRESSION [(srcpart)z.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: ss.k2 EXPRESSION [(src)y.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: ss.k3 SIMPLE [(srcpart)z.FieldSchema(name:key, type:string, comment:default), ]
 POSTHOOK: Lineage: ss.v1 SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: ss.v2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: ss.v3 EXPRESSION [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: ss.v2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: ss.v3 SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ]
 PREHOOK: query: INSERT OVERWRITE TABLE sr
 SELECT x.key,x.value,y.key,y.value,z.key,z.value
 FROM src1 x 
@@ -81,11 +81,11 @@
 POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12
 POSTHOOK: Output: default@sr
 POSTHOOK: Lineage: sr.k1 SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: sr.k2 SIMPLE [(src)y.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: sr.k3 EXPRESSION [(srcpart)z.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: sr.k2 EXPRESSION [(src)y.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: sr.k3 SIMPLE [(srcpart)z.FieldSchema(name:key, type:string, comment:default), ]
 POSTHOOK: Lineage: sr.v1 SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: sr.v2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: sr.v3 EXPRESSION [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: sr.v2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: sr.v3 SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ]
 PREHOOK: query: INSERT OVERWRITE TABLE cs
 SELECT x.key,x.value,y.key,y.value,z.key,z.value
 FROM src1 x 
@@ -195,7 +195,7 @@
                Merge Join Operator [MERGEJOIN_29]
                |  condition map:[{"":"Inner Join 0 to 1"}]
                |  keys:{"1":"_col3 (type: string)","0":"_col0 (type: string)"}
-               |  outputColumnNames:["_col1","_col2","_col5"]
+               |  outputColumnNames:["_col0","_col4","_col5"]
                |  Statistics:Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
                |<-Map 1 [SIMPLE_EDGE]
                |  Reduce Output Operator [RS_14]
@@ -203,15 +203,14 @@
                |     Map-reduce partition columns:_col0 (type: string)
                |     sort order:+
                |     Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-               |     value expressions:_col1 (type: string)
-               |     Select Operator [SEL_1]
-               |        outputColumnNames:["_col0","_col1"]
+               |     Select Operator [SEL_2]
+               |        outputColumnNames:["_col0"]
                |        Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                |        Filter Operator [FIL_25]
-               |           predicate:key is not null (type: boolean)
+               |           predicate:value is not null (type: boolean)
                |           Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                |           TableScan [TS_0]
-               |              alias:y
+               |              alias:z
                |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                |<-Reducer 4 [SIMPLE_EDGE]
                   Reduce Output Operator [RS_16]
@@ -219,11 +218,11 @@
                      Map-reduce partition columns:_col3 (type: string)
                      sort order:+
                      Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-                     value expressions:_col0 (type: string)
+                     value expressions:_col1 (type: string), _col2 (type: string)
                      Merge Join Operator [MERGEJOIN_28]
                      |  condition map:[{"":"Inner Join 0 to 1"}]
-                     |  keys:{"1":"_col1 (type: string)","0":"_col0 (type: string)"}
-                     |  outputColumnNames:["_col0","_col3"]
+                     |  keys:{"1":"_col0 (type: string)","0":"_col0 (type: string)"}
+                     |  outputColumnNames:["_col1","_col2","_col3"]
                      |  Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
                      |<-Map 3 [SIMPLE_EDGE]
                      |  Reduce Output Operator [RS_8]
@@ -231,27 +230,28 @@
                      |     Map-reduce partition columns:_col0 (type: string)
                      |     sort order:+
                      |     Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                     |     value expressions:_col1 (type: string)
                      |     Select Operator [SEL_4]
-                     |        outputColumnNames:["_col0"]
+                     |        outputColumnNames:["_col0","_col1"]
                      |        Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                      |        Filter Operator [FIL_26]
-                     |           predicate:value is not null (type: boolean)
+                     |           predicate:key is not null (type: boolean)
                      |           Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-                     |           TableScan [TS_2]
-                     |              alias:z
+                     |           TableScan [TS_3]
+                     |              alias:y
                      |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                      |<-Map 5 [SIMPLE_EDGE]
                         Reduce Output Operator [RS_10]
-                           key expressions:_col1 (type: string)
-                           Map-reduce partition columns:_col1 (type: string)
+                           key expressions:_col0 (type: string)
+                           Map-reduce partition columns:_col0 (type: string)
                            sort order:+
                            Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                           value expressions:_col0 (type: string)
+                           value expressions:_col1 (type: string)
                            Select Operator [SEL_6]
                               outputColumnNames:["_col0","_col1"]
                               Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
                               Filter Operator [FIL_27]
-                                 predicate:(value is not null and key is not null) (type: boolean)
+                                 predicate:(key is not null and value is not null) (type: boolean)
                                  Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
                                  TableScan [TS_5]
                                     alias:x
@@ -315,21 +315,21 @@
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
-Reducer 13 <- Map 12 (SIMPLE_EDGE), Map 14 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
 Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 11 <- Map 10 (SIMPLE_EDGE), Reducer 13 (SIMPLE_EDGE)
+Reducer 14 <- Map 13 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE)
+Reducer 12 <- Map 11 (SIMPLE_EDGE), Reducer 14 (SIMPLE_EDGE)
 Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
-Reducer 9 <- Reducer 16 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
-Reducer 8 <- Map 7 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 12 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
+Reducer 9 <- Map 10 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
 Reducer 16 <- Map 15 (SIMPLE_EDGE), Map 17 (SIMPLE_EDGE)
 
 Stage-0
    Fetch Operator
       limit:100
       Stage-1
-         Reducer 5
+         Reducer 6
          File Output Operator [FS_71]
             compressed:false
             Statistics:Num rows: 100 Data size: 1000 Basic stats: COMPLETE Column stats: NONE
@@ -339,236 +339,236 @@
                Statistics:Num rows: 100 Data size: 1000 Basic stats: COMPLETE Column stats: NONE
                Select Operator [SEL_69]
                |  outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"]
-               |  Statistics:Num rows: 402 Data size: 4276 Basic stats: COMPLETE Column stats: NONE
-               |<-Reducer 4 [SIMPLE_EDGE]
+               |  Statistics:Num rows: 365 Data size: 3882 Basic stats: COMPLETE Column stats: NONE
+               |<-Reducer 5 [SIMPLE_EDGE]
                   Reduce Output Operator [RS_68]
                      key expressions:_col0 (type: string), _col1 (type: string), _col2 (type: string)
                      sort order:+++
-                     Statistics:Num rows: 402 Data size: 4276 Basic stats: COMPLETE Column stats: NONE
+                     Statistics:Num rows: 365 Data size: 3882 Basic stats: COMPLETE Column stats: NONE
                      value expressions:_col3 (type: bigint), _col4 (type: bigint), _col5 (type: bigint)
                      Group By Operator [GBY_66]
                      |  aggregations:["count(VALUE._col0)","count(VALUE._col1)","count(VALUE._col2)"]
                      |  keys:KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: string)
                      |  outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                     |  Statistics:Num rows: 402 Data size: 4276 Basic stats: COMPLETE Column stats: NONE
-                     |<-Reducer 3 [SIMPLE_EDGE]
+                     |  Statistics:Num rows: 365 Data size: 3882 Basic stats: COMPLETE Column stats: NONE
+                     |<-Reducer 4 [SIMPLE_EDGE]
                         Reduce Output Operator [RS_65]
                            key expressions:_col0 (type: string), _col1 (type: string), _col2 (type: string)
                            Map-reduce partition columns:_col0 (type: string), _col1 (type: string), _col2 (type: string)
                            sort order:+++
-                           Statistics:Num rows: 804 Data size: 8552 Basic stats: COMPLETE Column stats: NONE
+                           Statistics:Num rows: 731 Data size: 7775 Basic stats: COMPLETE Column stats: NONE
                            value expressions:_col3 (type: bigint), _col4 (type: bigint), _col5 (type: bigint)
                            Group By Operator [GBY_64]
                               aggregations:["count(_col3)","count(_col4)","count(_col5)"]
                               keys:_col0 (type: string), _col1 (type: string), _col2 (type: string)
                               outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                              Statistics:Num rows: 804 Data size: 8552 Basic stats: COMPLETE Column stats: NONE
+                              Statistics:Num rows: 731 Data size: 7775 Basic stats: COMPLETE Column stats: NONE
                               Select Operator [SEL_62]
                                  outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                 Statistics:Num rows: 804 Data size: 8552 Basic stats: COMPLETE Column stats: NONE
-                                 Merge Join Operator [MERGEJOIN_113]
+                                 Statistics:Num rows: 731 Data size: 7775 Basic stats: COMPLETE Column stats: NONE
+                                 Merge Join Operator [MERGEJOIN_111]
                                  |  condition map:[{"":"Inner Join 0 to 1"}]
-                                 |  keys:{"1":"_col15 (type: string), _col17 (type: string)","0":"_col1 (type: string), _col3 (type: string)"}
-                                 |  outputColumnNames:["_col2","_col3","_col12","_col13","_col20","_col21"]
-                                 |  Statistics:Num rows: 804 Data size: 8552 Basic stats: COMPLETE Column stats: NONE
-                                 |<-Reducer 2 [SIMPLE_EDGE]
-                                 |  Reduce Output Operator [RS_58]
-                                 |     key expressions:_col1 (type: string), _col3 (type: string)
-                                 |     Map-reduce partition columns:_col1 (type: string), _col3 (type: string)
+                                 |  keys:{"1":"_col8 (type: string), _col10 (type: string)","0":"_col8 (type: string), _col10 (type: string)"}
+                                 |  outputColumnNames:["_col2","_col3","_col8","_col9","_col20","_col21"]
+                                 |  Statistics:Num rows: 731 Data size: 7775 Basic stats: COMPLETE Column stats: NONE
+                                 |<-Reducer 12 [SIMPLE_EDGE]
+                                 |  Reduce Output Operator [RS_60]
+                                 |     key expressions:_col8 (type: string), _col10 (type: string)
+                                 |     Map-reduce partition columns:_col8 (type: string), _col10 (type: string)
                                  |     sort order:++
-                                 |     Statistics:Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
-                                 |     value expressions:_col2 (type: string)
-                                 |     Merge Join Operator [MERGEJOIN_107]
-                                 |     |  condition map:[{"":"Inner Join 0 to 1"}]
-                                 |     |  keys:{"1":"_col0 (type: string)","0":"_col0 (type: string)"}
-                                 |     |  outputColumnNames:["_col1","_col2","_col3"]
-                                 |     |  Statistics:Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
-                                 |     |<-Map 1 [SIMPLE_EDGE]
-                                 |     |  Reduce Output Operator [RS_53]
-                                 |     |     key expressions:_col0 (type: string)
-                                 |     |     Map-reduce partition columns:_col0 (type: string)
-                                 |     |     sort order:+
-                                 |     |     Statistics:Num rows: 22 Data size: 762 Basic stats: COMPLETE Column stats: NONE
-                                 |     |     value expressions:_col1 (type: string), _col2 (type: string), _col3 (type: string)
-                                 |     |     Select Operator [SEL_1]
-                                 |     |        outputColumnNames:["_col0","_col1","_col2","_col3"]
-                                 |     |        Statistics:Num rows: 22 Data size: 762 Basic stats: COMPLETE Column stats: NONE
-                                 |     |        Filter Operator [FIL_99]
-                                 |     |           predicate:((k1 is not null and v2 is not null) and v3 is not null) (type: boolean)
-                                 |     |           Statistics:Num rows: 22 Data size: 762 Basic stats: COMPLETE Column stats: NONE
-                                 |     |           TableScan [TS_0]
-                                 |     |              alias:cs
-                                 |     |              Statistics:Num rows: 170 Data size: 5890 Basic stats: COMPLETE Column stats: NONE
-                                 |     |<-Map 6 [SIMPLE_EDGE]
-                                 |        Reduce Output Operator [RS_55]
-                                 |           key expressions:_col0 (type: string)
-                                 |           Map-reduce partition columns:_col0 (type: string)
-                                 |           sort order:+
-                                 |           Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-                                 |           Select Operator [SEL_4]
-                                 |              outputColumnNames:["_col0"]
-                                 |              Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-                                 |              Filter Operator [FIL_100]
-                                 |                 predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null) (type: boolean)
-                                 |                 Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-                                 |                 TableScan [TS_2]
-                                 |                    alias:d1
-                                 |                    Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-                                 |<-Reducer 9 [SIMPLE_EDGE]
-                                    Reduce Output Operator [RS_60]
-                                       key expressions:_col15 (type: string), _col17 (type: string)
-                                       Map-reduce partition columns:_col15 (type: string), _col17 (type: string)
+                                 |     Statistics:Num rows: 665 Data size: 7069 Basic stats: COMPLETE Column stats: NONE
+                                 |     value expressions:_col6 (type: string), _col7 (type: string)
+                                 |     Select Operator [SEL_46]
+                                 |        outputColumnNames:["_col10","_col6","_col7","_col8"]
+                                 |        Statistics:Num rows: 665 Data size: 7069 Basic stats: COMPLETE Column stats: NONE
+                                 |        Merge Join Operator [MERGEJOIN_109]
+                                 |        |  condition map:[{"":"Inner Join 0 to 1"}]
+                                 |        |  keys:{"1":"_col5 (type: string)","0":"_col1 (type: string)"}
+                                 |        |  outputColumnNames:["_col6","_col7","_col8","_col10"]
+                                 |        |  Statistics:Num rows: 665 Data size: 7069 Basic stats: COMPLETE Column stats: NONE
+                                 |        |<-Map 11 [SIMPLE_EDGE]
+                                 |        |  Reduce Output Operator [RS_42]
+                                 |        |     key expressions:_col1 (type: string)
+                                 |        |     Map-reduce partition columns:_col1 (type: string)
+                                 |        |     sort order:+
+                                 |        |     Statistics:Num rows: 6 Data size: 45 Basic stats: COMPLETE Column stats: NONE
+                                 |        |     Select Operator [SEL_19]
+                                 |        |        outputColumnNames:["_col1"]
+                                 |        |        Statistics:Num rows: 6 Data size: 45 Basic stats: COMPLETE Column stats: NONE
+                                 |        |        Filter Operator [FIL_101]
+                                 |        |           predicate:((key = 'src1key') and value is not null) (type: boolean)
+                                 |        |           Statistics:Num rows: 6 Data size: 45 Basic stats: COMPLETE Column stats: NONE
+                                 |        |           TableScan [TS_17]
+                                 |        |              alias:src1
+                                 |        |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+                                 |        |<-Reducer 14 [SIMPLE_EDGE]
+                                 |           Reduce Output Operator [RS_44]
+                                 |              key expressions:_col5 (type: string)
+                                 |              Map-reduce partition columns:_col5 (type: string)
+                                 |              sort order:+
+                                 |              Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+                                 |              value expressions:_col4 (type: string), _col6 (type: string), _col8 (type: string)
+                                 |              Merge Join Operator [MERGEJOIN_108]
+                                 |              |  condition map:[{"":"Inner Join 0 to 1"}]
+                                 |              |  keys:{"1":"_col2 (type: string)","0":"_col0 (type: string)"}
+                                 |              |  outputColumnNames:["_col4","_col5","_col6","_col8"]
+                                 |              |  Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+                                 |              |<-Map 13 [SIMPLE_EDGE]
+                                 |              |  Reduce Output Operator [RS_36]
+                                 |              |     key expressions:_col0 (type: string)
+                                 |              |     Map-reduce partition columns:_col0 (type: string)
+                                 |              |     sort order:+
+                                 |              |     Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+                                 |              |     Select Operator [SEL_22]
+                                 |              |        outputColumnNames:["_col0"]
+                                 |              |        Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+                                 |              |        Filter Operator [FIL_102]
+                                 |              |           predicate:((value = 'd1value') and key is not null) (type: boolean)
+                                 |              |           Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+                                 |              |           TableScan [TS_20]
+                                 |              |              alias:d1
+                                 |              |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                                 |              |<-Reducer 16 [SIMPLE_EDGE]
+                                 |                 Reduce Output Operator [RS_38]
+                                 |                    key expressions:_col2 (type: string)
+                                 |                    Map-reduce partition columns:_col2 (type: string)
+                                 |                    sort order:+
+                                 |                    Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+                                 |                    value expressions:_col3 (type: string), _col4 (type: string), _col6 (type: string)
+                                 |                    Merge Join Operator [MERGEJOIN_107]
+                                 |                    |  condition map:[{"":"Inner Join 0 to 1"}]
+                                 |                    |  keys:{"1":"_col3 (type: string)","0":"_col1 (type: string)"}
+                                 |                    |  outputColumnNames:["_col2","_col3","_col4","_col6"]
+                                 |                    |  Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+                                 |                    |<-Map 15 [SIMPLE_EDGE]
+                                 |                    |  Reduce Output Operator [RS_30]
+                                 |                    |     key expressions:_col1 (type: string)
+                                 |                    |     Map-reduce partition columns:_col1 (type: string)
+                                 |                    |     sort order:+
+                                 |                    |     Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                                 |                    |     Select Operator [SEL_25]
+                                 |                    |        outputColumnNames:["_col1"]
+                                 |                    |        Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                                 |                    |        Filter Operator [FIL_103]
+                                 |                    |           predicate:((key = 'srcpartkey') and value is not null) (type: boolean)
+                                 |                    |           Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                                 |                    |           TableScan [TS_23]
+                                 |                    |              alias:srcpart
+                                 |                    |              Statistics:Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+                                 |                    |<-Map 17 [SIMPLE_EDGE]
+                                 |                       Reduce Output Operator [RS_32]
+                                 |                          key expressions:_col3 (type: string)
+                                 |                          Map-reduce partition columns:_col3 (type: string)
+                                 |                          sort order:+
+                                 |                          Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
+                                 |                          value expressions:_col0 (type: string), _col1 (type: string), _col2 (type: string), _col4 (type: string)
+                                 |                          Select Operator [SEL_28]
+                                 |                             outputColumnNames:["_col0","_col1","_col2","_col3","_col4"]
+                                 |                             Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
+                                 |                             Filter Operator [FIL_104]
+                                 |                                predicate:((((((v3 = 'ssv3') and v2 is not null) and k1 is not null) and v1 is not null) and k2 is not null) and k3 is not null) (type: boolean)
+                                 |                                Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
+                                 |                                TableScan [TS_26]
+                                 |                                   alias:ss
+                                 |                                   Statistics:Num rows: 85 Data size: 2945 Basic stats: COMPLETE Column stats: NONE
+                                 |<-Reducer 3 [SIMPLE_EDGE]
+                                    Reduce Output Operator [RS_58]
+                                       key expressions:_col8 (type: string), _col10 (type: string)
+                                       Map-reduce partition columns:_col8 (type: string), _col10 (type: string)
                                        sort order:++
-                                       Statistics:Num rows: 731 Data size: 7775 Basic stats: COMPLETE Column stats: NONE
-                                       value expressions:_col6 (type: string), _col7 (type: string), _col14 (type: string)
-                                       Select Operator [SEL_51]
-                                          outputColumnNames:["_col14","_col15","_col17","_col6","_col7"]
-                                          Statistics:Num rows: 731 Data size: 7775 Basic stats: COMPLETE Column stats: NONE
-                                          Merge Join Operator [MERGEJOIN_112]
-                                          |  condition map:[{"":"Inner Join 0 to 1"}]
-                                          |  keys:{"1":"_col2 (type: string), _col4 (type: string)","0":"_col8 (type: string), _col10 (type: string)"}
-                                          |  outputColumnNames:["_col6","_col7","_col14","_col15","_col17"]
-                                          |  Statistics:Num rows: 731 Data size: 7775 Basic stats: COMPLETE Column stats: NONE
-                                          |<-Reducer 16 [SIMPLE_EDGE]
-                                          |  Reduce Output Operator [RS_49]
-                                          |     key expressions:_col2 (type: string), _col4 (type: string)
-                                          |     Map-reduce partition columns:_col2 (type: string), _col4 (type: string)
-                                          |     sort order:++
-                                          |     Statistics:Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
-                                          |     value expressions:_col3 (type: string), _col5 (type: string)
-                                          |     Merge Join Operator [MERGEJOIN_111]
-                                          |     |  condition map:[{"":"Inner Join 0 to 1"}]
-                                          |     |  keys:{"1":"_col0 (type: string)","0":"_col0 (type: string)"}
-                                          |     |  outputColumnNames:["_col2","_col3","_col4","_col5"]
-                                          |     |  Statistics:Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
-                                          |     |<-Map 15 [SIMPLE_EDGE]
-                                          |     |  Reduce Output Operator [RS_36]
-                                          |     |     key expressions:_col0 (type: string)
-                                          |     |     Map-reduce partition columns:_col0 (type: string)
-                                          |     |     sort order:+
-                                          |     |     Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
-                                          |     |     value expressions:_col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: string)
-                                          |     |     Select Operator [SEL_31]
-                                          |     |        outputColumnNames:["_col0","_col2","_col3","_col4","_col5"]
-                                          |     |        Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
-                                          |     |        Filter Operator [FIL_105]
-                                          |     |           predicate:((((((v1 = 'srv1') and k1 is not null) and k2 is not null) and k3 is not null) and v2 is not null) and v3 is not null) (type: boolean)
-                                          |     |           Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
-                                          |     |           TableScan [TS_29]
-                                          |     |              alias:sr
-                                          |     |              Statistics:Num rows: 85 Data size: 2945 Basic stats: COMPLETE Column stats: NONE
-                                          |     |<-Map 17 [SIMPLE_EDGE]
-                                          |        Reduce Output Operator [RS_38]
-                                          |           key expressions:_col0 (type: string)
-                                          |           Map-reduce partition columns:_col0 (type: string)
-                                          |           sort order:+
-                                          |           Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-                                          |           Select Operator [SEL_34]
-                                          |              outputColumnNames:["_col0"]
-                                          |              Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-                                          |              Filter Operator [FIL_106]
-                                          |                 predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null) (type: boolean)
-                                          |                 Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-                                          |                 TableScan [TS_32]
-                                          |                    alias:d1
-                                          |                    Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-                                          |<-Reducer 8 [SIMPLE_EDGE]
-                                             Reduce Output Operator [RS_47]
-                                                key expressions:_col8 (type: string), _col10 (type: string)
-                                                Map-reduce partition columns:_col8 (type: string), _col10 (type: string)
-                                                sort order:++
-                                                Statistics:Num rows: 665 Data size: 7069 Basic stats: COMPLETE Column stats: NONE
-                                                value expressions:_col6 (type: string), _col7 (type: string)
-                                                Merge Join Operator [MERGEJOIN_110]
-                                                |  condition map:[{"":"Inner Join 0 to 1"}]
-                                                |  keys:{"1":"_col5 (type: string)","0":"_col1 (type: string)"}
-                                                |  outputColumnNames:["_col6","_col7","_col8","_col10"]
-                                                |  Statistics:Num rows: 665 Data size: 7069 Basic stats: COMPLETE Column stats: NONE
-                                                |<-Map 7 [SIMPLE_EDGE]
-                                                |  Reduce Output Operator [RS_42]
-                                                |     key expressions:_col1 (type: string)
-                                                |     Map-reduce partition columns:_col1 (type: string)
-                                                |     sort order:+
-                                                |     Statistics:Num rows: 6 Data size: 45 Basic stats: COMPLETE Column stats: NONE
-                                                |     Select Operator [SEL_7]
-                                                |        outputColumnNames:["_col1"]
-                                                |        Statistics:Num rows: 6 Data size: 45 Basic stats: COMPLETE Column stats: NONE
-                                                |        Filter Operator [FIL_101]
-                                                |           predicate:((key = 'src1key') and value is not null) (type: boolean)
-                                                |           Statistics:Num rows: 6 Data size: 45 Basic stats: COMPLETE Column stats: NONE
-                                                |           TableScan [TS_5]
-                                                |              alias:src1
-                                                |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
-                                                |<-Reducer 11 [SIMPLE_EDGE]
-                                                   Reduce Output Operator [RS_44]
-                                                      key expressions:_col5 (type: string)
-                                                      Map-reduce partition columns:_col5 (type: string)
-                                                      sort order:+
-                                                      Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
-                                                      value expressions:_col4 (type: string), _col6 (type: string), _col8 (type: string)
-                                                      Merge Join Operator [MERGEJOIN_109]
-                                                      |  condition map:[{"":"Inner Join 0 to 1"}]
-                                                      |  keys:{"1":"_col2 (type: string)","0":"_col0 (type: string)"}
-                                                      |  outputColumnNames:["_col4","_col5","_col6","_col8"]
-                                                      |  Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
-                                                      |<-Map 10 [SIMPLE_EDGE]
-                                                      |  Reduce Output Operator [RS_24]
-                                                      |     key expressions:_col0 (type: string)
-                                                      |     Map-reduce partition columns:_col0 (type: string)
-                                                      |     sort order:+
-                                                      |     Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-                                                      |     Select Operator [SEL_10]
-                                                      |        outputColumnNames:["_col0"]
-                                                      |        Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-                                                      |        Filter Operator [FIL_102]
-                                                      |           predicate:((value = 'd1value') and key is not null) (type: boolean)
-                                                      |           Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-                                                      |           TableScan [TS_8]
-                                                      |              alias:d1
-                                                      |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-                                                      |<-Reducer 13 [SIMPLE_EDGE]
-                                                         Reduce Output Operator [RS_26]
-                                                            key expressions:_col2 (type: string)
-                                                            Map-reduce partition columns:_col2 (type: string)
-                                                            sort order:+
-                                                            Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
-                                                            value expressions:_col3 (type: string), _col4 (type: string), _col6 (type: string)
-                                                            Merge Join Operator [MERGEJOIN_108]
-                                                            |  condition map:[{"":"Inner Join 0 to 1"}]
-                                                            |  keys:{"1":"_col3 (type: string)","0":"_col1 (type: string)"}
-                                                            |  outputColumnNames:["_col2","_col3","_col4","_col6"]
-                                                            |  Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
-                                                            |<-Map 12 [SIMPLE_EDGE]
-                                                            |  Reduce Output Operator [RS_18]
-                                                            |     key expressions:_col1 (type: string)
-                                                            |     Map-reduce partition columns:_col1 (type: string)
-                                                            |     sort order:+
-                                                            |     Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-                                                            |     Select Operator [SEL_13]
-                                                            |        outputColumnNames:["_col1"]
-                                                            |        Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-                                                            |        Filter Operator [FIL_103]
-                                                            |           predicate:((key = 'srcpartkey') and value is not null) (type: boolean)
-                                                            |           Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-                                                            |           TableScan [TS_11]
-                                                            |              alias:srcpart
-                                                            |              Statistics:Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
-                                                            |<-Map 14 [SIMPLE_EDGE]
-                                                               Reduce Output Operator [RS_20]
-                                                                  key expressions:_col3 (type: string)
-                                                                  Map-reduce partition columns:_col3 (type: string)
-                                                                  sort order:+
-                                                                  Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
-                                                                  value expressions:_col0 (type: string), _col1 (type: string), _col2 (type: string), _col4 (type: string)
-                                                                  Select Operator [SEL_16]
-                                                                     outputColumnNames:["_col0","_col1","_col2","_col3","_col4"]
-                                                                     Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
-                                                                     Filter Operator [FIL_104]
-                                                                        predicate:((((((v3 = 'ssv3') and v2 is not null) and k1 is not null) and v1 is not null) and k2 is not null) and k3 is not null) (type: boolean)
-                                                                        Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
-                                                                        TableScan [TS_14]
-                                                                           alias:ss
-                                                                           Statistics:Num rows: 85 Data size: 2945 Basic stats: COMPLETE Column stats: NONE
+                                       Statistics:Num rows: 150 Data size: 1606 Basic stats: COMPLETE Column stats: NONE
+                                       value expressions:_col2 (type: string), _col3 (type: string), _col9 (type: string)
+                                       Merge Join Operator [MERGEJOIN_110]
+                                       |  condition map:[{"":"Inner Join 0 to 1"}]
+                                       |  keys:{"1":"_col3 (type: string), _col5 (type: string)","0":"_col1 (type: string), _col3 (type: string)"}
+                                       |  outputColumnNames:["_col2","_col3","_col8","_col9","_col10"]
+                                       |  Statistics:Num rows: 150 Data size: 1606 Basic stats: COMPLETE Column stats: NONE
+                                       |<-Reducer 2 [SIMPLE_EDGE]
+                                       |  Reduce Output Operator [RS_53]
+                                       |     key expressions:_col1 (type: string), _col3 (type: string)
+                                       |     Map-reduce partition columns:_col1 (type: string), _col3 (type: string)
+                                       |     sort order:++
+                                       |     Statistics:Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
+                                       |     value expressions:_col2 (type: string)
+                                       |     Merge Join Operator [MERGEJOIN_105]
+                                       |     |  condition map:[{"":"Inner Join 0 to 1"}]
+                                       |     |  keys:{"1":"_col0 (type: string)","0":"_col0 (type: string)"}
+                                       |     |  outputColumnNames:["_col1","_col2","_col3"]
+                                       |     |  Statistics:Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
+                                       |     |<-Map 1 [SIMPLE_EDGE]
+                                       |     |  Reduce Output Operator [RS_48]
+                                       |     |     key expressions:_col0 (type: string)
+                                       |     |     Map-reduce partition columns:_col0 (type: string)
+                                       |     |     sort order:+
+                                       |     |     Statistics:Num rows: 22 Data size: 762 Basic stats: COMPLETE Column stats: NONE
+                                       |     |     value expressions:_col1 (type: string), _col2 (type: string), _col3 (type: string)
+                                       |     |     Select Operator [SEL_1]
+                                       |     |        outputColumnNames:["_col0","_col1","_col2","_col3"]
+                                       |     |        Statistics:Num rows: 22 Data size: 762 Basic stats: COMPLETE Column stats: NONE
+                                       |     |        Filter Operator [FIL_97]
+                                       |     |           predicate:((k1 is not null and v2 is not null) and v3 is not null) (type: boolean)
+                                       |     |           Statistics:Num rows: 22 Data size: 762 Basic stats: COMPLETE Column stats: NONE
+                                       |     |           TableScan [TS_0]
+                                       |     |              alias:cs
+                                       |     |              Statistics:Num rows: 170 Data size: 5890 Basic stats: COMPLETE Column stats: NONE
+                                       |     |<-Map 7 [SIMPLE_EDGE]
+                                       |        Reduce Output Operator [RS_50]
+                                       |           key expressions:_col0 (type: string)
+                                       |           Map-reduce partition columns:_col0 (type: string)
+                                       |           sort order:+
+                                       |           Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+                                       |           Select Operator [SEL_4]
+                                       |              outputColumnNames:["_col0"]
+                                       |              Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+                                       |              Filter Operator [FIL_98]
+                                       |                 predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null) (type: boolean)
+                                       |                 Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+                                       |                 TableScan [TS_2]
+                                       |                    alias:d1
+                                       |                    Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                                       |<-Reducer 9 [SIMPLE_EDGE]
+                                          Reduce Output Operator [RS_55]
+                                             key expressions:_col3 (type: string), _col5 (type: string)
+                                             Map-reduce partition columns:_col3 (type: string), _col5 (type: string)
+                                             sort order:++
+                                             Statistics:Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
+                                             value expressions:_col2 (type: string), _col4 (type: string)
+                                             Merge Join Operator [MERGEJOIN_106]
+                                             |  condition map:[{"":"Inner Join 0 to 1"}]
+                                             |  keys:{"1":"_col0 (type: string)","0":"_col0 (type: string)"}
+                                             |  outputColumnNames:["_col2","_col3","_col4","_col5"]
+                                             |  Statistics:Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
+                                             |<-Map 10 [SIMPLE_EDGE]
+                                             |  Reduce Output Operator [RS_14]
+                                             |     key expressions:_col0 (type: string)
+                                             |     Map-reduce partition columns:_col0 (type: string)
+                                             |     sort order:+
+                                             |     Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+                                             |     Select Operator [SEL_10]
+                                             |        outputColumnNames:["_col0"]
+                                             |        Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+                                             |        Filter Operator [FIL_100]
+                                             |           predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null) (type: boolean)
+                                             |           Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+                                             |           TableScan [TS_8]
+                                             |              alias:d1
+                                             |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                                             |<-Map 8 [SIMPLE_EDGE]
+                                                Reduce Output Operator [RS_12]
+                                                   key expressions:_col0 (type: string)
+                                                   Map-reduce partition columns:_col0 (type: string)
+                                                   sort order:+
+                                                   Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
+                                                   value expressions:_col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: string)
+                                                   Select Operator [SEL_7]
+                                                      outputColumnNames:["_col0","_col2","_col3","_col4","_col5"]
+                                                      Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
+                                                      Filter Operator [FIL_99]
+                                                         predicate:((((((v1 = 'srv1') and k1 is not null) and v2 is not null) and v3 is not null) and k2 is not null) and k3 is not null) (type: boolean)
+                                                         Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
+                                                         TableScan [TS_5]
+                                                            alias:sr
+                                                            Statistics:Num rows: 85 Data size: 2945 Basic stats: COMPLETE Column stats: NONE
 PREHOOK: query: explain
 SELECT x.key, z.value, y.value
 FROM src1 x JOIN src y ON (x.key = y.key) 
@@ -590,33 +590,33 @@
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 13 <- Union 12 (SIMPLE_EDGE)
-Reducer 3 <- Union 2 (SIMPLE_EDGE)
-Reducer 14 <- Reducer 13 (SIMPLE_EDGE), Reducer 17 (SIMPLE_EDGE), Union 5 (CONTAINS)
-Map 11 <- Union 12 (CONTAINS)
-Map 1 <- Union 2 (CONTAINS)
-Reducer 4 <- Reducer 3 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE), Union 5 (CONTAINS)
-Map 7 <- Union 2 (CONTAINS)
-Reducer 6 <- Union 5 (SIMPLE_EDGE)
-Reducer 9 <- Map 10 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
-Reducer 17 <- Map 16 (SIMPLE_EDGE), Map 18 (SIMPLE_EDGE)
-Map 15 <- Union 12 (CONTAINS)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE), Union 3 (CONTAINS)
+Reducer 12 <- Map 11 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE), Union 3 (CONTAINS)
+Map 13 <- Union 14 (CONTAINS)
+Map 5 <- Union 6 (CONTAINS)
+Reducer 4 <- Union 3 (SIMPLE_EDGE)
+Reducer 7 <- Union 6 (SIMPLE_EDGE)
+Map 9 <- Union 6 (CONTAINS)
+Reducer 8 <- Map 10 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE)
+Reducer 15 <- Union 14 (SIMPLE_EDGE)
+Reducer 16 <- Map 18 (SIMPLE_EDGE), Reducer 15 (SIMPLE_EDGE)
+Map 17 <- Union 14 (CONTAINS)
 
 Stage-0
    Fetch Operator
       limit:-1
       Stage-1
-         Reducer 6
+         Reducer 4
          File Output Operator [FS_61]
             compressed:false
-            Statistics:Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
+            Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
             table:{"serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe","input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"}
             Group By Operator [GBY_59]
             |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
             |  outputColumnNames:["_col0","_col1"]
-            |  Statistics:Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
-            |<-Union 5 [SIMPLE_EDGE]
-               |<-Reducer 14 [CONTAINS]
+            |  Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
+            |<-Union 3 [SIMPLE_EDGE]
+               |<-Reducer 2 [CONTAINS]
                |  Reduce Output Operator [RS_58]
                |     key expressions:_col0 (type: string), _col1 (type: string)
                |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
@@ -624,98 +624,98 @@
                |     Group By Operator [GBY_57]
                |        keys:_col0 (type: string), _col1 (type: string)
                |        outputColumnNames:["_col0","_col1"]
-               |        Select Operator [SEL_53]
+               |        Select Operator [SEL_26]
                |           outputColumnNames:["_col0","_col1"]
                |           Merge Join Operator [MERGEJOIN_85]
                |           |  condition map:[{"":"Inner Join 0 to 1"}]
-               |           |  keys:{"1":"_col2 (type: string)","0":"_col0 (type: string)"}
-               |           |  outputColumnNames:["_col0","_col2"]
-               |           |<-Reducer 13 [SIMPLE_EDGE]
-               |           |  Reduce Output Operator [RS_49]
+               |           |  keys:{"1":"_col1 (type: string)","0":"_col0 (type: string)"}
+               |           |  outputColumnNames:["_col1","_col2"]
+               |           |<-Map 1 [SIMPLE_EDGE]
+               |           |  Reduce Output Operator [RS_22]
                |           |     key expressions:_col0 (type: string)
                |           |     Map-reduce partition columns:_col0 (type: string)
                |           |     sort order:+
-               |           |     Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-               |           |     Select Operator [SEL_37]
+               |           |     Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+               |           |     Select Operator [SEL_1]
                |           |        outputColumnNames:["_col0"]
-               |           |        Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-               |           |        Group By Operator [GBY_36]
-               |           |        |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-               |           |        |  outputColumnNames:["_col0","_col1"]
-               |           |        |  Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-               |           |        |<-Union 12 [SIMPLE_EDGE]
-               |           |           |<-Map 11 [CONTAINS]
-               |           |           |  Reduce Output Operator [RS_35]
-               |           |           |     key expressions:_col0 (type: string), _col1 (type: string)
-               |           |           |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |           |     sort order:++
-               |           |           |     Group By Operator [GBY_34]
-               |           |           |        keys:_col0 (type: string), _col1 (type: string)
-               |           |           |        outputColumnNames:["_col0","_col1"]
-               |           |           |        Select Operator [SEL_28]
-               |           |           |           outputColumnNames:["_col0","_col1"]
-               |           |           |           Filter Operator [FIL_78]
-               |           |           |              predicate:value is not null (type: boolean)
-               |           |           |              TableScan [TS_27]
-               |           |           |                 alias:x
-               |           |           |<-Map 15 [CONTAINS]
-               |           |              Reduce Output Operator [RS_35]
-               |           |                 key expressions:_col0 (type: string), _col1 (type: string)
-               |           |                 Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |                 sort order:++
-               |           |                 Group By Operator [GBY_34]
-               |           |                    keys:_col0 (type: string), _col1 (type: string)
-               |           |                    outputColumnNames:["_col0","_col1"]
-               |           |                    Select Operator [SEL_30]
-               |           |                       outputColumnNames:["_col0","_col1"]
-               |           |                       Filter Operator [FIL_79]
-               |           |                          predicate:value is not null (type: boolean)
-               |           |                          TableScan [TS_29]
-               |           |                             alias:y
-               |           |<-Reducer 17 [SIMPLE_EDGE]
-               |              Reduce Output Operator [RS_51]
-               |                 key expressions:_col2 (type: string)
-               |                 Map-reduce partition columns:_col2 (type: string)
+               |           |        Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+               |           |        Filter Operator [FIL_76]
+               |           |           predicate:key is not null (type: boolean)
+               |           |           Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+               |           |           TableScan [TS_0]
+               |           |              alias:y
+               |           |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+               |           |<-Reducer 8 [SIMPLE_EDGE]
+               |              Reduce Output Operator [RS_24]
+               |                 key expressions:_col1 (type: string)
+               |                 Map-reduce partition columns:_col1 (type: string)
                |                 sort order:+
-               |                 Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-               |                 value expressions:_col1 (type: string)
-               |                 Merge Join Operator [MERGEJOIN_83]
+               |                 Statistics:Num rows: 144 Data size: 1509 Basic stats: COMPLETE Column stats: NONE
+               |                 value expressions:_col0 (type: string)
+               |                 Merge Join Operator [MERGEJOIN_84]
                |                 |  condition map:[{"":"Inner Join 0 to 1"}]
-               |                 |  keys:{"1":"_col0 (type: string)","0":"_col0 (type: string)"}
-               |                 |  outputColumnNames:["_col1","_col2"]
-               |                 |  Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-               |                 |<-Map 16 [SIMPLE_EDGE]
-               |                 |  Reduce Output Operator [RS_43]
-               |                 |     key expressions:_col0 (type: string)
-               |                 |     Map-reduce partition columns:_col0 (type: string)
+               |                 |  keys:{"1":"_col1 (type: string)","0":"_col0 (type: string)"}
+               |                 |  outputColumnNames:["_col0","_col1"]
+               |                 |  Statistics:Num rows: 144 Data size: 1509 Basic stats: COMPLETE Column stats: NONE
+               |                 |<-Map 10 [SIMPLE_EDGE]
+               |                 |  Reduce Output Operator [RS_18]
+               |                 |     key expressions:_col1 (type: string)
+               |                 |     Map-reduce partition columns:_col1 (type: string)
                |                 |     sort order:+
-               |                 |     Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-               |                 |     Select Operator [SEL_39]
-               |                 |        outputColumnNames:["_col0"]
-               |                 |        Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-               |                 |        Filter Operator [FIL_80]
-               |                 |           predicate:key is not null (type: boolean)
-               |                 |           Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-               |                 |           TableScan [TS_38]
-               |                 |              alias:y
-               |                 |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-               |                 |<-Map 18 [SIMPLE_EDGE]
-               |                    Reduce Output Operator [RS_45]
+               |                 |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+               |                 |     value expressions:_col0 (type: string)
+               |                 |     Select Operator [SEL_14]
+               |                 |        outputColumnNames:["_col0","_col1"]
+               |                 |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+               |                 |        Filter Operator [FIL_79]
+               |                 |           predicate:(value is not null and key is not null) (type: boolean)
+               |                 |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+               |                 |           TableScan [TS_13]
+               |                 |              alias:x
+               |                 |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+               |                 |<-Reducer 7 [SIMPLE_EDGE]
+               |                    Reduce Output Operator [RS_16]
                |                       key expressions:_col0 (type: string)
                |                       Map-reduce partition columns:_col0 (type: string)
                |                       sort order:+
-               |                       Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-               |                       value expressions:_col1 (type: string)
-               |                       Select Operator [SEL_41]
-               |                          outputColumnNames:["_col0","_col1"]
-               |                          Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-               |                          Filter Operator [FIL_81]
-               |                             predicate:(key is not null and value is not null) (type: boolean)
-               |                             Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-               |                             TableScan [TS_40]
-               |                                alias:x
-               |                                Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
-               |<-Reducer 4 [CONTAINS]
+               |                       Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
+               |                       Select Operator [SEL_12]
+               |                          outputColumnNames:["_col0"]
+               |                          Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
+               |                          Group By Operator [GBY_11]
+               |                          |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+               |                          |  outputColumnNames:["_col0","_col1"]
+               |                          |  Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
+               |                          |<-Union 6 [SIMPLE_EDGE]
+               |                             |<-Map 5 [CONTAINS]
+               |                             |  Reduce Output Operator [RS_10]
+               |                             |     key expressions:_col0 (type: string), _col1 (type: string)
+               |                             |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |                             |     sort order:++
+               |                             |     Group By Operator [GBY_9]
+               |                             |        keys:_col0 (type: string), _col1 (type: string)
+               |                             |        outputColumnNames:["_col0","_col1"]
+               |                             |        Select Operator [SEL_3]
+               |                             |           outputColumnNames:["_col0","_col1"]
+               |                             |           Filter Operator [FIL_77]
+               |                             |              predicate:value is not null (type: boolean)
+               |                             |              TableScan [TS_2]
+               |                             |                 alias:x
+               |                             |<-Map 9 [CONTAINS]
+               |                                Reduce Output Operator [RS_10]
+               |                                   key expressions:_col0 (type: string), _col1 (type: string)
+               |                                   Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |                                   sort order:++
+               |                                   Group By Operator [GBY_9]
+               |                                      keys:_col0 (type: string), _col1 (type: string)
+               |                                      outputColumnNames:["_col0","_col1"]
+               |                                      Select Operator [SEL_5]
+               |                                         outputColumnNames:["_col0","_col1"]
+               |                                         Filter Operator [FIL_78]
+               |                                            predicate:value is not null (type: boolean)
+               |                                            TableScan [TS_4]
+               |                                               alias:y
+               |<-Reducer 12 [CONTAINS]
                   Reduce Output Operator [RS_58]
                      key expressions:_col0 (type: string), _col1 (type: string)
                      Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
@@ -723,97 +723,97 @@
                      Group By Operator [GBY_57]
                         keys:_col0 (type: string), _col1 (type: string)
                         outputColumnNames:["_col0","_col1"]
-                        Select Operator [SEL_26]
+                        Select Operator [SEL_53]
                            outputColumnNames:["_col0","_col1"]
-                           Merge Join Operator [MERGEJOIN_84]
+                           Merge Join Operator [MERGEJOIN_87]
                            |  condition map:[{"":"Inner Join 0 to 1"}]
-                           |  keys:{"1":"_col2 (type: string)","0":"_col0 (type: string)"}
-                           |  outputColumnNames:["_col0","_col2"]
-                           |<-Reducer 3 [SIMPLE_EDGE]
-                           |  Reduce Output Operator [RS_22]
+                           |  keys:{"1":"_col1 (type: string)","0":"_col0 (type: string)"}
+                           |  outputColumnNames:["_col1","_col2"]
+                           |<-Map 11 [SIMPLE_EDGE]
+                           |  Reduce Output Operator [RS_49]
                            |     key expressions:_col0 (type: string)
                            |     Map-reduce partition columns:_col0 (type: string)
                            |     sort order:+
-                           |     Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-                           |     Select Operator [SEL_10]
+                           |     Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                           |     Select Operator [SEL_28]
                            |        outputColumnNames:["_col0"]
-                           |        Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-                           |        Group By Operator [GBY_9]
-                           |        |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-                           |        |  outputColumnNames:["_col0","_col1"]
-                           |        |  Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-                           |        |<-Union 2 [SIMPLE_EDGE]
-                           |           |<-Map 1 [CONTAINS]
-                           |           |  Reduce Output Operator [RS_8]
-                           |           |     key expressions:_col0 (type: string), _col1 (type: string)
-                           |           |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                           |           |     sort order:++
-                           |           |     Group By Operator [GBY_7]
-                           |           |        keys:_col0 (type: string), _col1 (type: string)
-                           |           |        outputColumnNames:["_col0","_col1"]
-                           |           |        Select Operator [SEL_1]
-                           |           |           outputColumnNames:["_col0","_col1"]
-                           |           |           Filter Operator [FIL_74]
-                           |           |              predicate:value is not null (type: boolean)
-                           |           |              TableScan [TS_0]
-                           |           |                 alias:x
-                           |           |<-Map 7 [CONTAINS]
-                           |              Reduce Output Operator [RS_8]
-                           |                 key expressions:_col0 (type: string), _col1 (type: string)
-                           |                 Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                           |                 sort order:++
-                           |                 Group By Operator [GBY_7]
-                           |                    keys:_col0 (type: string), _col1 (type: string)
-                           |                    outputColumnNames:["_col0","_col1"]
-                           |                    Select Operator [SEL_3]
-                           |                       outputColumnNames:["_col0","_col1"]
-                           |                       Filter Operator [FIL_75]
-                           |                          predicate:value is not null (type: boolean)
-                           |                          TableScan [TS_2]
-                           |                             alias:y
-                           |<-Reducer 9 [SIMPLE_EDGE]
-                              Reduce Output Operator [RS_24]
-                                 key expressions:_col2 (type: string)
-                                 Map-reduce partition columns:_col2 (type: string)
+                           |        Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                           |        Filter Operator [FIL_80]
+                           |           predicate:key is not null (type: boolean)
+                           |           Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                           |           TableScan [TS_27]
+                           |              alias:y
+                           |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                           |<-Reducer 16 [SIMPLE_EDGE]
+                              Reduce Output Operator [RS_51]
+                                 key expressions:_col1 (type: string)
+                                 Map-reduce partition columns:_col1 (type: string)
                                  sort order:+
-                                 Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-                                 value expressions:_col1 (type: string)
-                                 Merge Join Operator [MERGEJOIN_82]
+                                 Statistics:Num rows: 144 Data size: 1509 Basic stats: COMPLETE Column stats: NONE
+                                 value expressions:_col0 (type: string)
+                                 Merge Join Operator [MERGEJOIN_86]
                                  |  condition map:[{"":"Inner Join 0 to 1"}]
-                                 |  keys:{"1":"_col0 (type: string)","0":"_col0 (type: string)"}
-                                 |  outputColumnNames:["_col1","_col2"]
-                                 |  Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-                                 |<-Map 10 [SIMPLE_EDGE]
-                                 |  Reduce Output Operator [RS_18]
-                                 |     key expressions:_col0 (type: string)
-                                 |     Map-reduce partition columns:_col0 (type: string)
+                                 |  keys:{"1":"_col1 (type: string)","0":"_col0 (type: string)"}
+                                 |  outputColumnNames:["_col0","_col1"]
+                                 |  Statistics:Num rows: 144 Data size: 1509 Basic stats: COMPLETE Column stats: NONE
+                                 |<-Map 18 [SIMPLE_EDGE]
+                                 |  Reduce Output Operator [RS_45]
+                                 |     key expressions:_col1 (type: string)
+                                 |     Map-reduce partition columns:_col1 (type: string)
                                  |     sort order:+
                                  |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                                 |     value expressions:_col1 (type: string)
-                                 |     Select Operator [SEL_14]
+                                 |     value expressions:_col0 (type: string)
+                                 |     Select Operator [SEL_41]
                                  |        outputColumnNames:["_col0","_col1"]
                                  |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                                 |        Filter Operator [FIL_77]
-                                 |           predicate:(key is not null and value is not null) (type: boolean)
+                                 |        Filter Operator [FIL_83]
+                                 |           predicate:(value is not null and key is not null) (type: boolean)
                                  |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                                 |           TableScan [TS_13]
+                                 |           TableScan [TS_40]
                                  |              alias:x
                                  |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
-                                 |<-Map 8 [SIMPLE_EDGE]
-                                    Reduce Output Operator [RS_16]
+                                 |<-Reducer 15 [SIMPLE_EDGE]
+                                    Reduce Output Operator [RS_43]
                                        key expressions:_col0 (type: string)
                                        Map-reduce partition columns:_col0 (type: string)
                                        sort order:+
-                                       Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-                                       Select Operator [SEL_12]
+                                       Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
+                                       Select Operator [SEL_39]
                                           outputColumnNames:["_col0"]
-                                          Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-                                          Filter Operator [FIL_76]
-                                             predicate:key is not null (type: boolean)
-                                             Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-                                             TableScan [TS_11]
-                                                alias:y
-                                                Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                                          Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
+                                          Group By Operator [GBY_38]
+                                          |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+                                          |  outputColumnNames:["_col0","_col1"]
+                                          |  Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
+                                          |<-Union 14 [SIMPLE_EDGE]
+                                             |<-Map 13 [CONTAINS]
+                                             |  Reduce Output Operator [RS_37]
+                                             |     key expressions:_col0 (type: string), _col1 (type: string)
+                                             |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                                             |     sort order:++
+                                             |     Group By Operator [GBY_36]
+                                             |        keys:_col0 (type: string), _col1 (type: string)
+                                             |        outputColumnNames:["_col0","_col1"]
+                                             |        Select Operator [SEL_30]
+                                             |           outputColumnNames:["_col0","_col1"]
+                                             |           Filter Operator [FIL_81]
+                                             |              predicate:value is not null (type: boolean)
+                                             |              TableScan [TS_29]
+                                             |                 alias:x
+                                             |<-Map 17 [CONTAINS]
+                                                Reduce Output Operator [RS_37]
+                                                   key expressions:_col0 (type: string), _col1 (type: string)
+                                                   Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                                                   sort order:++
+                                                   Group By Operator [GBY_36]
+                                                      keys:_col0 (type: string), _col1 (type: string)
+                                                      outputColumnNames:["_col0","_col1"]
+                                                      Select Operator [SEL_32]
+                                                         outputColumnNames:["_col0","_col1"]
+                                                         Filter Operator [FIL_82]
+                                                            predicate:value is not null (type: boolean)
+                                                            TableScan [TS_31]
+                                                               alias:y
 PREHOOK: query: explain
 SELECT x.key, y.value
 FROM src1 x JOIN src y ON (x.key = y.key) 
@@ -843,45 +843,45 @@
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 31 <- Reducer 30 (SIMPLE_EDGE), Reducer 36 (SIMPLE_EDGE), Union 7 (CONTAINS)
-Reducer 22 <- Map 21 (SIMPLE_EDGE), Map 23 (SIMPLE_EDGE)
-Map 24 <- Union 25 (CONTAINS)
-Map 32 <- Union 25 (CONTAINS)
-Reducer 11 <- Map 10 (SIMPLE_EDGE), Map 12 (SIMPLE_EDGE)
-Reducer 30 <- Union 29 (SIMPLE_EDGE)
-Map 13 <- Union 14 (CONTAINS)
-Map 34 <- Union 29 (CONTAINS)
-Reducer 36 <- Map 35 (SIMPLE_EDGE), Map 37 (SIMPLE_EDGE)
-Map 1 <- Union 2 (CONTAINS)
-Map 20 <- Union 16 (CONTAINS)
-Map 33 <- Union 27 (CONTAINS)
-Reducer 4 <- Reducer 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS)
-Map 19 <- Union 14 (CONTAINS)
-Reducer 6 <- Union 5 (SIMPLE_EDGE), Union 7 (CONTAINS)
-Reducer 26 <- Union 25 (SIMPLE_EDGE), Union 27 (CONTAINS)
-Reducer 17 <- Union 16 (SIMPLE_EDGE)
-Reducer 8 <- Union 7 (SIMPLE_EDGE)
-Reducer 18 <- Reducer 17 (SIMPLE_EDGE), Reducer 22 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 32 <- Union 31 (SIMPLE_EDGE)
+Map 11 <- Union 8 (CONTAINS)
+Reducer 14 <- Map 13 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE), Union 3 (CONTAINS)
+Reducer 30 <- Union 29 (SIMPLE_EDGE), Union 31 (CONTAINS)
+Reducer 25 <- Map 24 (SIMPLE_EDGE), Reducer 33 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Map 22 <- Union 18 (CONTAINS)
+Map 21 <- Union 16 (CONTAINS)
+Map 34 <- Union 27 (CONTAINS)
+Reducer 10 <- Map 12 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 33 <- Map 37 (SIMPLE_EDGE), Reducer 32 (SIMPLE_EDGE)
+Reducer 20 <- Map 23 (SIMPLE_EDGE), Reducer 19 (SIMPLE_EDGE)
+Map 36 <- Union 31 (CONTAINS)
+Map 35 <- Union 29 (CONTAINS)
+Reducer 4 <- Union 3 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 19 <- Union 18 (SIMPLE_EDGE)
+Reducer 6 <- Union 5 (SIMPLE_EDGE)
+Reducer 9 <- Union 8 (SIMPLE_EDGE)
+Reducer 17 <- Union 16 (SIMPLE_EDGE), Union 18 (CONTAINS)
+Map 15 <- Union 16 (CONTAINS)
 Reducer 28 <- Union 27 (SIMPLE_EDGE), Union 29 (CONTAINS)
-Reducer 15 <- Union 14 (SIMPLE_EDGE), Union 16 (CONTAINS)
-Reducer 3 <- Union 2 (SIMPLE_EDGE)
-Map 9 <- Union 2 (CONTAINS)
+Map 26 <- Union 27 (CONTAINS)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE), Union 3 (CONTAINS)
+Map 7 <- Union 8 (CONTAINS)
 
 Stage-0
    Fetch Operator
       limit:-1
       Stage-1
-         Reducer 8
+         Reducer 6
          File Output Operator [FS_122]
             compressed:false
-            Statistics:Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
+            Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
             table:{"serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe","input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"}
             Group By Operator [GBY_120]
             |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
             |  outputColumnNames:["_col0","_col1"]
-            |  Statistics:Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
-            |<-Union 7 [SIMPLE_EDGE]
-               |<-Reducer 31 [CONTAINS]
+            |  Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
+            |<-Union 5 [SIMPLE_EDGE]
+               |<-Reducer 25 [CONTAINS]
                |  Reduce Output Operator [RS_119]
                |     key expressions:_col0 (type: string), _col1 (type: string)
                |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
@@ -891,149 +891,148 @@
                |        outputColumnNames:["_col0","_col1"]
                |        Select Operator [SEL_114]
                |           outputColumnNames:["_col0","_col1"]
-               |           Merge Join Operator [MERGEJOIN_164]
+               |           Merge Join Operator [MERGEJOIN_170]
                |           |  condition map:[{"":"Inner Join 0 to 1"}]
-               |           |  keys:{"1":"_col3 (type: string)","0":"_col0 (type: string)"}
-               |           |  outputColumnNames:["_col2","_col3"]
-               |           |<-Reducer 30 [SIMPLE_EDGE]
+               |           |  keys:{"1":"_col1 (type: string)","0":"_col0 (type: string)"}
+               |           |  outputColumnNames:["_col1","_col3"]
+               |           |<-Map 24 [SIMPLE_EDGE]
                |           |  Reduce Output Operator [RS_110]
                |           |     key expressions:_col0 (type: string)
                |           |     Map-reduce partition columns:_col0 (type: string)
                |           |     sort order:+
-               |           |     Statistics:Num rows: 220 Data size: 2332 Basic stats: COMPLETE Column stats: NONE
-               |           |     Select Operator [SEL_98]
-               |           |        outputColumnNames:["_col0"]
-               |           |        Statistics:Num rows: 220 Data size: 2332 Basic stats: COMPLETE Column stats: NONE
-               |           |        Group By Operator [GBY_97]
-               |           |        |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-               |           |        |  outputColumnNames:["_col0","_col1"]
-               |           |        |  Statistics:Num rows: 220 Data size: 2332 Basic stats: COMPLETE Column stats: NONE
-               |           |        |<-Union 29 [SIMPLE_EDGE]
-               |           |           |<-Map 34 [CONTAINS]
-               |           |           |  Reduce Output Operator [RS_96]
-               |           |           |     key expressions:_col0 (type: string), _col1 (type: string)
-               |           |           |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |           |     sort order:++
-               |           |           |     Group By Operator [GBY_95]
-               |           |           |        keys:_col0 (type: string), _col1 (type: string)
-               |           |           |        outputColumnNames:["_col0","_col1"]
-               |           |           |        Select Operator [SEL_91]
-               |           |           |           outputColumnNames:["_col0","_col1"]
-               |           |           |           Filter Operator [FIL_156]
-               |           |           |              predicate:value is not null (type: boolean)
-               |           |           |              TableScan [TS_90]
-               |           |           |                 alias:y
-               |           |           |<-Reducer 28 [CONTAINS]
-               |           |              Reduce Output Operator [RS_96]
-               |           |                 key expressions:_col0 (type: string), _col1 (type: string)
-               |           |                 Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |                 sort order:++
-               |           |                 Group By Operator [GBY_95]
-               |           |                    keys:_col0 (type: string), _col1 (type: string)
-               |           |                    outputColumnNames:["_col0","_col1"]
-               |           |                    Group By Operator [GBY_88]
-               |           |                    |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-               |           |                    |  outputColumnNames:["_col0","_col1"]
-               |           |                    |<-Union 27 [SIMPLE_EDGE]
-               |           |                       |<-Map 33 [CONTAINS]
-               |           |                       |  Reduce Output Operator [RS_87]
-               |           |                       |     key expressions:_col0 (type: string), _col1 (type: string)
-               |           |                       |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |                       |     sort order:++
-               |           |                       |     Group By Operator [GBY_86]
-               |           |                       |        keys:_col0 (type: string), _col1 (type: string)
-               |           |                       |        outputColumnNames:["_col0","_col1"]
-               |           |                       |        Select Operator [SEL_82]
-               |           |                       |           outputColumnNames:["_col0","_col1"]
-               |           |                       |           Filter Operator [FIL_155]
-               |           |                       |              predicate:value is not null (type: boolean)
-               |           |                       |              TableScan [TS_81]
-               |           |                       |                 alias:y
-               |           |                       |<-Reducer 26 [CONTAINS]
-               |           |                          Reduce Output Operator [RS_87]
-               |           |                             key expressions:_col0 (type: string), _col1 (type: string)
-               |           |                             Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |                             sort order:++
-               |           |                             Group By Operator [GBY_86]
-               |           |                                keys:_col0 (type: string), _col1 (type: string)
-               |           |                                outputColumnNames:["_col0","_col1"]
-               |           |                                Group By Operator [GBY_79]
-               |           |                                |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-               |           |                                |  outputColumnNames:["_col0","_col1"]
-               |           |                                |<-Union 25 [SIMPLE_EDGE]
-               |           |                                   |<-Map 24 [CONTAINS]
-               |           |                                   |  Reduce Output Operator [RS_78]
-               |           |                                   |     key expressions:_col0 (type: string), _col1 (type: string)
-               |           |                                   |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |                                   |     sort order:++
-               |           |                                   |     Group By Operator [GBY_77]
-               |           |                                   |        keys:_col0 (type: string), _col1 (type: string)
-               |           |                                   |        outputColumnNames:["_col0","_col1"]
-               |           |                                   |        Select Operator [SEL_71]
-               |           |                                   |           outputColumnNames:["_col0","_col1"]
-               |           |                                   |           Filter Operator [FIL_153]
-               |           |                                   |              predicate:value is not null (type: boolean)
-               |           |                                   |              TableScan [TS_70]
-               |           |                                   |                 alias:x
-               |           |                                   |<-Map 32 [CONTAINS]
-               |           |                                      Reduce Output Operator [RS_78]
-               |           |                                         key expressions:_col0 (type: string), _col1 (type: string)
-               |           |                                         Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |                                         sort order:++
-               |           |                                         Group By Operator [GBY_77]
-               |           |                                            keys:_col0 (type: string), _col1 (type: string)
-               |           |                                            outputColumnNames:["_col0","_col1"]
-               |           |                                            Select Operator [SEL_73]
-               |           |                                               outputColumnNames:["_col0","_col1"]
-               |           |                                               Filter Operator [FIL_154]
-               |           |                                                  predicate:value is not null (type: boolean)
-               |           |                                                  TableScan [TS_72]
-               |           |                                                     alias:y
-               |           |<-Reducer 36 [SIMPLE_EDGE]
+               |           |     Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+               |           |     value expressions:_col1 (type: string)
+               |           |     Select Operator [SEL_71]
+               |           |        outputColumnNames:["_col0","_col1"]
+               |           |        Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+               |           |        Filter Operator [FIL_159]
+               |           |           predicate:key is not null (type: boolean)
+               |           |           Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+               |           |           TableScan [TS_70]
+               |           |              alias:y
+               |           |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+               |           |<-Reducer 33 [SIMPLE_EDGE]
                |              Reduce Output Operator [RS_112]
-               |                 key expressions:_col3 (type: string)
-               |                 Map-reduce partition columns:_col3 (type: string)
+               |                 key expressions:_col1 (type: string)
+               |                 Map-reduce partition columns:_col1 (type: string)
                |                 sort order:+
-               |                 Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-               |                 value expressions:_col1 (type: string), _col2 (type: string)
-               |                 Merge Join Operator [MERGEJOIN_161]
+               |                 Statistics:Num rows: 242 Data size: 2565 Basic stats: COMPLETE Column stats: NONE
+               |                 Merge Join Operator [MERGEJOIN_169]
                |                 |  condition map:[{"":"Inner Join 0 to 1"}]
-               |                 |  keys:{"1":"_col0 (type: string)","0":"_col0 (type: string)"}
-               |                 |  outputColumnNames:["_col1","_col2","_col3"]
-               |                 |  Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-               |                 |<-Map 35 [SIMPLE_EDGE]
-               |                 |  Reduce Output Operator [RS_104]
-               |                 |     key expressions:_col0 (type: string)
-               |                 |     Map-reduce partition columns:_col0 (type: string)
-               |                 |     sort order:+
-               |                 |     Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-               |                 |     value expressions:_col1 (type: string)
-               |                 |     Select Operator [SEL_100]
-               |                 |        outputColumnNames:["_col0","_col1"]
-               |                 |        Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-               |                 |        Filter Operator [FIL_157]
-               |                 |           predicate:key is not null (type: boolean)
-               |                 |           Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-               |                 |           TableScan [TS_99]
-               |                 |              alias:y
-               |                 |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+               |                 |  keys:{"1":"_col1 (type: string)","0":"_col0 (type: string)"}
+               |                 |  outputColumnNames:["_col1"]
+               |                 |  Statistics:Num rows: 242 Data size: 2565 Basic stats: COMPLETE Column stats: NONE
                |                 |<-Map 37 [SIMPLE_EDGE]
-               |                    Reduce Output Operator [RS_106]
+               |                 |  Reduce Output Operator [RS_106]
+               |                 |     key expressions:_col1 (type: string)
+               |                 |     Map-reduce partition columns:_col1 (type: string)
+               |                 |     sort order:+
+               |                 |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+               |                 |     value expressions:_col0 (type: string)
+               |                 |     Select Operator [SEL_102]
+               |                 |        outputColumnNames:["_col0","_col1"]
+               |                 |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+               |                 |        Filter Operator [FIL_164]
+               |                 |           predicate:(value is not null and key is not null) (type: boolean)
+               |                 |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+               |                 |           TableScan [TS_101]
+               |                 |              alias:x
+               |                 |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+               |                 |<-Reducer 32 [SIMPLE_EDGE]
+               |                    Reduce Output Operator [RS_104]
                |                       key expressions:_col0 (type: string)
                |                       Map-reduce partition columns:_col0 (type: string)
                |                       sort order:+
-               |                       Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-               |                       value expressions:_col1 (type: string)
-               |                       Select Operator [SEL_102]
-               |                          outputColumnNames:["_col0","_col1"]
-               |                          Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-               |                          Filter Operator [FIL_158]
-               |                             predicate:(key is not null and value is not null) (type: boolean)
-               |                             Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-               |                             TableScan [TS_101]
-               |                                alias:x
-               |                                Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
-               |<-Reducer 6 [CONTAINS]
+               |                       Statistics:Num rows: 220 Data size: 2332 Basic stats: COMPLETE Column stats: NONE
+               |                       Select Operator [SEL_100]
+               |                          outputColumnNames:["_col0"]
+               |                          Statistics:Num rows: 220 Data size: 2332 Basic stats: COMPLETE Column stats: NONE
+               |                          Group By Operator [GBY_99]
+               |                          |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+               |                          |  outputColumnNames:["_col0","_col1"]
+               |                          |  Statistics:Num rows: 220 Data size: 2332 Basic stats: COMPLETE Column stats: NONE
+               |                          |<-Union 31 [SIMPLE_EDGE]
+               |                             |<-Reducer 30 [CONTAINS]
+               |                             |  Reduce Output Operator [RS_98]
+               |                             |     key expressions:_col0 (type: string), _col1 (type: string)
+               |                             |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |                             |     sort order:++
+               |                             |     Group By Operator [GBY_97]
+               |                             |        keys:_col0 (type: string), _col1 (type: string)
+               |                             |        outputColumnNames:["_col0","_col1"]
+               |                             |        Group By Operator [GBY_90]
+               |                             |        |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+               |                             |        |  outputColumnNames:["_col0","_col1"]
+               |                             |        |<-Union 29 [SIMPLE_EDGE]
+               |                             |           |<-Map 35 [CONTAINS]
+               |                             |           |  Reduce Output Operator [RS_89]
+               |                             |           |     key expressions:_col0 (type: string), _col1 (type: string)
+               |                             |           |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |                             |           |     sort order:++
+               |                             |           |     Group By Operator [GBY_88]
+               |                             |           |        keys:_col0 (type: string), _col1 (type: string)
+               |                             |           |        outputColumnNames:["_col0","_col1"]
+               |                             |           |        Select Operator [SEL_84]
+               |                             |           |           outputColumnNames:["_col0","_col1"]
+               |                             |           |           Filter Operator [FIL_162]
+               |                             |           |              predicate:value is not null (type: boolean)
+               |                             |           |              TableScan [TS_83]
+               |                             |           |                 alias:y
+               |                             |           |<-Reducer 28 [CONTAINS]
+               |                             |              Reduce Output Operator [RS_89]
+               |                             |                 key expressions:_col0 (type: string), _col1 (type: string)
+               |                             |                 Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |                             |                 sort order:++
+               |                             |                 Group By Operator [GBY_88]
+               |                             |                    keys:_col0 (type: string), _col1 (type: string)
+               |                             |                    outputColumnNames:["_col0","_col1"]
+               |                             |                    Group By Operator [GBY_81]
+               |                             |                    |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+               |                             |                    |  outputColumnNames:["_col0","_col1"]
+               |                             |                    |<-Union 27 [SIMPLE_EDGE]
+               |                             |                       |<-Map 34 [CONTAINS]
+               |                             |                       |  Reduce Output Operator [RS_80]
+               |                             |                       |     key expressions:_col0 (type: string), _col1 (type: string)
+               |                             |                       |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |                             |                       |     sort order:++
+               |                             |                       |     Group By Operator [GBY_79]
+               |                             |                       |        keys:_col0 (type: string), _col1 (type: string)
+               |                             |                       |        outputColumnNames:["_col0","_col1"]
+               |                             |                       |        Select Operator [SEL_75]
+               |                             |                       |           outputColumnNames:["_col0","_col1"]
+               |                             |                       |           Filter Operator [FIL_161]
+               |                             |                       |              predicate:value is not null (type: boolean)
+               |                             |                       |              TableScan [TS_74]
+               |                             |                       |                 alias:y
+               |                             |                       |<-Map 26 [CONTAINS]
+               |                             |                          Reduce Output Operator [RS_80]
+               |                             |                             key expressions:_col0 (type: string), _col1 (type: string)
+               |                             |                             Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |                             |                             sort order:++
+               |                             |                             Group By Operator [GBY_79]
+               |                             |                                keys:_col0 (type: string), _col1 (type: string)
+               |                             |                                outputColumnNames:["_col0","_col1"]
+               |                             |                                Select Operator [SEL_73]
+               |                             |                                   outputColumnNames:["_col0","_col1"]
+               |                             |                                   Filter Operator [FIL_160]
+               |                             |                                      predicate:value is not null (type: boolean)
+               |                             |                                      TableScan [TS_72]
+               |                             |                                         alias:x
+               |                             |<-Map 36 [CONTAINS]
+               |                                Reduce Output Operator [RS_98]
+               |                                   key expressions:_col0 (type: string), _col1 (type: string)
+               |                                   Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |                                   sort order:++
+               |                                   Group By Operator [GBY_97]
+               |                                      keys:_col0 (type: string), _col1 (type: string)
+               |                                      outputColumnNames:["_col0","_col1"]
+               |                                      Select Operator [SEL_93]
+               |                                         outputColumnNames:["_col0","_col1"]
+               |                                         Filter Operator [FIL_163]
+               |                                            predicate:value is not null (type: boolean)
+               |                                            TableScan [TS_92]
+               |                                               alias:y
+               |<-Reducer 4 [CONTAINS]
                   Reduce Output Operator [RS_119]
                      key expressions:_col0 (type: string), _col1 (type: string)
                      Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
@@ -1044,8 +1043,8 @@
                         Group By Operator [GBY_68]
                         |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
                         |  outputColumnNames:["_col0","_col1"]
-                        |<-Union 5 [SIMPLE_EDGE]
-                           |<-Reducer 4 [CONTAINS]
+                        |<-Union 3 [SIMPLE_EDGE]
+                           |<-Reducer 14 [CONTAINS]
                            |  Reduce Output Operator [RS_67]
                            |     key expressions:_col0 (type: string), _col1 (type: string)
                            |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
@@ -1053,99 +1052,124 @@
                            |     Group By Operator [GBY_66]
                            |        keys:_col0 (type: string), _col1 (type: string)
                            |        outputColumnNames:["_col0","_col1"]
-                           |        Select Operator [SEL_26]
+                           |        Select Operator [SEL_62]
                            |           outputColumnNames:["_col0","_col1"]
-                           |           Merge Join Operator [MERGEJOIN_162]
+                           |           Merge Join Operator [MERGEJOIN_168]
                            |           |  condition map:[{"":"Inner Join 0 to 1"}]
-                           |           |  keys:{"1":"_col3 (type: string)","0":"_col0 (type: string)"}
-                           |           |  outputColumnNames:["_col2","_col3"]
-                           |           |<-Reducer 11 [SIMPLE_EDGE]
-                           |           |  Reduce Output Operator [RS_24]
-                           |           |     key expressions:_col3 (type: string)
-                           |           |     Map-reduce partition columns:_col3 (type: string)
+                           |           |  keys:{"1":"_col1 (type: string)","0":"_col0 (type: string)"}
+                           |           |  outputColumnNames:["_col1","_col3"]
+                           |           |<-Map 13 [SIMPLE_EDGE]
+                           |           |  Reduce Output Operator [RS_58]
+                           |           |     key expressions:_col0 (type: string)
+                           |           |     Map-reduce partition columns:_col0 (type: string)
                            |           |     sort order:+
-                           |           |     Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-                           |           |     value expressions:_col1 (type: string), _col2 (type: string)
-                           |           |     Merge Join Operator [MERGEJOIN_159]
-                           |           |     |  condition map:[{"":"Inner Join 0 to 1"}]
-                           |           |     |  keys:{"1":"_col0 (type: string)","0":"_col0 (type: string)"}
-                           |           |     |  outputColumnNames:["_col1","_col2","_col3"]
-                           |           |     |  Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-                           |           |     |<-Map 10 [SIMPLE_EDGE]
-                           |           |     |  Reduce Output Operator [RS_16]
-                           |           |     |     key expressions:_col0 (type: string)
-                           |           |     |     Map-reduce partition columns:_col0 (type: string)
-                           |           |     |     sort order:+
-                           |           |     |     Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-                           |           |     |     value expressions:_col1 (type: string)
-                           |           |     |     Select Operator [SEL_12]
-                           |           |     |        outputColumnNames:["_col0","_col1"]
-                           |           |     |        Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-                           |           |     |        Filter Operator [FIL_146]
-                           |           |     |           predicate:key is not null (type: boolean)
-                           |           |     |           Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-                           |           |     |           TableScan [TS_11]
-                           |           |     |              alias:y
-                           |           |     |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-                           |           |     |<-Map 12 [SIMPLE_EDGE]
-                           |           |        Reduce Output Operator [RS_18]
-                           |           |           key expressions:_col0 (type: string)
-                           |           |           Map-reduce partition columns:_col0 (type: string)
-                           |           |           sort order:+
-                           |           |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                           |           |           value expressions:_col1 (type: string)
-                           |           |           Select Operator [SEL_14]
-                           |           |              outputColumnNames:["_col0","_col1"]
-                           |           |              Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                           |           |              Filter Operator [FIL_147]
-                           |           |                 predicate:(key is not null and value is not null) (type: boolean)
-                           |           |                 Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                           |           |                 TableScan [TS_13]
-                           |           |                    alias:x
-                           |           |                    Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
-                           |           |<-Reducer 3 [SIMPLE_EDGE]
-                           |              Reduce Output Operator [RS_22]
-                           |                 key expressions:_col0 (type: string)
-                           |                 Map-reduce partition columns:_col0 (type: string)
+                           |           |     Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                           |           |     value expressions:_col1 (type: string)
+                           |           |     Select Operator [SEL_28]
+                           |           |        outputColumnNames:["_col0","_col1"]
+                           |           |        Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                           |           |        Filter Operator [FIL_154]
+                           |           |           predicate:key is not null (type: boolean)
+                           |           |           Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                           |           |           TableScan [TS_27]
+                           |           |              alias:y
+                           |           |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                           |           |<-Reducer 20 [SIMPLE_EDGE]
+                           |              Reduce Output Operator [RS_60]
+                           |                 key expressions:_col1 (type: string)
+                           |                 Map-reduce partition columns:_col1 (type: string)
                            |                 sort order:+
-                           |                 Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-                           |                 Select Operator [SEL_10]
-                           |                    outputColumnNames:["_col0"]
-                           |                    Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-                           |                    Group By Operator [GBY_9]
-                           |                    |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-                           |                    |  outputColumnNames:["_col0","_col1"]
-                           |                    |  Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-                           |                    |<-Union 2 [SIMPLE_EDGE]
-                           |                       |<-Map 1 [CONTAINS]
-                           |                       |  Reduce Output Operator [RS_8]
-                           |                       |     key expressions:_col0 (type: string), _col1 (type: string)
-                           |                       |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                           |                       |     sort order:++
-                           |                       |     Group By Operator [GBY_7]
-                           |                       |        keys:_col0 (type: string), _col1 (type: string)
-                           |                       |        outputColumnNames:["_col0","_col1"]
-                           |                       |        Select Operator [SEL_1]
-                           |                       |           outputColumnNames:["_col0","_col1"]
-                           |                       |           Filter Operator [FIL_144]
-                           |                       |              predicate:value is not null (type: boolean)
-                           |                       |              TableScan [TS_0]
-                           |                       |                 alias:x
-                           |                       |<-Map 9 [CONTAINS]
-                           |                          Reduce Output Operator [RS_8]
-                           |                             key expressions:_col0 (type: string), _col1 (type: string)
-                           |                             Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                           |                             sort order:++
-                           |                             Group By Operator [GBY_7]
-                           |                                keys:_col0 (type: string), _col1 (type: string)
-                           |                                outputColumnNames:["_col0","_col1"]
-                           |                                Select Operator [SEL_3]
-                           |                                   outputColumnNames:["_col0","_col1"]
-                           |                                   Filter Operator [FIL_145]
-                           |                                      predicate:value is not null (type: boolean)
-                           |                                      TableScan [TS_2]
-                           |                                         alias:y
-                           |<-Reducer 18 [CONTAINS]
+                           |                 Statistics:Num rows: 209 Data size: 2208 Basic stats: COMPLETE Column stats: NONE
+                           |                 Merge Join Operator [MERGEJOIN_167]
+                           |                 |  condition map:[{"":"Inner Join 0 to 1"}]
+                           |                 |  keys:{"1":"_col1 (type: string)","0":"_col0 (type: string)"}
+                           |                 |  outputColumnNames:["_col1"]
+                           |                 |  Statistics:Num rows: 209 Data size: 2208 Basic stats: COMPLETE Column stats: NONE
+                           |                 |<-Map 23 [SIMPLE_EDGE]
+                           |                 |  Reduce Output Operator [RS_54]
+                           |                 |     key expressions:_col1 (type: string)
+                           |                 |     Map-reduce partition columns:_col1 (type: string)
+                           |                 |     sort order:+
+                           |                 |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                           |                 |     value expressions:_col0 (type: string)
+                           |                 |     Select Operator [SEL_50]
+                           |                 |        outputColumnNames:["_col0","_col1"]
+                           |                 |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                           |                 |        Filter Operator [FIL_158]
+                           |                 |           predicate:(value is not null and key is not null) (type: boolean)
+                           |                 |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                           |                 |           TableScan [TS_49]
+                           |                 |              alias:x
+                           |                 |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+                           |                 |<-Reducer 19 [SIMPLE_EDGE]
+                           |                    Reduce Output Operator [RS_52]
+                           |                       key expressions:_col0 (type: string)
+                           |                       Map-reduce partition columns:_col0 (type: string)
+                           |                       sort order:+
+                           |                       Statistics:Num rows: 190 Data size: 2008 Basic stats: COMPLETE Column stats: NONE
+                           |                       Select Operator [SEL_48]
+                           |                          outputColumnNames:["_col0"]
+                           |                          Statistics:Num rows: 190 Data size: 2008 Basic stats: COMPLETE Column stats: NONE
+                           |                          Group By Operator [GBY_47]
+                           |                          |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+                           |                          |  outputColumnNames:["_col0","_col1"]
+                           |                          |  Statistics:Num rows: 190 Data size: 2008 Basic stats: COMPLETE Column stats: NONE
+                           |                          |<-Union 18 [SIMPLE_EDGE]
+                           |                             |<-Map 22 [CONTAINS]
+                           |                             |  Reduce Output Operator [RS_46]
+                           |                             |     key expressions:_col0 (type: string), _col1 (type: string)
+                           |                             |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                           |                             |     sort order:++
+                           |                             |     Group By Operator [GBY_45]
+                           |                             |        keys:_col0 (type: string), _col1 (type: string)
+                           |                             |        outputColumnNames:["_col0","_col1"]
+                           |                             |        Select Operator [SEL_41]
+                           |                             |           outputColumnNames:["_col0","_col1"]
+                           |                             |           Filter Operator [FIL_157]
+                           |                             |              predicate:value is not null (type: boolean)
+                           |                             |              TableScan [TS_40]
+                           |                             |                 alias:y
+                           |                             |<-Reducer 17 [CONTAINS]
+                           |                                Reduce Output Operator [RS_46]
+                           |                                   key expressions:_col0 (type: string), _col1 (type: string)
+                           |                                   Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                           |                                   sort order:++
+                           |                                   Group By Operator [GBY_45]
+                           |                                      keys:_col0 (type: string), _col1 (type: string)
+                           |                                      outputColumnNames:["_col0","_col1"]
+                           |                                      Group By Operator [GBY_38]
+                           |                                      |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+                           |                                      |  outputColumnNames:["_col0","_col1"]
+                           |                                      |<-Union 16 [SIMPLE_EDGE]
+                           |                                         |<-Map 21 [CONTAINS]
+                           |                                         |  Reduce Output Operator [RS_37]
+                           |                                         |     key expressions:_col0 (type: string), _col1 (type: string)
+                           |                                         |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                           |                                         |     sort order:++
+                           |                                         |     Group By Operator [GBY_36]
+                           |                                         |        keys:_col0 (type: string), _col1 (type: string)
+                           |                                         |        outputColumnNames:["_col0","_col1"]
+                           |                                         |        Select Operator [SEL_32]
+                           |                                         |           outputColumnNames:["_col0","_col1"]
+                           |                                         |           Filter Operator [FIL_156]
+                           |                                         |              predicate:value is not null (type: boolean)
+                           |                                         |              TableScan [TS_31]
+                           |                                         |                 alias:y
+                           |                                         |<-Map 15 [CONTAINS]
+                           |                                            Reduce Output Operator [RS_37]
+                           |                                               key expressions:_col0 (type: string), _col1 (type: string)
+                           |                                               Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                           |                                               sort order:++
+                           |                                               Group By Operator [GBY_36]
+                           |                                                  keys:_col0 (type: string), _col1 (type: string)
+                           |                                                  outputColumnNames:["_col0","_col1"]
+                           |                                                  Select Operator [SEL_30]
+                           |                                                     outputColumnNames:["_col0","_col1"]
+                           |                                                     Filter Operator [FIL_155]
+                           |                                                        predicate:value is not null (type: boolean)
+                           |                                                        TableScan [TS_29]
+                           |                                                           alias:x
+                           |<-Reducer 2 [CONTAINS]
                               Reduce Output Operator [RS_67]
                                  key expressions:_col0 (type: string), _col1 (type: string)
                                  Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
@@ -1153,124 +1177,97 @@
                                  Group By Operator [GBY_66]
                                     keys:_col0 (type: string), _col1 (type: string)
                                     outputColumnNames:["_col0","_col1"]
-                                    Select Operator [SEL_62]
+                                    Select Operator [SEL_26]
                                        outputColumnNames:["_col0","_col1"]
-                                       Merge Join Operator [MERGEJOIN_163]
+                                       Merge Join Operator [MERGEJOIN_166]
                                        |  condition map:[{"":"Inner Join 0 to 1"}]
-                                       |  keys:{"1":"_col3 (type: string)","0":"_col0 (type: string)"}
-                                       |  outputColumnNames:["_col2","_col3"]
-                                       |<-Reducer 17 [SIMPLE_EDGE]
-                                       |  Reduce Output Operator [RS_58]
+                                       |  keys:{"1":"_col1 (type: string)","0":"_col0 (type: string)"}
+                                       |  outputColumnNames:["_col1","_col3"]
+                                       |<-Map 1 [SIMPLE_EDGE]
+                                       |  Reduce Output Operator [RS_22]
                                        |     key expressions:_col0 (type: string)
                                        |     Map-reduce partition columns:_col0 (type: string)
                                        |     sort order:+
-                                       |     Statistics:Num rows: 190 Data size: 2008 Basic stats: COMPLETE Column stats: NONE
-                                       |     Select Operator [SEL_46]
-                                       |        outputColumnNames:["_col0"]
-                                       |        Statistics:Num rows: 190 Data size: 2008 Basic stats: COMPLETE Column stats: NONE
-                                       |        Group By Operator [GBY_45]
-                                       |        |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-                                       |        |  outputColumnNames:["_col0","_col1"]
-                                       |        |  Statistics:Num rows: 190 Data size: 2008 Basic stats: COMPLETE Column stats: NONE
-                                       |        |<-Union 16 [SIMPLE_EDGE]
-                                       |           |<-Map 20 [CONTAINS]
-                                       |           |  Reduce Output Operator [RS_44]
-                                       |           |     key expressions:_col0 (type: string), _col1 (type: string)
-                                       |           |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                                       |           |     sort order:++
-                                       |           |     Group By Operator [GBY_43]
-                                       |           |        keys:_col0 (type: string), _col1 (type: string)
-                                       |           |        outputColumnNames:["_col0","_col1"]
-                                       |           |        Select Operator [SEL_39]
-                                       |           |           outputColumnNames:["_col0","_col1"]
-                                       |           |           Filter Operator [FIL_150]
-                                       |           |              predicate:value is not null (type: boolean)
-                                       |           |              TableScan [TS_38]
-                                       |           |                 alias:y
-                                       |           |<-Reducer 15 [CONTAINS]
-                                       |              Reduce Output Operator [RS_44]
-                                       |                 key expressions:_col0 (type: string), _col1 (type: string)
-                                       |                 Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                                       |                 sort order:++
-                                       |                 Group By Operator [GBY_43]
-                                       |                    keys:_col0 (type: string), _col1 (type: string)
-                                       |                    outputColumnNames:["_col0","_col1"]
-                                       |                    Group By Operator [GBY_36]
-                                       |                    |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-                                       |                    |  outputColumnNames:["_col0","_col1"]
-                                       |                    |<-Union 14 [SIMPLE_EDGE]
-                                       |                       |<-Map 13 [CONTAINS]
-                                       |                       |  Reduce Output Operator [RS_35]
-                                       |                       |     key expressions:_col0 (type: string), _col1 (type: string)
-                                       |                       |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                                       |                       |     sort order:++
-                                       |                       |     Group By Operator [GBY_34]
-                                       |                       |        keys:_col0 (type: string), _col1 (type: string)
-                                       |                       |        outputColumnNames:["_col0","_col1"]
-                                       |                       |        Select Operator [SEL_28]
-                                       |                       |           outputColumnNames:["_col0","_col1"]
-                                       |                       |           Filter Operator [FIL_148]
-                                       |                       |              predicate:value is not null (type: boolean)
-                                       |                       |              TableScan [TS_27]
-                                       |                       |                 alias:x
-                                       |                       |<-Map 19 [CONTAINS]
-                                       |                          Reduce Output Operator [RS_35]
-                                       |                             key expressions:_col0 (type: string), _col1 (type: string)
-                                       |                             Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                                       |                             sort order:++
-                                       |                             Group By Operator [GBY_34]
-                                       |                                keys:_col0 (type: string), _col1 (type: string)
-                                       |                                outputColumnNames:["_col0","_col1"]
-                                       |                                Select Operator [SEL_30]
-                                       |                                   outputColumnNames:["_col0","_col1"]
-                                       |                                   Filter Operator [FIL_149]
-                                       |                                      predicate:value is not null (type: boolean)
-                                       |                                      TableScan [TS_29]
-                                       |                                         alias:y
-                                       |<-Reducer 22 [SIMPLE_EDGE]
-                                          Reduce Output Operator [RS_60]
-                                             key expressions:_col3 (type: string)
-                                             Map-reduce partition columns:_col3 (type: string)
+                                       |     Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                                       |     value expressions:_col1 (type: string)
+                                       |     Select Operator [SEL_1]
+                                       |        outputColumnNames:["_col0","_col1"]
+                                       |        Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                                       |        Filter Operator [FIL_150]
+                                       |           predicate:key is not null (type: boolean)
+                                       |           Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                                       |           TableScan [TS_0]
+                                       |              alias:y
+                                       |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                                       |<-Reducer 10 [SIMPLE_EDGE]
+                                          Reduce Output Operator [RS_24]
+                                             key expressions:_col1 (type: string)
+                                             Map-reduce partition columns:_col1 (type: string)
                                              sort order:+
-                                             Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-                                             value expressions:_col1 (type: string), _col2 (type: string)
-                                             Merge Join Operator [MERGEJOIN_160]
+                                             Statistics:Num rows: 144 Data size: 1509 Basic stats: COMPLETE Column stats: NONE
+                                             Merge Join Operator [MERGEJOIN_165]
                                              |  condition map:[{"":"Inner Join 0 to 1"}]
-                                             |  keys:{"1":"_col0 (type: string)","0":"_col0 (type: string)"}
-                                             |  outputColumnNames:["_col1","_col2","_col3"]
-                                             |  Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-                                             |<-Map 21 [SIMPLE_EDGE]
-                                             |  Reduce Output Operator [RS_52]
-                                             |     key expressions:_col0 (type: string)
-                                             |     Map-reduce partition columns:_col0 (type: string)
+                                             |  keys:{"1":"_col1 (type: string)","0":"_col0 (type: string)"}
+                                             |  outputColumnNames:["_col1"]
+                                             |  Statistics:Num rows: 144 Data size: 1509 Basic stats: COMPLETE Column stats: NONE
+                                             |<-Map 12 [SIMPLE_EDGE]
+                                             |  Reduce Output Operator [RS_18]
+                                             |     key expressions:_col1 (type: string)
+                                             |     Map-reduce partition columns:_col1 (type: string)
                                              |     sort order:+
-                                             |     Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-                                             |     value expressions:_col1 (type: string)
-                                             |     Select Operator [SEL_48]
+                                             |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                                             |     value expressions:_col0 (type: string)
+                                             |     Select Operator [SEL_14]
                                              |        outputColumnNames:["_col0","_col1"]
-                                             |        Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-                                             |        Filter Operator [FIL_151]
-                                             |           predicate:key is not null (type: boolean)
-                                             |           Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-                                             |           TableScan [TS_47]
-                                             |              alias:y
-                                             |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-                                             |<-Map 23 [SIMPLE_EDGE]
-                                                Reduce Output Operator [RS_54]
+                                             |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                                             |        Filter Operator [FIL_153]
+                                             |           predicate:(value is not null and key is not null) (type: boolean)
+                                             |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                                             |           TableScan [TS_13]
+                                             |              alias:x
+                                             |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+                                             |<-Reducer 9 [SIMPLE_EDGE]
+                                                Reduce Output Operator [RS_16]
                                                    key expressions:_col0 (type: string)
                                                    Map-reduce partition columns:_col0 (type: string)
                                                    sort order:+
-                                                   Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                                                   value expressions:_col1 (type: string)
-                                                   Select Operator [SEL_50]
-                                                      outputColumnNames:["_col0","_col1"]
-                                                      Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                                                      Filter Operator [FIL_152]
-                                                         predicate:(key is not null and value is not null) (type: boolean)
-                                                         Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                                                         TableScan [TS_49]
-                                                            alias:x
-                                                            Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+                                                   Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
+                                                   Select Operator [SEL_12]
+                                                      outputColumnNames:["_col0"]
+                                                      Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
+                                                      Group By Operator [GBY_11]
+                                                      |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+                                                      |  outputColumnNames:["_col0","_col1"]
+                                                      |  Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
+                                                      |<-Union 8 [SIMPLE_EDGE]
+                                                         |<-Map 11 [CONTAINS]
+                                                         |  Reduce Output Operator [RS_10]
+                                                         |     key expressions:_col0 (type: string), _col1 (type: string)
+                                                         |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                                                         |     sort order:++
+                                                         |     Group By Operator [GBY_9]
+                                                         |        keys:_col0 (type: string), _col1 (type: string)
+                                                         |        outputColumnNames:["_col0","_col1"]
+                                                         |        Select Operator [SEL_5]
+                                                         |           outputColumnNames:["_col0","_col1"]
+                                                         |           Filter Operator [FIL_152]
+                                                         |              predicate:value is not null (type: boolean)
+                                                         |              TableScan [TS_4]
+                                                         |                 alias:y
+                                                         |<-Map 7 [CONTAINS]
+                                                            Reduce Output Operator [RS_10]
+                                                               key expressions:_col0 (type: string), _col1 (type: string)
+                                                               Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                                                               sort order:++
+                                                               Group By Operator [GBY_9]
+                                                                  keys:_col0 (type: string), _col1 (type: string)
+                                                                  outputColumnNames:["_col0","_col1"]
+                                                                  Select Operator [SEL_3]
+                                                                     outputColumnNames:["_col0","_col1"]
+                                                                     Filter Operator [FIL_151]
+                                                                        predicate:value is not null (type: boolean)
+                                                                        TableScan [TS_2]
+                                                                           alias:x
 PREHOOK: query: EXPLAIN
 SELECT x.key, z.value, y.value
 FROM src1 x JOIN src y ON (x.key = y.key) 
@@ -1301,7 +1298,7 @@
                Map Join Operator [MAPJOIN_29]
                |  condition map:[{"":"Inner Join 0 to 1"}]
                |  keys:{"Map 1":"_col0 (type: string)","Map 2":"_col3 (type: string)"}
-               |  outputColumnNames:["_col1","_col2","_col5"]
+               |  outputColumnNames:["_col0","_col4","_col5"]
                |  Statistics:Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
                |<-Map 1 [BROADCAST_EDGE]
                |  Reduce Output Operator [RS_14]
@@ -1309,45 +1306,44 @@
                |     Map-reduce partition columns:_col0 (type: string)
                |     sort order:+
                |     Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-               |     value expressions:_col1 (type: string)
-               |     Select Operator [SEL_1]
-               |        outputColumnNames:["_col0","_col1"]
+               |     Select Operator [SEL_2]
+               |        outputColumnNames:["_col0"]
                |        Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                |        Filter Operator [FIL_25]
-               |           predicate:key is not null (type: boolean)
+               |           predicate:value is not null (type: boolean)
                |           Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                |           TableScan [TS_0]
-               |              alias:y
+               |              alias:z
                |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
                |<-Map Join Operator [MAPJOIN_28]
                   |  condition map:[{"":"Inner Join 0 to 1"}]
-                  |  keys:{"Map 2":"_col0 (type: string)","Map 3":"_col1 (type: string)"}
-                  |  outputColumnNames:["_col0","_col3"]
+                  |  keys:{"Map 2":"_col0 (type: string)","Map 3":"_col0 (type: string)"}
+                  |  outputColumnNames:["_col1","_col2","_col3"]
                   |  Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
                   |<-Map 3 [BROADCAST_EDGE]
                   |  Reduce Output Operator [RS_10]
-                  |     key expressions:_col1 (type: string)
-                  |     Map-reduce partition columns:_col1 (type: string)
+                  |     key expressions:_col0 (type: string)
+                  |     Map-reduce partition columns:_col0 (type: string)
                   |     sort order:+
                   |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                  |     value expressions:_col0 (type: string)
+                  |     value expressions:_col1 (type: string)
                   |     Select Operator [SEL_6]
                   |        outputColumnNames:["_col0","_col1"]
                   |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
                   |        Filter Operator [FIL_27]
-                  |           predicate:(value is not null and key is not null) (type: boolean)
+                  |           predicate:(key is not null and value is not null) (type: boolean)
                   |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
                   |           TableScan [TS_5]
                   |              alias:x
                   |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
                   |<-Select Operator [SEL_4]
-                        outputColumnNames:["_col0"]
+                        outputColumnNames:["_col0","_col1"]
                         Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                         Filter Operator [FIL_26]
-                           predicate:value is not null (type: boolean)
+                           predicate:key is not null (type: boolean)
                            Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-                           TableScan [TS_2]
-                              alias:z
+                           TableScan [TS_3]
+                              alias:y
                               Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
 PREHOOK: query: EXPLAIN
 select 
@@ -1408,17 +1404,17 @@
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 2 <- Map 1 (BROADCAST_EDGE)
-Map 10 <- Map 9 (BROADCAST_EDGE)
-Map 5 <- Map 10 (BROADCAST_EDGE), Map 2 (BROADCAST_EDGE), Map 3 (BROADCAST_EDGE), Map 4 (BROADCAST_EDGE), Map 8 (BROADCAST_EDGE)
-Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
-Reducer 6 <- Map 5 (SIMPLE_EDGE)
+Map 2 <- Map 1 (BROADCAST_EDGE), Map 4 (BROADCAST_EDGE)
+Map 4 <- Map 3 (BROADCAST_EDGE)
+Map 7 <- Map 10 (BROADCAST_EDGE), Map 2 (BROADCAST_EDGE), Map 5 (BROADCAST_EDGE), Map 6 (BROADCAST_EDGE)
+Reducer 9 <- Reducer 8 (SIMPLE_EDGE)
+Reducer 8 <- Map 7 (SIMPLE_EDGE)
 
 Stage-0
    Fetch Operator
       limit:100
       Stage-1
-         Reducer 7
+         Reducer 9
          File Output Operator [FS_71]
             compressed:false
             Statistics:Num rows: 100 Data size: 1000 Basic stats: COMPLETE Column stats: NONE
@@ -1428,190 +1424,190 @@
                Statistics:Num rows: 100 Data size: 1000 Basic stats: COMPLETE Column stats: NONE
                Select Operator [SEL_69]
                |  outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"]
-               |  Statistics:Num rows: 402 Data size: 4276 Basic stats: COMPLETE Column stats: NONE
-               |<-Reducer 6 [SIMPLE_EDGE]
+               |  Statistics:Num rows: 365 Data size: 3882 Basic stats: COMPLETE Column stats: NONE
+               |<-Reducer 8 [SIMPLE_EDGE]
                   Reduce Output Operator [RS_68]
                      key expressions:_col0 (type: string), _col1 (type: string), _col2 (type: string)
                      sort order:+++
-                     Statistics:Num rows: 402 Data size: 4276 Basic stats: COMPLETE Column stats: NONE
+                     Statistics:Num rows: 365 Data size: 3882 Basic stats: COMPLETE Column stats: NONE
                      value expressions:_col3 (type: bigint), _col4 (type: bigint), _col5 (type: bigint)
                      Group By Operator [GBY_66]
                      |  aggregations:["count(VALUE._col0)","count(VALUE._col1)","count(VALUE._col2)"]
                      |  keys:KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: string)
                      |  outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                     |  Statistics:Num rows: 402 Data size: 4276 Basic stats: COMPLETE Column stats: NONE
-                     |<-Map 5 [SIMPLE_EDGE]
+                     |  Statistics:Num rows: 365 Data size: 3882 Basic stats: COMPLETE Column stats: NONE
+                     |<-Map 7 [SIMPLE_EDGE]
                         Reduce Output Operator [RS_65]
                            key expressions:_col0 (type: string), _col1 (type: string), _col2 (type: string)
                            Map-reduce partition columns:_col0 (type: string), _col1 (type: string), _col2 (type: string)
                            sort order:+++
-                           Statistics:Num rows: 804 Data size: 8552 Basic stats: COMPLETE Column stats: NONE
+                           Statistics:Num rows: 731 Data size: 7775 Basic stats: COMPLETE Column stats: NONE
                            value expressions:_col3 (type: bigint), _col4 (type: bigint), _col5 (type: bigint)
                            Group By Operator [GBY_64]
                               aggregations:["count(_col3)","count(_col4)","count(_col5)"]
                               keys:_col0 (type: string), _col1 (type: string), _col2 (type: string)
                               outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                              Statistics:Num rows: 804 Data size: 8552 Basic stats: COMPLETE Column stats: NONE
+                              Statistics:Num rows: 731 Data size: 7775 Basic stats: COMPLETE Column stats: NONE
                               Select Operator [SEL_62]
                                  outputColumnNames:["_col0","_col1","_col2","_col3","_col4","_col5"]
-                                 Statistics:Num rows: 804 Data size: 8552 Basic stats: COMPLETE Column stats: NONE
-                                 Map Join Operator [MAPJOIN_113]
+                                 Statistics:Num rows: 731 Data size: 7775 Basic stats: COMPLETE Column stats: NONE
+                                 Map Join Operator [MAPJOIN_111]
                                  |  condition map:[{"":"Inner Join 0 to 1"}]
-                                 |  keys:{"Map 2":"_col1 (type: string), _col3 (type: string)","Map 5":"_col15 (type: string), _col17 (type: string)"}
-                                 |  outputColumnNames:["_col2","_col3","_col12","_col13","_col20","_col21"]
-                                 |  Statistics:Num rows: 804 Data size: 8552 Basic stats: COMPLETE Column stats: NONE
+                                 |  keys:{"Map 2":"_col8 (type: string), _col10 (type: string)","Map 7":"_col8 (type: string), _col10 (type: string)"}
+                                 |  outputColumnNames:["_col2","_col3","_col8","_col9","_col20","_col21"]
+                                 |  Statistics:Num rows: 731 Data size: 7775 Basic stats: COMPLETE Column stats: NONE
                                  |<-Map 2 [BROADCAST_EDGE]
                                  |  Reduce Output Operator [RS_58]
-                                 |     key expressions:_col1 (type: string), _col3 (type: string)
-                                 |     Map-reduce partition columns:_col1 (type: string), _col3 (type: string)
+                                 |     key expressions:_col8 (type: string), _col10 (type: string)
+                                 |     Map-reduce partition columns:_col8 (type: string), _col10 (type: string)
                                  |     sort order:++
-                                 |     Statistics:Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
-                                 |     value expressions:_col2 (type: string)
-                                 |     Map Join Operator [MAPJOIN_107]
+                                 |     Statistics:Num rows: 150 Data size: 1606 Basic stats: COMPLETE Column stats: NONE
+                                 |     value expressions:_col2 (type: string), _col3 (type: string), _col9 (type: string)
+                                 |     Map Join Operator [MAPJOIN_110]
                                  |     |  condition map:[{"":"Inner Join 0 to 1"}]
-                                 |     |  keys:{"Map 1":"_col0 (type: string)","Map 2":"_col0 (type: string)"}
-                                 |     |  outputColumnNames:["_col1","_col2","_col3"]
-                                 |     |  Statistics:Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
-                                 |     |<-Map 1 [BROADCAST_EDGE]
-                                 |     |  Reduce Output Operator [RS_53]
-                                 |     |     key expressions:_col0 (type: string)
-                                 |     |     Map-reduce partition columns:_col0 (type: string)
-                                 |     |     sort order:+
-                                 |     |     Statistics:Num rows: 22 Data size: 762 Basic stats: COMPLETE Column stats: NONE
-                                 |     |     value expressions:_col1 (type: string), _col2 (type: string), _col3 (type: string)
-                                 |     |     Select Operator [SEL_1]
-                                 |     |        outputColumnNames:["_col0","_col1","_col2","_col3"]
-                                 |     |        Statistics:Num rows: 22 Data size: 762 Basic stats: COMPLETE Column stats: NONE
-                                 |     |        Filter Operator [FIL_99]
-                                 |     |           predicate:((k1 is not null and v2 is not null) and v3 is not null) (type: boolean)
-                                 |     |           Statistics:Num rows: 22 Data size: 762 Basic stats: COMPLETE Column stats: NONE
-                                 |     |           TableScan [TS_0]
-                                 |     |              alias:cs
-                                 |     |              Statistics:Num rows: 170 Data size: 5890 Basic stats: COMPLETE Column stats: NONE
-                                 |     |<-Select Operator [SEL_4]
-                                 |           outputColumnNames:["_col0"]
-                                 |           Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-                                 |           Filter Operator [FIL_100]
-                                 |              predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null) (type: boolean)
+                                 |     |  keys:{"Map 2":"_col1 (type: string), _col3 (type: string)","Map 4":"_col3 (type: string), _col5 (type: string)"}
+                                 |     |  outputColumnNames:["_col2","_col3","_col8","_col9","_col10"]
+                                 |     |  Statistics:Num rows: 150 Data size: 1606 Basic stats: COMPLETE Column stats: NONE
+                                 |     |<-Map 4 [BROADCAST_EDGE]
+                                 |     |  Reduce Output Operator [RS_55]
+                                 |     |     key expressions:_col3 (type: string), _col5 (type: string)
+                                 |     |     Map-reduce partition columns:_col3 (type: string), _col5 (type: string)
+                                 |     |     sort order:++
+                                 |     |     Statistics:Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
+                                 |     |     value expressions:_col2 (type: string), _col4 (type: string)
+                                 |     |     Map Join Operator [MAPJOIN_106]
+                                 |     |     |  condition map:[{"":"Inner Join 0 to 1"}]
+                                 |     |     |  keys:{"Map 3":"_col0 (type: string)","Map 4":"_col0 (type: string)"}
+                                 |     |     |  outputColumnNames:["_col2","_col3","_col4","_col5"]
+                                 |     |     |  Statistics:Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
+                                 |     |     |<-Map 3 [BROADCAST_EDGE]
+                                 |     |     |  Reduce Output Operator [RS_12]
+                                 |     |     |     key expressions:_col0 (type: string)
+                                 |     |     |     Map-reduce partition columns:_col0 (type: string)
+                                 |     |     |     sort order:+
+                                 |     |     |     Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
+                                 |     |     |     value expressions:_col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: string)
+                                 |     |     |     Select Operator [SEL_7]
+                                 |     |     |        outputColumnNames:["_col0","_col2","_col3","_col4","_col5"]
+                                 |     |     |        Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
+                                 |     |     |        Filter Operator [FIL_99]
+                                 |     |     |           predicate:((((((v1 = 'srv1') and k1 is not null) and v2 is not null) and v3 is not null) and k2 is not null) and k3 is not null) (type: boolean)
+                                 |     |     |           Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
+                                 |     |     |           TableScan [TS_5]
+                                 |     |     |              alias:sr
+                                 |     |     |              Statistics:Num rows: 85 Data size: 2945 Basic stats: COMPLETE Column stats: NONE
+                                 |     |     |<-Select Operator [SEL_10]
+                                 |     |           outputColumnNames:["_col0"]
+                                 |     |           Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+                                 |     |           Filter Operator [FIL_100]
+                                 |     |              predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null) (type: boolean)
+                                 |     |              Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+                                 |     |              TableScan [TS_8]
+                                 |     |                 alias:d1
+                                 |     |                 Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                                 |     |<-Map Join Operator [MAPJOIN_105]
+                                 |        |  condition map:[{"":"Inner Join 0 to 1"}]
+                                 |        |  keys:{"Map 1":"_col0 (type: string)","Map 2":"_col0 (type: string)"}
+                                 |        |  outputColumnNames:["_col1","_col2","_col3"]
+                                 |        |  Statistics:Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
+                                 |        |<-Map 1 [BROADCAST_EDGE]
+                                 |        |  Reduce Output Operator [RS_48]
+                                 |        |     key expressions:_col0 (type: string)
+                                 |        |     Map-reduce partition columns:_col0 (type: string)
+                                 |        |     sort order:+
+                                 |        |     Statistics:Num rows: 22 Data size: 762 Basic stats: COMPLETE Column stats: NONE
+                                 |        |     value expressions:_col1 (type: string), _col2 (type: string), _col3 (type: string)
+                                 |        |     Select Operator [SEL_1]
+                                 |        |        outputColumnNames:["_col0","_col1","_col2","_col3"]
+                                 |        |        Statistics:Num rows: 22 Data size: 762 Basic stats: COMPLETE Column stats: NONE
+                                 |        |        Filter Operator [FIL_97]
+                                 |        |           predicate:((k1 is not null and v2 is not null) and v3 is not null) (type: boolean)
+                                 |        |           Statistics:Num rows: 22 Data size: 762 Basic stats: COMPLETE Column stats: NONE
+                                 |        |           TableScan [TS_0]
+                                 |        |              alias:cs
+                                 |        |              Statistics:Num rows: 170 Data size: 5890 Basic stats: COMPLETE Column stats: NONE
+                                 |        |<-Select Operator [SEL_4]
+                                 |              outputColumnNames:["_col0"]
                                  |              Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-                                 |              TableScan [TS_2]
-                                 |                 alias:d1
-                                 |                 Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-                                 |<-Select Operator [SEL_51]
-                                       outputColumnNames:["_col14","_col15","_col17","_col6","_col7"]
-                                       Statistics:Num rows: 731 Data size: 7775 Basic stats: COMPLETE Column stats: NONE
-                                       Map Join Operator [MAPJOIN_112]
+                                 |              Filter Operator [FIL_98]
+                                 |                 predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null) (type: boolean)
+                                 |                 Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+                                 |                 TableScan [TS_2]
+                                 |                    alias:d1
+                                 |                    Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                                 |<-Select Operator [SEL_46]
+                                       outputColumnNames:["_col10","_col6","_col7","_col8"]
+                                       Statistics:Num rows: 665 Data size: 7069 Basic stats: COMPLETE Column stats: NONE
+                                       Map Join Operator [MAPJOIN_109]
                                        |  condition map:[{"":"Inner Join 0 to 1"}]
-                                       |  keys:{"Map 10":"_col2 (type: string), _col4 (type: string)","Map 5":"_col8 (type: string), _col10 (type: string)"}
-                                       |  outputColumnNames:["_col6","_col7","_col14","_col15","_col17"]
-                                       |  Statistics:Num rows: 731 Data size: 7775 Basic stats: COMPLETE Column stats: NONE
-                                       |<-Map 10 [BROADCAST_EDGE]
-                                       |  Reduce Output Operator [RS_49]
-                                       |     key expressions:_col2 (type: string), _col4 (type: string)
-                                       |     Map-reduce partition columns:_col2 (type: string), _col4 (type: string)
-                                       |     sort order:++
-                                       |     Statistics:Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
-                                       |     value expressions:_col3 (type: string), _col5 (type: string)
-                                       |     Map Join Operator [MAPJOIN_111]
-                                       |     |  condition map:[{"":"Inner Join 0 to 1"}]
-                                       |     |  keys:{"Map 10":"_col0 (type: string)","Map 9":"_col0 (type: string)"}
-                                       |     |  outputColumnNames:["_col2","_col3","_col4","_col5"]
-                                       |     |  Statistics:Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
-                                       |     |<-Map 9 [BROADCAST_EDGE]
-                                       |     |  Reduce Output Operator [RS_36]
-                                       |     |     key expressions:_col0 (type: string)
-                                       |     |     Map-reduce partition columns:_col0 (type: string)
-                                       |     |     sort order:+
-                                       |     |     Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
-                                       |     |     value expressions:_col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: string)
-                                       |     |     Select Operator [SEL_31]
-                                       |     |        outputColumnNames:["_col0","_col2","_col3","_col4","_col5"]
-                                       |     |        Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
-                                       |     |        Filter Operator [FIL_105]
-                                       |     |           predicate:((((((v1 = 'srv1') and k1 is not null) and k2 is not null) and k3 is not null) and v2 is not null) and v3 is not null) (type: boolean)
-                                       |     |           Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
-                                       |     |           TableScan [TS_29]
-                                       |     |              alias:sr
-                                       |     |              Statistics:Num rows: 85 Data size: 2945 Basic stats: COMPLETE Column stats: NONE
-                                       |     |<-Select Operator [SEL_34]
-                                       |           outputColumnNames:["_col0"]
-                                       |           Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-                                       |           Filter Operator [FIL_106]
-                                       |              predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null) (type: boolean)
-                                       |              Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-                                       |              TableScan [TS_32]
-                                       |                 alias:d1
-                                       |                 Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-                                       |<-Map Join Operator [MAPJOIN_110]
+                                       |  keys:{"Map 5":"_col1 (type: string)","Map 7":"_col5 (type: string)"}
+                                       |  outputColumnNames:["_col6","_col7","_col8","_col10"]
+                                       |  Statistics:Num rows: 665 Data size: 7069 Basic stats: COMPLETE Column stats: NONE
+                                       |<-Map 5 [BROADCAST_EDGE]
+                                       |  Reduce Output Operator [RS_42]
+                                       |     key expressions:_col1 (type: string)
+                                       |     Map-reduce partition columns:_col1 (type: string)
+                                       |     sort order:+
+                                       |     Statistics:Num rows: 6 Data size: 45 Basic stats: COMPLETE Column stats: NONE
+                                       |     Select Operator [SEL_19]
+                                       |        outputColumnNames:["_col1"]
+                                       |        Statistics:Num rows: 6 Data size: 45 Basic stats: COMPLETE Column stats: NONE
+                                       |        Filter Operator [FIL_101]
+                                       |           predicate:((key = 'src1key') and value is not null) (type: boolean)
+                                       |           Statistics:Num rows: 6 Data size: 45 Basic stats: COMPLETE Column stats: NONE
+                                       |           TableScan [TS_17]
+                                       |              alias:src1
+                                       |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+                                       |<-Map Join Operator [MAPJOIN_108]
                                           |  condition map:[{"":"Inner Join 0 to 1"}]
-                                          |  keys:{"Map 3":"_col1 (type: string)","Map 5":"_col5 (type: string)"}
-                                          |  outputColumnNames:["_col6","_col7","_col8","_col10"]
-                                          |  Statistics:Num rows: 665 Data size: 7069 Basic stats: COMPLETE Column stats: NONE
-                                          |<-Map 3 [BROADCAST_EDGE]
-                                          |  Reduce Output Operator [RS_42]
-                                          |     key expressions:_col1 (type: string)
-                                          |     Map-reduce partition columns:_col1 (type: string)
+                                          |  keys:{"Map 7":"_col2 (type: string)","Map 6":"_col0 (type: string)"}
+                                          |  outputColumnNames:["_col4","_col5","_col6","_col8"]
+                                          |  Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
+                                          |<-Map 6 [BROADCAST_EDGE]
+                                          |  Reduce Output Operator [RS_36]
+                                          |     key expressions:_col0 (type: string)
+                                          |     Map-reduce partition columns:_col0 (type: string)
                                           |     sort order:+
-                                          |     Statistics:Num rows: 6 Data size: 45 Basic stats: COMPLETE Column stats: NONE
-                                          |     Select Operator [SEL_7]
-                                          |        outputColumnNames:["_col1"]
-                                          |        Statistics:Num rows: 6 Data size: 45 Basic stats: COMPLETE Column stats: NONE
-                                          |        Filter Operator [FIL_101]
-                                          |           predicate:((key = 'src1key') and value is not null) (type: boolean)
-                                          |           Statistics:Num rows: 6 Data size: 45 Basic stats: COMPLETE Column stats: NONE
-                                          |           TableScan [TS_5]
-                                          |              alias:src1
-                                          |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
-                                          |<-Map Join Operator [MAPJOIN_109]
+                                          |     Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+                                          |     Select Operator [SEL_22]
+                                          |        outputColumnNames:["_col0"]
+                                          |        Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+                                          |        Filter Operator [FIL_102]
+                                          |           predicate:((value = 'd1value') and key is not null) (type: boolean)
+                                          |           Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+                                          |           TableScan [TS_20]
+                                          |              alias:d1
+                                          |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                                          |<-Map Join Operator [MAPJOIN_107]
                                              |  condition map:[{"":"Inner Join 0 to 1"}]
-                                             |  keys:{"Map 5":"_col2 (type: string)","Map 4":"_col0 (type: string)"}
-                                             |  outputColumnNames:["_col4","_col5","_col6","_col8"]
-                                             |  Statistics:Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
-                                             |<-Map 4 [BROADCAST_EDGE]
-                                             |  Reduce Output Operator [RS_24]
-                                             |     key expressions:_col0 (type: string)
-                                             |     Map-reduce partition columns:_col0 (type: string)
+                                             |  keys:{"Map 10":"_col3 (type: string)","Map 7":"_col1 (type: string)"}
+                                             |  outputColumnNames:["_col2","_col3","_col4","_col6"]
+                                             |  Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+                                             |<-Map 10 [BROADCAST_EDGE]
+                                             |  Reduce Output Operator [RS_32]
+                                             |     key expressions:_col3 (type: string)
+                                             |     Map-reduce partition columns:_col3 (type: string)
                                              |     sort order:+
-                                             |     Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-                                             |     Select Operator [SEL_10]
-                                             |        outputColumnNames:["_col0"]
-                                             |        Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-                                             |        Filter Operator [FIL_102]
-                                             |           predicate:((value = 'd1value') and key is not null) (type: boolean)
-                                             |           Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-                                             |           TableScan [TS_8]
-                                             |              alias:d1
-                                             |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-                                             |<-Map Join Operator [MAPJOIN_108]
-                                                |  condition map:[{"":"Inner Join 0 to 1"}]
-                                                |  keys:{"Map 5":"_col1 (type: string)","Map 8":"_col3 (type: string)"}
-                                                |  outputColumnNames:["_col2","_col3","_col4","_col6"]
-                                                |  Statistics:Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
-                                                |<-Map 8 [BROADCAST_EDGE]
-                                                |  Reduce Output Operator [RS_20]
-                                                |     key expressions:_col3 (type: string)
-                                                |     Map-reduce partition columns:_col3 (type: string)
-                                                |     sort order:+
-                                                |     Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
-                                                |     value expressions:_col0 (type: string), _col1 (type: string), _col2 (type: string), _col4 (type: string)
-                                                |     Select Operator [SEL_16]
-                                                |        outputColumnNames:["_col0","_col1","_col2","_col3","_col4"]
-                                                |        Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
-                                                |        Filter Operator [FIL_104]
-                                                |           predicate:((((((v3 = 'ssv3') and v2 is not null) and k1 is not null) and v1 is not null) and k2 is not null) and k3 is not null) (type: boolean)
-                                                |           Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
-                                                |           TableScan [TS_14]
-                                                |              alias:ss
-                                                |              Statistics:Num rows: 85 Data size: 2945 Basic stats: COMPLETE Column stats: NONE
-                                                |<-Select Operator [SEL_13]
-                                                      outputColumnNames:["_col1"]
+                                             |     Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
+                                             |     value expressions:_col0 (type: string), _col1 (type: string), _col2 (type: string), _col4 (type: string)
+                                             |     Select Operator [SEL_28]
+                                             |        outputColumnNames:["_col0","_col1","_col2","_col3","_col4"]
+                                             |        Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
+                                             |        Filter Operator [FIL_104]
+                                             |           predicate:((((((v3 = 'ssv3') and v2 is not null) and k1 is not null) and v1 is not null) and k2 is not null) and k3 is not null) (type: boolean)
+                                             |           Statistics:Num rows: 2 Data size: 69 Basic stats: COMPLETE Column stats: NONE
+                                             |           TableScan [TS_26]
+                                             |              alias:ss
+                                             |              Statistics:Num rows: 85 Data size: 2945 Basic stats: COMPLETE Column stats: NONE
+                                             |<-Select Operator [SEL_25]
+                                                   outputColumnNames:["_col1"]
+                                                   Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                                                   Filter Operator [FIL_103]
+                                                      predicate:((key = 'srcpartkey') and value is not null) (type: boolean)
                                                       Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-                                                      Filter Operator [FIL_103]
-                                                         predicate:((key = 'srcpartkey') and value is not null) (type: boolean)
-                                                         Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-                                                         TableScan [TS_11]
-                                                            alias:srcpart
-                                                            Statistics:Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+                                                      TableScan [TS_23]
+                                                         alias:srcpart
+                                                         Statistics:Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
 PREHOOK: query: explain
 SELECT x.key, z.value, y.value
 FROM src1 x JOIN src y ON (x.key = y.key) 
@@ -1633,31 +1629,31 @@
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 12 <- Union 10 (CONTAINS)
 Reducer 3 <- Union 2 (SIMPLE_EDGE)
-Reducer 11 <- Union 10 (SIMPLE_EDGE)
-Map 13 <- Map 14 (BROADCAST_EDGE), Reducer 11 (BROADCAST_EDGE), Union 6 (CONTAINS)
-Map 1 <- Union 2 (CONTAINS)
-Map 5 <- Map 8 (BROADCAST_EDGE), Reducer 3 (BROADCAST_EDGE), Union 6 (CONTAINS)
-Map 4 <- Union 2 (CONTAINS)
-Reducer 7 <- Union 6 (SIMPLE_EDGE)
-Map 9 <- Union 10 (CONTAINS)
+Reducer 12 <- Map 14 (BROADCAST_EDGE), Union 11 (SIMPLE_EDGE)
+Map 13 <- Union 11 (CONTAINS)
+Map 1 <- Reducer 6 (BROADCAST_EDGE), Union 2 (CONTAINS)
+Map 10 <- Union 11 (CONTAINS)
+Map 4 <- Union 5 (CONTAINS)
+Map 7 <- Union 5 (CONTAINS)
+Reducer 6 <- Map 8 (BROADCAST_EDGE), Union 5 (SIMPLE_EDGE)
+Map 9 <- Reducer 12 (BROADCAST_EDGE), Union 2 (CONTAINS)
 
 Stage-0
    Fetch Operator
       limit:-1
       Stage-1
-         Reducer 7
+         Reducer 3
          File Output Operator [FS_61]
             compressed:false
-            Statistics:Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
+            Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
             table:{"serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe","input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"}
             Group By Operator [GBY_59]
             |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
             |  outputColumnNames:["_col0","_col1"]
-            |  Statistics:Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
-            |<-Union 6 [SIMPLE_EDGE]
-               |<-Map 13 [CONTAINS]
+            |  Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
+            |<-Union 2 [SIMPLE_EDGE]
+               |<-Map 1 [CONTAINS]
                |  Reduce Output Operator [RS_58]
                |     key expressions:_col0 (type: string), _col1 (type: string)
                |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
@@ -1665,81 +1661,83 @@
                |     Group By Operator [GBY_57]
                |        keys:_col0 (type: string), _col1 (type: string)
                |        outputColumnNames:["_col0","_col1"]
-               |        Select Operator [SEL_53]
+               |        Select Operator [SEL_26]
                |           outputColumnNames:["_col0","_col1"]
                |           Map Join Operator [MAPJOIN_85]
                |           |  condition map:[{"":"Inner Join 0 to 1"}]
-               |           |  keys:{"Reducer 11":"_col0 (type: string)","Map 13":"_col2 (type: string)"}
-               |           |  outputColumnNames:["_col0","_col2"]
-               |           |<-Reducer 11 [BROADCAST_EDGE]
-               |           |  Reduce Output Operator [RS_49]
-               |           |     key expressions:_col0 (type: string)
-               |           |     Map-reduce partition columns:_col0 (type: string)
+               |           |  keys:{"Map 1":"_col0 (type: string)","Reducer 6":"_col1 (type: string)"}
+               |           |  outputColumnNames:["_col1","_col2"]
+               |           |<-Reducer 6 [BROADCAST_EDGE]
+               |           |  Reduce Output Operator [RS_24]
+               |           |     key expressions:_col1 (type: string)
+               |           |     Map-reduce partition columns:_col1 (type: string)
                |           |     sort order:+
-               |           |     Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-               |           |     Select Operator [SEL_37]
-               |           |        outputColumnNames:["_col0"]
-               |           |        Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-               |           |        Group By Operator [GBY_36]
-               |           |        |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-               |           |        |  outputColumnNames:["_col0","_col1"]
-               |           |        |  Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-               |           |        |<-Union 10 [SIMPLE_EDGE]
-               |           |           |<-Map 12 [CONTAINS]
-               |           |           |  Reduce Output Operator [RS_35]
-               |           |           |     key expressions:_col0 (type: string), _col1 (type: string)
-               |           |           |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |           |     sort order:++
-               |           |           |     Group By Operator [GBY_34]
-               |           |           |        keys:_col0 (type: string), _col1 (type: string)
-               |           |           |        outputColumnNames:["_col0","_col1"]
-               |           |           |        Select Operator [SEL_30]
-               |           |           |           outputColumnNames:["_col0","_col1"]
-               |           |           |           Filter Operator [FIL_79]
-               |           |           |              predicate:value is not null (type: boolean)
-               |           |           |              TableScan [TS_29]
-               |           |           |                 alias:y
-               |           |           |<-Map 9 [CONTAINS]
-               |           |              Reduce Output Operator [RS_35]
-               |           |                 key expressions:_col0 (type: string), _col1 (type: string)
-               |           |                 Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |                 sort order:++
-               |           |                 Group By Operator [GBY_34]
-               |           |                    keys:_col0 (type: string), _col1 (type: string)
-               |           |                    outputColumnNames:["_col0","_col1"]
-               |           |                    Select Operator [SEL_28]
+               |           |     Statistics:Num rows: 144 Data size: 1509 Basic stats: COMPLETE Column stats: NONE
+               |           |     value expressions:_col0 (type: string)
+               |           |     Map Join Operator [MAPJOIN_84]
+               |           |     |  condition map:[{"":"Inner Join 0 to 1"}]
+               |           |     |  keys:{"Reducer 6":"_col0 (type: string)","Map 8":"_col1 (type: string)"}
+               |           |     |  outputColumnNames:["_col0","_col1"]
+               |           |     |  Statistics:Num rows: 144 Data size: 1509 Basic stats: COMPLETE Column stats: NONE
+               |           |     |<-Map 8 [BROADCAST_EDGE]
+               |           |     |  Reduce Output Operator [RS_18]
+               |           |     |     key expressions:_col1 (type: string)
+               |           |     |     Map-reduce partition columns:_col1 (type: string)
+               |           |     |     sort order:+
+               |           |     |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+               |           |     |     value expressions:_col0 (type: string)
+               |           |     |     Select Operator [SEL_14]
+               |           |     |        outputColumnNames:["_col0","_col1"]
+               |           |     |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+               |           |     |        Filter Operator [FIL_79]
+               |           |     |           predicate:(value is not null and key is not null) (type: boolean)
+               |           |     |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+               |           |     |           TableScan [TS_13]
+               |           |     |              alias:x
+               |           |     |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+               |           |     |<-Select Operator [SEL_12]
+               |           |           outputColumnNames:["_col0"]
+               |           |           Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
+               |           |           Group By Operator [GBY_11]
+               |           |           |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+               |           |           |  outputColumnNames:["_col0","_col1"]
+               |           |           |  Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
+               |           |           |<-Union 5 [SIMPLE_EDGE]
+               |           |              |<-Map 4 [CONTAINS]
+               |           |              |  Reduce Output Operator [RS_10]
+               |           |              |     key expressions:_col0 (type: string), _col1 (type: string)
+               |           |              |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |           |              |     sort order:++
+               |           |              |     Group By Operator [GBY_9]
+               |           |              |        keys:_col0 (type: string), _col1 (type: string)
+               |           |              |        outputColumnNames:["_col0","_col1"]
+               |           |              |        Select Operator [SEL_3]
+               |           |              |           outputColumnNames:["_col0","_col1"]
+               |           |              |           Filter Operator [FIL_77]
+               |           |              |              predicate:value is not null (type: boolean)
+               |           |              |              TableScan [TS_2]
+               |           |              |                 alias:x
+               |           |              |<-Map 7 [CONTAINS]
+               |           |                 Reduce Output Operator [RS_10]
+               |           |                    key expressions:_col0 (type: string), _col1 (type: string)
+               |           |                    Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |           |                    sort order:++
+               |           |                    Group By Operator [GBY_9]
+               |           |                       keys:_col0 (type: string), _col1 (type: string)
                |           |                       outputColumnNames:["_col0","_col1"]
-               |           |                       Filter Operator [FIL_78]
-               |           |                          predicate:value is not null (type: boolean)
-               |           |                          TableScan [TS_27]
-               |           |                             alias:x
-               |           |<-Map Join Operator [MAPJOIN_83]
-               |              |  condition map:[{"":"Inner Join 0 to 1"}]
-               |              |  keys:{"Map 14":"_col0 (type: string)","Map 13":"_col0 (type: string)"}
-               |              |  outputColumnNames:["_col1","_col2"]
-               |              |<-Map 14 [BROADCAST_EDGE]
-               |              |  Reduce Output Operator [RS_45]
-               |              |     key expressions:_col0 (type: string)
-               |              |     Map-reduce partition columns:_col0 (type: string)
-               |              |     sort order:+
-               |              |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-               |              |     value expressions:_col1 (type: string)
-               |              |     Select Operator [SEL_41]
-               |              |        outputColumnNames:["_col0","_col1"]
-               |              |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-               |              |        Filter Operator [FIL_81]
-               |              |           predicate:(key is not null and value is not null) (type: boolean)
-               |              |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-               |              |           TableScan [TS_40]
-               |              |              alias:x
-               |              |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
-               |              |<-Select Operator [SEL_39]
-               |                    outputColumnNames:["_col0"]
-               |                    Filter Operator [FIL_80]
-               |                       predicate:key is not null (type: boolean)
-               |                       TableScan [TS_38]
-               |                          alias:y
-               |<-Map 5 [CONTAINS]
+               |           |                       Select Operator [SEL_5]
+               |           |                          outputColumnNames:["_col0","_col1"]
+               |           |                          Filter Operator [FIL_78]
+               |           |                             predicate:value is not null (type: boolean)
+               |           |                             TableScan [TS_4]
+               |           |                                alias:y
+               |           |<-Select Operator [SEL_1]
+               |                 outputColumnNames:["_col0"]
+               |                 Filter Operator [FIL_76]
+               |                    predicate:key is not null (type: boolean)
+               |                    TableScan [TS_0]
+               |                       alias:y
+               |<-Map 9 [CONTAINS]
                   Reduce Output Operator [RS_58]
                      key expressions:_col0 (type: string), _col1 (type: string)
                      Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
@@ -1747,80 +1745,82 @@
                      Group By Operator [GBY_57]
                         keys:_col0 (type: string), _col1 (type: string)
                         outputColumnNames:["_col0","_col1"]
-                        Select Operator [SEL_26]
+                        Select Operator [SEL_53]
                            outputColumnNames:["_col0","_col1"]
-                           Map Join Operator [MAPJOIN_84]
+                           Map Join Operator [MAPJOIN_87]
                            |  condition map:[{"":"Inner Join 0 to 1"}]
-                           |  keys:{"Reducer 3":"_col0 (type: string)","Map 5":"_col2 (type: string)"}
-                           |  outputColumnNames:["_col0","_col2"]
-                           |<-Reducer 3 [BROADCAST_EDGE]
-                           |  Reduce Output Operator [RS_22]
-                           |     key expressions:_col0 (type: string)
-                           |     Map-reduce partition columns:_col0 (type: string)
+                           |  keys:{"Reducer 12":"_col1 (type: string)","Map 9":"_col0 (type: string)"}
+                           |  outputColumnNames:["_col1","_col2"]
+                           |<-Reducer 12 [BROADCAST_EDGE]
+                           |  Reduce Output Operator [RS_51]
+                           |     key expressions:_col1 (type: string)
+                           |     Map-reduce partition columns:_col1 (type: string)
                            |     sort order:+
-                           |     Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-                           |     Select Operator [SEL_10]
-                           |        outputColumnNames:["_col0"]
-                           |        Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-                           |        Group By Operator [GBY_9]
-                           |        |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-                           |        |  outputColumnNames:["_col0","_col1"]
-                           |        |  Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-                           |        |<-Union 2 [SIMPLE_EDGE]
-                           |           |<-Map 1 [CONTAINS]
-                           |           |  Reduce Output Operator [RS_8]
-                           |           |     key expressions:_col0 (type: string), _col1 (type: string)
-                           |           |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                           |           |     sort order:++
-                           |           |     Group By Operator [GBY_7]
-                           |           |        keys:_col0 (type: string), _col1 (type: string)
-                           |           |        outputColumnNames:["_col0","_col1"]
-                           |           |        Select Operator [SEL_1]
-                           |           |           outputColumnNames:["_col0","_col1"]
-                           |           |           Filter Operator [FIL_74]
-                           |           |              predicate:value is not null (type: boolean)
-                           |           |              TableScan [TS_0]
-                           |           |                 alias:x
-                           |           |<-Map 4 [CONTAINS]
-                           |              Reduce Output Operator [RS_8]
-                           |                 key expressions:_col0 (type: string), _col1 (type: string)
-                           |                 Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                           |                 sort order:++
-                           |                 Group By Operator [GBY_7]
-                           |                    keys:_col0 (type: string), _col1 (type: string)
-                           |                    outputColumnNames:["_col0","_col1"]
-                           |                    Select Operator [SEL_3]
+                           |     Statistics:Num rows: 144 Data size: 1509 Basic stats: COMPLETE Column stats: NONE
+                           |     value expressions:_col0 (type: string)
+                           |     Map Join Operator [MAPJOIN_86]
+                           |     |  condition map:[{"":"Inner Join 0 to 1"}]
+                           |     |  keys:{"Map 14":"_col1 (type: string)","Reducer 12":"_col0 (type: string)"}
+                           |     |  outputColumnNames:["_col0","_col1"]
+                           |     |  Statistics:Num rows: 144 Data size: 1509 Basic stats: COMPLETE Column stats: NONE
+                           |     |<-Map 14 [BROADCAST_EDGE]
+                           |     |  Reduce Output Operator [RS_45]
+                           |     |     key expressions:_col1 (type: string)
+                           |     |     Map-reduce partition columns:_col1 (type: string)
+                           |     |     sort order:+
+                           |     |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                           |     |     value expressions:_col0 (type: string)
+                           |     |     Select Operator [SEL_41]
+                           |     |        outputColumnNames:["_col0","_col1"]
+                           |     |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                           |     |        Filter Operator [FIL_83]
+                           |     |           predicate:(value is not null and key is not null) (type: boolean)
+                           |     |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                           |     |           TableScan [TS_40]
+                           |     |              alias:x
+                           |     |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+                           |     |<-Select Operator [SEL_39]
+                           |           outputColumnNames:["_col0"]
+                           |           Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
+                           |           Group By Operator [GBY_38]
+                           |           |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+                           |           |  outputColumnNames:["_col0","_col1"]
+                           |           |  Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
+                           |           |<-Union 11 [SIMPLE_EDGE]
+                           |              |<-Map 13 [CONTAINS]
+                           |              |  Reduce Output Operator [RS_37]
+                           |              |     key expressions:_col0 (type: string), _col1 (type: string)
+                           |              |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                           |              |     sort order:++
+                           |              |     Group By Operator [GBY_36]
+                           |              |        keys:_col0 (type: string), _col1 (type: string)
+                           |              |        outputColumnNames:["_col0","_col1"]
+                           |              |        Select Operator [SEL_32]
+                           |              |           outputColumnNames:["_col0","_col1"]
+                           |              |           Filter Operator [FIL_82]
+                           |              |              predicate:value is not null (type: boolean)
+                           |              |              TableScan [TS_31]
+                           |              |                 alias:y
+                           |              |<-Map 10 [CONTAINS]
+                           |                 Reduce Output Operator [RS_37]
+                           |                    key expressions:_col0 (type: string), _col1 (type: string)
+                           |                    Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                           |                    sort order:++
+                           |                    Group By Operator [GBY_36]
+                           |                       keys:_col0 (type: string), _col1 (type: string)
                            |                       outputColumnNames:["_col0","_col1"]
-                           |                       Filter Operator [FIL_75]
-                           |                          predicate:value is not null (type: boolean)
-                           |                          TableScan [TS_2]
-                           |                             alias:y
-                           |<-Map Join Operator [MAPJOIN_82]
-                              |  condition map:[{"":"Inner Join 0 to 1"}]
-                              |  keys:{"Map 5":"_col0 (type: string)","Map 8":"_col0 (type: string)"}
-                              |  outputColumnNames:["_col1","_col2"]
-                              |<-Map 8 [BROADCAST_EDGE]
-                              |  Reduce Output Operator [RS_18]
-                              |     key expressions:_col0 (type: string)
-                              |     Map-reduce partition columns:_col0 (type: string)
-                              |     sort order:+
-                              |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                              |     value expressions:_col1 (type: string)
-                              |     Select Operator [SEL_14]
-                              |        outputColumnNames:["_col0","_col1"]
-                              |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                              |        Filter Operator [FIL_77]
-                              |           predicate:(key is not null and value is not null) (type: boolean)
-                              |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                              |           TableScan [TS_13]
-                              |              alias:x
-                              |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
-                              |<-Select Operator [SEL_12]
-                                    outputColumnNames:["_col0"]
-                                    Filter Operator [FIL_76]
-                                       predicate:key is not null (type: boolean)
-                                       TableScan [TS_11]
-                                          alias:y
+                           |                       Select Operator [SEL_30]
+                           |                          outputColumnNames:["_col0","_col1"]
+                           |                          Filter Operator [FIL_81]
+                           |                             predicate:value is not null (type: boolean)
+                           |                             TableScan [TS_29]
+                           |                                alias:x
+                           |<-Select Operator [SEL_28]
+                                 outputColumnNames:["_col0"]
+                                 Filter Operator [FIL_80]
+                                    predicate:key is not null (type: boolean)
+                                    TableScan [TS_27]
+                                       alias:y
 PREHOOK: query: explain
 SELECT x.key, y.value
 FROM src1 x JOIN src y ON (x.key = y.key) 
@@ -1850,42 +1850,42 @@
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Reducer 22 <- Union 21 (SIMPLE_EDGE), Union 23 (CONTAINS)
-Reducer 13 <- Union 12 (SIMPLE_EDGE), Union 14 (CONTAINS)
-Map 30 <- Map 31 (BROADCAST_EDGE), Reducer 26 (BROADCAST_EDGE), Union 8 (CONTAINS)
-Map 11 <- Union 12 (CONTAINS)
-Reducer 24 <- Union 23 (SIMPLE_EDGE), Union 25 (CONTAINS)
-Map 1 <- Union 2 (CONTAINS)
-Map 20 <- Union 21 (CONTAINS)
-Reducer 7 <- Union 6 (SIMPLE_EDGE), Union 8 (CONTAINS)
-Reducer 9 <- Union 8 (SIMPLE_EDGE)
-Reducer 26 <- Union 25 (SIMPLE_EDGE)
-Map 16 <- Union 12 (CONTAINS)
-Map 29 <- Union 25 (CONTAINS)
-Map 28 <- Union 23 (CONTAINS)
-Reducer 15 <- Union 14 (SIMPLE_EDGE)
-Map 18 <- Map 19 (BROADCAST_EDGE), Reducer 15 (BROADCAST_EDGE), Union 6 (CONTAINS)
-Map 27 <- Union 21 (CONTAINS)
-Map 17 <- Union 14 (CONTAINS)
-Reducer 3 <- Union 2 (SIMPLE_EDGE)
-Map 5 <- Map 10 (BROADCAST_EDGE), Reducer 3 (BROADCAST_EDGE), Union 6 (CONTAINS)
-Map 4 <- Union 2 (CONTAINS)
+Map 12 <- Union 13 (CONTAINS)
+Map 30 <- Union 26 (CONTAINS)
+Reducer 23 <- Union 22 (SIMPLE_EDGE), Union 24 (CONTAINS)
+Reducer 14 <- Union 13 (SIMPLE_EDGE), Union 15 (CONTAINS)
+Map 11 <- Reducer 16 (BROADCAST_EDGE), Union 2 (CONTAINS)
+Reducer 25 <- Union 24 (SIMPLE_EDGE), Union 26 (CONTAINS)
+Map 21 <- Union 22 (CONTAINS)
+Map 1 <- Reducer 8 (BROADCAST_EDGE), Union 2 (CONTAINS)
+Map 20 <- Reducer 27 (BROADCAST_EDGE), Union 4 (CONTAINS)
+Reducer 5 <- Union 4 (SIMPLE_EDGE)
+Map 29 <- Union 24 (CONTAINS)
+Reducer 8 <- Map 10 (BROADCAST_EDGE), Union 7 (SIMPLE_EDGE)
+Reducer 27 <- Map 31 (BROADCAST_EDGE), Union 26 (SIMPLE_EDGE)
+Map 28 <- Union 22 (CONTAINS)
+Map 18 <- Union 15 (CONTAINS)
+Reducer 16 <- Map 19 (BROADCAST_EDGE), Union 15 (SIMPLE_EDGE)
+Map 17 <- Union 13 (CONTAINS)
+Reducer 3 <- Union 2 (SIMPLE_EDGE), Union 4 (CONTAINS)
+Map 6 <- Union 7 (CONTAINS)
+Map 9 <- Union 7 (CONTAINS)
 
 Stage-0
    Fetch Operator
       limit:-1
       Stage-1
-         Reducer 9
+         Reducer 5
          File Output Operator [FS_122]
             compressed:false
-            Statistics:Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
+            Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
             table:{"serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe","input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"}
             Group By Operator [GBY_120]
             |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
             |  outputColumnNames:["_col0","_col1"]
-            |  Statistics:Num rows: 302 Data size: 3213 Basic stats: COMPLETE Column stats: NONE
-            |<-Union 8 [SIMPLE_EDGE]
-               |<-Map 30 [CONTAINS]
+            |  Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
+            |<-Union 4 [SIMPLE_EDGE]
+               |<-Map 20 [CONTAINS]
                |  Reduce Output Operator [RS_119]
                |     key expressions:_col0 (type: string), _col1 (type: string)
                |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
@@ -1895,131 +1895,132 @@
                |        outputColumnNames:["_col0","_col1"]
                |        Select Operator [SEL_114]
                |           outputColumnNames:["_col0","_col1"]
-               |           Map Join Operator [MAPJOIN_164]
+               |           Map Join Operator [MAPJOIN_170]
                |           |  condition map:[{"":"Inner Join 0 to 1"}]
-               |           |  keys:{"Map 30":"_col3 (type: string)","Reducer 26":"_col0 (type: string)"}
-               |           |  outputColumnNames:["_col2","_col3"]
-               |           |<-Reducer 26 [BROADCAST_EDGE]
-               |           |  Reduce Output Operator [RS_110]
-               |           |     key expressions:_col0 (type: string)
-               |           |     Map-reduce partition columns:_col0 (type: string)
+               |           |  keys:{"Map 20":"_col0 (type: string)","Reducer 27":"_col1 (type: string)"}
+               |           |  outputColumnNames:["_col1","_col3"]
+               |           |<-Reducer 27 [BROADCAST_EDGE]
+               |           |  Reduce Output Operator [RS_112]
+               |           |     key expressions:_col1 (type: string)
+               |           |     Map-reduce partition columns:_col1 (type: string)
                |           |     sort order:+
-               |           |     Statistics:Num rows: 220 Data size: 2332 Basic stats: COMPLETE Column stats: NONE
-               |           |     Select Operator [SEL_98]
-               |           |        outputColumnNames:["_col0"]
-               |           |        Statistics:Num rows: 220 Data size: 2332 Basic stats: COMPLETE Column stats: NONE
-               |           |        Group By Operator [GBY_97]
-               |           |        |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-               |           |        |  outputColumnNames:["_col0","_col1"]
-               |           |        |  Statistics:Num rows: 220 Data size: 2332 Basic stats: COMPLETE Column stats: NONE
-               |           |        |<-Union 25 [SIMPLE_EDGE]
-               |           |           |<-Reducer 24 [CONTAINS]
-               |           |           |  Reduce Output Operator [RS_96]
-               |           |           |     key expressions:_col0 (type: string), _col1 (type: string)
-               |           |           |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |           |     sort order:++
-               |           |           |     Group By Operator [GBY_95]
-               |           |           |        keys:_col0 (type: string), _col1 (type: string)
-               |           |           |        outputColumnNames:["_col0","_col1"]
-               |           |           |        Group By Operator [GBY_88]
-               |           |           |        |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-               |           |           |        |  outputColumnNames:["_col0","_col1"]
-               |           |           |        |<-Union 23 [SIMPLE_EDGE]
-               |           |           |           |<-Reducer 22 [CONTAINS]
-               |           |           |           |  Reduce Output Operator [RS_87]
-               |           |           |           |     key expressions:_col0 (type: string), _col1 (type: string)
-               |           |           |           |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |           |           |     sort order:++
-               |           |           |           |     Group By Operator [GBY_86]
-               |           |           |           |        keys:_col0 (type: string), _col1 (type: string)
-               |           |           |           |        outputColumnNames:["_col0","_col1"]
-               |           |           |           |        Group By Operator [GBY_79]
-               |           |           |           |        |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-               |           |           |           |        |  outputColumnNames:["_col0","_col1"]
-               |           |           |           |        |<-Union 21 [SIMPLE_EDGE]
-               |           |           |           |           |<-Map 20 [CONTAINS]
-               |           |           |           |           |  Reduce Output Operator [RS_78]
-               |           |           |           |           |     key expressions:_col0 (type: string), _col1 (type: string)
-               |           |           |           |           |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |           |           |           |     sort order:++
-               |           |           |           |           |     Group By Operator [GBY_77]
-               |           |           |           |           |        keys:_col0 (type: string), _col1 (type: string)
-               |           |           |           |           |        outputColumnNames:["_col0","_col1"]
-               |           |           |           |           |        Select Operator [SEL_71]
-               |           |           |           |           |           outputColumnNames:["_col0","_col1"]
-               |           |           |           |           |           Filter Operator [FIL_153]
-               |           |           |           |           |              predicate:value is not null (type: boolean)
-               |           |           |           |           |              TableScan [TS_70]
-               |           |           |           |           |                 alias:x
-               |           |           |           |           |<-Map 27 [CONTAINS]
-               |           |           |           |              Reduce Output Operator [RS_78]
-               |           |           |           |                 key expressions:_col0 (type: string), _col1 (type: string)
-               |           |           |           |                 Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |           |           |                 sort order:++
-               |           |           |           |                 Group By Operator [GBY_77]
-               |           |           |           |                    keys:_col0 (type: string), _col1 (type: string)
-               |           |           |           |                    outputColumnNames:["_col0","_col1"]
-               |           |           |           |                    Select Operator [SEL_73]
-               |           |           |           |                       outputColumnNames:["_col0","_col1"]
-               |           |           |           |                       Filter Operator [FIL_154]
-               |           |           |           |                          predicate:value is not null (type: boolean)
-               |           |           |           |                          TableScan [TS_72]
-               |           |           |           |                             alias:y
-               |           |           |           |<-Map 28 [CONTAINS]
-               |           |           |              Reduce Output Operator [RS_87]
-               |           |           |                 key expressions:_col0 (type: string), _col1 (type: string)
-               |           |           |                 Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |           |                 sort order:++
-               |           |           |                 Group By Operator [GBY_86]
-               |           |           |                    keys:_col0 (type: string), _col1 (type: string)
-               |           |           |                    outputColumnNames:["_col0","_col1"]
-               |           |           |                    Select Operator [SEL_82]
-               |           |           |                       outputColumnNames:["_col0","_col1"]
-               |           |           |                       Filter Operator [FIL_155]
-               |           |           |                          predicate:value is not null (type: boolean)
-               |           |           |                          TableScan [TS_81]
-               |           |           |                             alias:y
-               |           |           |<-Map 29 [CONTAINS]
-               |           |              Reduce Output Operator [RS_96]
-               |           |                 key expressions:_col0 (type: string), _col1 (type: string)
-               |           |                 Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |                 sort order:++
-               |           |                 Group By Operator [GBY_95]
-               |           |                    keys:_col0 (type: string), _col1 (type: string)
-               |           |                    outputColumnNames:["_col0","_col1"]
-               |           |                    Select Operator [SEL_91]
+               |           |     Statistics:Num rows: 242 Data size: 2565 Basic stats: COMPLETE Column stats: NONE
+               |           |     Map Join Operator [MAPJOIN_169]
+               |           |     |  condition map:[{"":"Inner Join 0 to 1"}]
+               |           |     |  keys:{"Map 31":"_col1 (type: string)","Reducer 27":"_col0 (type: string)"}
+               |           |     |  outputColumnNames:["_col1"]
+               |           |     |  Statistics:Num rows: 242 Data size: 2565 Basic stats: COMPLETE Column stats: NONE
+               |           |     |<-Map 31 [BROADCAST_EDGE]
+               |           |     |  Reduce Output Operator [RS_106]
+               |           |     |     key expressions:_col1 (type: string)
+               |           |     |     Map-reduce partition columns:_col1 (type: string)
+               |           |     |     sort order:+
+               |           |     |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+               |           |     |     value expressions:_col0 (type: string)
+               |           |     |     Select Operator [SEL_102]
+               |           |     |        outputColumnNames:["_col0","_col1"]
+               |           |     |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+               |           |     |        Filter Operator [FIL_164]
+               |           |     |           predicate:(value is not null and key is not null) (type: boolean)
+               |           |     |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+               |           |     |           TableScan [TS_101]
+               |           |     |              alias:x
+               |           |     |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+               |           |     |<-Select Operator [SEL_100]
+               |           |           outputColumnNames:["_col0"]
+               |           |           Statistics:Num rows: 220 Data size: 2332 Basic stats: COMPLETE Column stats: NONE
+               |           |           Group By Operator [GBY_99]
+               |           |           |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+               |           |           |  outputColumnNames:["_col0","_col1"]
+               |           |           |  Statistics:Num rows: 220 Data size: 2332 Basic stats: COMPLETE Column stats: NONE
+               |           |           |<-Union 26 [SIMPLE_EDGE]
+               |           |              |<-Map 30 [CONTAINS]
+               |           |              |  Reduce Output Operator [RS_98]
+               |           |              |     key expressions:_col0 (type: string), _col1 (type: string)
+               |           |              |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |           |              |     sort order:++
+               |           |              |     Group By Operator [GBY_97]
+               |           |              |        keys:_col0 (type: string), _col1 (type: string)
+               |           |              |        outputColumnNames:["_col0","_col1"]
+               |           |              |        Select Operator [SEL_93]
+               |           |              |           outputColumnNames:["_col0","_col1"]
+               |           |              |           Filter Operator [FIL_163]
+               |           |              |              predicate:value is not null (type: boolean)
+               |           |              |              TableScan [TS_92]
+               |           |              |                 alias:y
+               |           |              |<-Reducer 25 [CONTAINS]
+               |           |                 Reduce Output Operator [RS_98]
+               |           |                    key expressions:_col0 (type: string), _col1 (type: string)
+               |           |                    Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |           |                    sort order:++
+               |           |                    Group By Operator [GBY_97]
+               |           |                       keys:_col0 (type: string), _col1 (type: string)
                |           |                       outputColumnNames:["_col0","_col1"]
-               |           |                       Filter Operator [FIL_156]
-               |           |                          predicate:value is not null (type: boolean)
-               |           |                          TableScan [TS_90]
-               |           |                             alias:y
-               |           |<-Map Join Operator [MAPJOIN_161]
-               |              |  condition map:[{"":"Inner Join 0 to 1"}]
-               |              |  keys:{"Map 30":"_col0 (type: string)","Map 31":"_col0 (type: string)"}
-               |              |  outputColumnNames:["_col1","_col2","_col3"]
-               |              |<-Map 31 [BROADCAST_EDGE]
-               |              |  Reduce Output Operator [RS_106]
-               |              |     key expressions:_col0 (type: string)
-               |              |     Map-reduce partition columns:_col0 (type: string)
-               |              |     sort order:+
-               |              |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-               |              |     value expressions:_col1 (type: string)
-               |              |     Select Operator [SEL_102]
-               |              |        outputColumnNames:["_col0","_col1"]
-               |              |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-               |              |        Filter Operator [FIL_158]
-               |              |           predicate:(key is not null and value is not null) (type: boolean)
-               |              |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-               |              |           TableScan [TS_101]
-               |              |              alias:x
-               |              |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
-               |              |<-Select Operator [SEL_100]
-               |                    outputColumnNames:["_col0","_col1"]
-               |                    Filter Operator [FIL_157]
-               |                       predicate:key is not null (type: boolean)
-               |                       TableScan [TS_99]
-               |                          alias:y
-               |<-Reducer 7 [CONTAINS]
+               |           |                       Group By Operator [GBY_90]
+               |           |                       |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+               |           |                       |  outputColumnNames:["_col0","_col1"]
+               |           |                       |<-Union 24 [SIMPLE_EDGE]
+               |           |                          |<-Reducer 23 [CONTAINS]
+               |           |                          |  Reduce Output Operator [RS_89]
+               |           |                          |     key expressions:_col0 (type: string), _col1 (type: string)
+               |           |                          |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |           |                          |     sort order:++
+               |           |                          |     Group By Operator [GBY_88]
+               |           |                          |        keys:_col0 (type: string), _col1 (type: string)
+               |           |                          |        outputColumnNames:["_col0","_col1"]
+               |           |                          |        Group By Operator [GBY_81]
+               |           |                          |        |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+               |           |                          |        |  outputColumnNames:["_col0","_col1"]
+               |           |                          |        |<-Union 22 [SIMPLE_EDGE]
+               |           |                          |           |<-Map 21 [CONTAINS]
+               |           |                          |           |  Reduce Output Operator [RS_80]
+               |           |                          |           |     key expressions:_col0 (type: string), _col1 (type: string)
+               |           |                          |           |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |           |                          |           |     sort order:++
+               |           |                          |           |     Group By Operator [GBY_79]
+               |           |                          |           |        keys:_col0 (type: string), _col1 (type: string)
+               |           |                          |           |        outputColumnNames:["_col0","_col1"]
+               |           |                          |           |        Select Operator [SEL_73]
+               |           |                          |           |           outputColumnNames:["_col0","_col1"]
+               |           |                          |           |           Filter Operator [FIL_160]
+               |           |                          |           |              predicate:value is not null (type: boolean)
+               |           |                          |           |              TableScan [TS_72]
+               |           |                          |           |                 alias:x
+               |           |                          |           |<-Map 28 [CONTAINS]
+               |           |                          |              Reduce Output Operator [RS_80]
+               |           |                          |                 key expressions:_col0 (type: string), _col1 (type: string)
+               |           |                          |                 Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |           |                          |                 sort order:++
+               |           |                          |                 Group By Operator [GBY_79]
+               |           |                          |                    keys:_col0 (type: string), _col1 (type: string)
+               |           |                          |                    outputColumnNames:["_col0","_col1"]
+               |           |                          |                    Select Operator [SEL_75]
+               |           |                          |                       outputColumnNames:["_col0","_col1"]
+               |           |                          |                       Filter Operator [FIL_161]
+               |           |                          |                          predicate:value is not null (type: boolean)
+               |           |                          |                          TableScan [TS_74]
+               |           |                          |                             alias:y
+               |           |                          |<-Map 29 [CONTAINS]
+               |           |                             Reduce Output Operator [RS_89]
+               |           |                                key expressions:_col0 (type: string), _col1 (type: string)
+               |           |                                Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |           |                                sort order:++
+               |           |                                Group By Operator [GBY_88]
+               |           |                                   keys:_col0 (type: string), _col1 (type: string)
+               |           |                                   outputColumnNames:["_col0","_col1"]
+               |           |                                   Select Operator [SEL_84]
+               |           |                                      outputColumnNames:["_col0","_col1"]
+               |           |                                      Filter Operator [FIL_162]
+               |           |                                         predicate:value is not null (type: boolean)
+               |           |                                         TableScan [TS_83]
+               |           |                                            alias:y
+               |           |<-Select Operator [SEL_71]
+               |                 outputColumnNames:["_col0","_col1"]
+               |                 Filter Operator [FIL_159]
+               |                    predicate:key is not null (type: boolean)
+               |                    TableScan [TS_70]
+               |                       alias:y
+               |<-Reducer 3 [CONTAINS]
                   Reduce Output Operator [RS_119]
                      key expressions:_col0 (type: string), _col1 (type: string)
                      Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
@@ -2030,8 +2031,8 @@
                         Group By Operator [GBY_68]
                         |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
                         |  outputColumnNames:["_col0","_col1"]
-                        |<-Union 6 [SIMPLE_EDGE]
-                           |<-Map 18 [CONTAINS]
+                        |<-Union 2 [SIMPLE_EDGE]
+                           |<-Map 11 [CONTAINS]
                            |  Reduce Output Operator [RS_67]
                            |     key expressions:_col0 (type: string), _col1 (type: string)
                            |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
@@ -2041,105 +2042,106 @@
                            |        outputColumnNames:["_col0","_col1"]
                            |        Select Operator [SEL_62]
                            |           outputColumnNames:["_col0","_col1"]
-                           |           Map Join Operator [MAPJOIN_163]
+                           |           Map Join Operator [MAPJOIN_168]
                            |           |  condition map:[{"":"Inner Join 0 to 1"}]
-                           |           |  keys:{"Reducer 15":"_col0 (type: string)","Map 18":"_col3 (type: string)"}
-                           |           |  outputColumnNames:["_col2","_col3"]
-                           |           |<-Reducer 15 [BROADCAST_EDGE]
-                           |           |  Reduce Output Operator [RS_58]
-                           |           |     key expressions:_col0 (type: string)
-                           |           |     Map-reduce partition columns:_col0 (type: string)
+                           |           |  keys:{"Map 11":"_col0 (type: string)","Reducer 16":"_col1 (type: string)"}
+                           |           |  outputColumnNames:["_col1","_col3"]
+                           |           |<-Reducer 16 [BROADCAST_EDGE]
+                           |           |  Reduce Output Operator [RS_60]
+                           |           |     key expressions:_col1 (type: string)
+                           |           |     Map-reduce partition columns:_col1 (type: string)
                            |           |     sort order:+
-                           |           |     Statistics:Num rows: 190 Data size: 2008 Basic stats: COMPLETE Column stats: NONE
-                           |           |     Select Operator [SEL_46]
-                           |           |        outputColumnNames:["_col0"]
-                           |           |        Statistics:Num rows: 190 Data size: 2008 Basic stats: COMPLETE Column stats: NONE
-                           |           |        Group By Operator [GBY_45]
-                           |           |        |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-                           |           |        |  outputColumnNames:["_col0","_col1"]
-                           |           |        |  Statistics:Num rows: 190 Data size: 2008 Basic stats: COMPLETE Column stats: NONE
-                           |           |        |<-Union 14 [SIMPLE_EDGE]
-                           |           |           |<-Reducer 13 [CONTAINS]
-                           |           |           |  Reduce Output Operator [RS_44]
-                           |           |           |     key expressions:_col0 (type: string), _col1 (type: string)
-                           |           |           |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                           |           |           |     sort order:++
-                           |           |           |     Group By Operator [GBY_43]
-                           |           |           |        keys:_col0 (type: string), _col1 (type: string)
-                           |           |           |        outputColumnNames:["_col0","_col1"]
-                           |           |           |        Group By Operator [GBY_36]
-                           |           |           |        |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-                           |           |           |        |  outputColumnNames:["_col0","_col1"]
-                           |           |           |        |<-Union 12 [SIMPLE_EDGE]
-                           |           |           |           |<-Map 11 [CONTAINS]
-                           |           |           |           |  Reduce Output Operator [RS_35]
-                           |           |           |           |     key expressions:_col0 (type: string), _col1 (type: string)
-                           |           |           |           |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                           |           |           |           |     sort order:++
-                           |           |           |           |     Group By Operator [GBY_34]
-                           |           |           |           |        keys:_col0 (type: string), _col1 (type: string)
-                           |           |           |           |        outputColumnNames:["_col0","_col1"]
-                           |           |           |           |        Select Operator [SEL_28]
-                           |           |           |           |           outputColumnNames:["_col0","_col1"]
-                           |           |           |           |           Filter Operator [FIL_148]
-                           |           |           |           |              predicate:value is not null (type: boolean)
-                           |           |           |           |              TableScan [TS_27]
-                           |           |           |           |                 alias:x
-                           |           |           |           |<-Map 16 [CONTAINS]
-                           |           |           |              Reduce Output Operator [RS_35]
-                           |           |           |                 key expressions:_col0 (type: string), _col1 (type: string)
-                           |           |           |                 Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                           |           |           |                 sort order:++
-                           |           |           |                 Group By Operator [GBY_34]
-                           |           |           |                    keys:_col0 (type: string), _col1 (type: string)
-                           |           |           |                    outputColumnNames:["_col0","_col1"]
-                           |           |           |                    Select Operator [SEL_30]
-                           |           |           |                       outputColumnNames:["_col0","_col1"]
-                           |           |           |                       Filter Operator [FIL_149]
-                           |           |           |                          predicate:value is not null (type: boolean)
-                           |           |           |                          TableScan [TS_29]
-                           |           |           |                             alias:y
-                           |           |           |<-Map 17 [CONTAINS]
-                           |           |              Reduce Output Operator [RS_44]
-                           |           |                 key expressions:_col0 (type: string), _col1 (type: string)
-                           |           |                 Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                           |           |                 sort order:++
-                           |           |                 Group By Operator [GBY_43]
-                           |           |                    keys:_col0 (type: string), _col1 (type: string)
-                           |           |                    outputColumnNames:["_col0","_col1"]
-                           |           |                    Select Operator [SEL_39]
+                           |           |     Statistics:Num rows: 209 Data size: 2208 Basic stats: COMPLETE Column stats: NONE
+                           |           |     Map Join Operator [MAPJOIN_167]
+                           |           |     |  condition map:[{"":"Inner Join 0 to 1"}]
+                           |           |     |  keys:{"Map 19":"_col1 (type: string)","Reducer 16":"_col0 (type: string)"}
+                           |           |     |  outputColumnNames:["_col1"]
+                           |           |     |  Statistics:Num rows: 209 Data size: 2208 Basic stats: COMPLETE Column stats: NONE
+                           |           |     |<-Map 19 [BROADCAST_EDGE]
+                           |           |     |  Reduce Output Operator [RS_54]
+                           |           |     |     key expressions:_col1 (type: string)
+                           |           |     |     Map-reduce partition columns:_col1 (type: string)
+                           |           |     |     sort order:+
+                           |           |     |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                           |           |     |     value expressions:_col0 (type: string)
+                           |           |     |     Select Operator [SEL_50]
+                           |           |     |        outputColumnNames:["_col0","_col1"]
+                           |           |     |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                           |           |     |        Filter Operator [FIL_158]
+                           |           |     |           predicate:(value is not null and key is not null) (type: boolean)
+                           |           |     |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                           |           |     |           TableScan [TS_49]
+                           |           |     |              alias:x
+                           |           |     |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+                           |           |     |<-Select Operator [SEL_48]
+                           |           |           outputColumnNames:["_col0"]
+                           |           |           Statistics:Num rows: 190 Data size: 2008 Basic stats: COMPLETE Column stats: NONE
+                           |           |           Group By Operator [GBY_47]
+                           |           |           |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+                           |           |           |  outputColumnNames:["_col0","_col1"]
+                           |           |           |  Statistics:Num rows: 190 Data size: 2008 Basic stats: COMPLETE Column stats: NONE
+                           |           |           |<-Union 15 [SIMPLE_EDGE]
+                           |           |              |<-Reducer 14 [CONTAINS]
+                           |           |              |  Reduce Output Operator [RS_46]
+                           |           |              |     key expressions:_col0 (type: string), _col1 (type: string)
+                           |           |              |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                           |           |              |     sort order:++
+                           |           |              |     Group By Operator [GBY_45]
+                           |           |              |        keys:_col0 (type: string), _col1 (type: string)
+                           |           |              |        outputColumnNames:["_col0","_col1"]
+                           |           |              |        Group By Operator [GBY_38]
+                           |           |              |        |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+                           |           |              |        |  outputColumnNames:["_col0","_col1"]
+                           |           |              |        |<-Union 13 [SIMPLE_EDGE]
+                           |           |              |           |<-Map 12 [CONTAINS]
+                           |           |              |           |  Reduce Output Operator [RS_37]
+                           |           |              |           |     key expressions:_col0 (type: string), _col1 (type: string)
+                           |           |              |           |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                           |           |              |           |     sort order:++
+                           |           |              |           |     Group By Operator [GBY_36]
+                           |           |              |           |        keys:_col0 (type: string), _col1 (type: string)
+                           |           |              |           |        outputColumnNames:["_col0","_col1"]
+                           |           |              |           |        Select Operator [SEL_30]
+                           |           |              |           |           outputColumnNames:["_col0","_col1"]
+                           |           |              |           |           Filter Operator [FIL_155]
+                           |           |              |           |              predicate:value is not null (type: boolean)
+                           |           |              |           |              TableScan [TS_29]
+                           |           |              |           |                 alias:x
+                           |           |              |           |<-Map 17 [CONTAINS]
+                           |           |              |              Reduce Output Operator [RS_37]
+                           |           |              |                 key expressions:_col0 (type: string), _col1 (type: string)
+                           |           |              |                 Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                           |           |              |                 sort order:++
+                           |           |              |                 Group By Operator [GBY_36]
+                           |           |              |                    keys:_col0 (type: string), _col1 (type: string)
+                           |           |              |                    outputColumnNames:["_col0","_col1"]
+                           |           |              |                    Select Operator [SEL_32]
+                           |           |              |                       outputColumnNames:["_col0","_col1"]
+                           |           |              |                       Filter Operator [FIL_156]
+                           |           |              |                          predicate:value is not null (type: boolean)
+                           |           |              |                          TableScan [TS_31]
+                           |           |              |                             alias:y
+                           |           |              |<-Map 18 [CONTAINS]
+                           |           |                 Reduce Output Operator [RS_46]
+                           |           |                    key expressions:_col0 (type: string), _col1 (type: string)
+                           |           |                    Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                           |           |                    sort order:++
+                           |           |                    Group By Operator [GBY_45]
+                           |           |                       keys:_col0 (type: string), _col1 (type: string)
                            |           |                       outputColumnNames:["_col0","_col1"]
-                           |           |                       Filter Operator [FIL_150]
-                           |           |                          predicate:value is not null (type: boolean)
-                           |           |                          TableScan [TS_38]
-                           |           |                             alias:y
-                           |           |<-Map Join Operator [MAPJOIN_160]
-                           |              |  condition map:[{"":"Inner Join 0 to 1"}]
-                           |              |  keys:{"Map 19":"_col0 (type: string)","Map 18":"_col0 (type: string)"}
-                           |              |  outputColumnNames:["_col1","_col2","_col3"]
-                           |              |<-Map 19 [BROADCAST_EDGE]
-                           |              |  Reduce Output Operator [RS_54]
-                           |              |     key expressions:_col0 (type: string)
-                           |              |     Map-reduce partition columns:_col0 (type: string)
-                           |              |     sort order:+
-                           |              |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                           |              |     value expressions:_col1 (type: string)
-                           |              |     Select Operator [SEL_50]
-                           |              |        outputColumnNames:["_col0","_col1"]
-                           |              |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                           |              |        Filter Operator [FIL_152]
-                           |              |           predicate:(key is not null and value is not null) (type: boolean)
-                           |              |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                           |              |           TableScan [TS_49]
-                           |              |              alias:x
-                           |              |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
-                           |              |<-Select Operator [SEL_48]
-                           |                    outputColumnNames:["_col0","_col1"]
-                           |                    Filter Operator [FIL_151]
-                           |                       predicate:key is not null (type: boolean)
-                           |                       TableScan [TS_47]
-                           |                          alias:y
-                           |<-Map 5 [CONTAINS]
+                           |           |                       Select Operator [SEL_41]
+                           |           |                          outputColumnNames:["_col0","_col1"]
+                           |           |                          Filter Operator [FIL_157]
+                           |           |                             predicate:value is not null (type: boolean)
+                           |           |                             TableScan [TS_40]
+                           |           |                                alias:y
+                           |           |<-Select Operator [SEL_28]
+                           |                 outputColumnNames:["_col0","_col1"]
+                           |                 Filter Operator [FIL_154]
+                           |                    predicate:key is not null (type: boolean)
+                           |                    TableScan [TS_27]
+                           |                       alias:y
+                           |<-Map 1 [CONTAINS]
                               Reduce Output Operator [RS_67]
                                  key expressions:_col0 (type: string), _col1 (type: string)
                                  Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
@@ -2149,78 +2151,79 @@
                                     outputColumnNames:["_col0","_col1"]
                                     Select Operator [SEL_26]
                                        outputColumnNames:["_col0","_col1"]
-                                       Map Join Operator [MAPJOIN_162]
+                                       Map Join Operator [MAPJOIN_166]
                                        |  condition map:[{"":"Inner Join 0 to 1"}]
-                                       |  keys:{"Reducer 3":"_col0 (type: string)","Map 5":"_col3 (type: string)"}
-                                       |  outputColumnNames:["_col2","_col3"]
-                                       |<-Reducer 3 [BROADCAST_EDGE]
-                                       |  Reduce Output Operator [RS_22]
-                                       |     key expressions:_col0 (type: string)
-                                       |     Map-reduce partition columns:_col0 (type: string)
+                                       |  keys:{"Map 1":"_col0 (type: string)","Reducer 8":"_col1 (type: string)"}
+                                       |  outputColumnNames:["_col1","_col3"]
+                                       |<-Reducer 8 [BROADCAST_EDGE]
+                                       |  Reduce Output Operator [RS_24]
+                                       |     key expressions:_col1 (type: string)
+                                       |     Map-reduce partition columns:_col1 (type: string)
                                        |     sort order:+
-                                       |     Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-                                       |     Select Operator [SEL_10]
-                                       |        outputColumnNames:["_col0"]
-                                       |        Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-                                       |        Group By Operator [GBY_9]
-                                       |        |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-                                       |        |  outputColumnNames:["_col0","_col1"]
-                                       |        |  Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-                                       |        |<-Union 2 [SIMPLE_EDGE]
-                                       |           |<-Map 1 [CONTAINS]
-                                       |           |  Reduce Output Operator [RS_8]
-                                       |           |     key expressions:_col0 (type: string), _col1 (type: string)
-                                       |           |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                                       |           |     sort order:++
-                                       |           |     Group By Operator [GBY_7]
-                                       |           |        keys:_col0 (type: string), _col1 (type: string)
-                                       |           |        outputColumnNames:["_col0","_col1"]
-                                       |           |        Select Operator [SEL_1]
-                                       |           |           outputColumnNames:["_col0","_col1"]
-                                       |           |           Filter Operator [FIL_144]
-                                       |           |              predicate:value is not null (type: boolean)
-                                       |           |              TableScan [TS_0]
-                                       |           |                 alias:x
-                                       |           |<-Map 4 [CONTAINS]
-                                       |              Reduce Output Operator [RS_8]
-                                       |                 key expressions:_col0 (type: string), _col1 (type: string)
-                                       |                 Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                                       |                 sort order:++
-                                       |                 Group By Operator [GBY_7]
-                                       |                    keys:_col0 (type: string), _col1 (type: string)
-                                       |                    outputColumnNames:["_col0","_col1"]
-                                       |                    Select Operator [SEL_3]
+                                       |     Statistics:Num rows: 144 Data size: 1509 Basic stats: COMPLETE Column stats: NONE
+                                       |     Map Join Operator [MAPJOIN_165]
+                                       |     |  condition map:[{"":"Inner Join 0 to 1"}]
+                                       |     |  keys:{"Map 10":"_col1 (type: string)","Reducer 8":"_col0 (type: string)"}
+                                       |     |  outputColumnNames:["_col1"]
+                                       |     |  Statistics:Num rows: 144 Data size: 1509 Basic stats: COMPLETE Column stats: NONE
+                                       |     |<-Map 10 [BROADCAST_EDGE]
+                                       |     |  Reduce Output Operator [RS_18]
+                                       |     |     key expressions:_col1 (type: string)
+                                       |     |     Map-reduce partition columns:_col1 (type: string)
+                                       |     |     sort order:+
+                                       |     |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                                       |     |     value expressions:_col0 (type: string)
+                                       |     |     Select Operator [SEL_14]
+                                       |     |        outputColumnNames:["_col0","_col1"]
+                                       |     |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                                       |     |        Filter Operator [FIL_153]
+                                       |     |           predicate:(value is not null and key is not null) (type: boolean)
+                                       |     |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                                       |     |           TableScan [TS_13]
+                                       |     |              alias:x
+                                       |     |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+                                       |     |<-Select Operator [SEL_12]
+                                       |           outputColumnNames:["_col0"]
+                                       |           Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
+                                       |           Group By Operator [GBY_11]
+                                       |           |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+                                       |           |  outputColumnNames:["_col0","_col1"]
+                                       |           |  Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
+                                       |           |<-Union 7 [SIMPLE_EDGE]
+                                       |              |<-Map 6 [CONTAINS]
+                                       |              |  Reduce Output Operator [RS_10]
+                                       |              |     key expressions:_col0 (type: string), _col1 (type: string)
+                                       |              |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                                       |              |     sort order:++
+                                       |              |     Group By Operator [GBY_9]
+                                       |              |        keys:_col0 (type: string), _col1 (type: string)
+                                       |              |        outputColumnNames:["_col0","_col1"]
+                                       |              |        Select Operator [SEL_3]
+                                       |              |           outputColumnNames:["_col0","_col1"]
+                                       |              |           Filter Operator [FIL_151]
+                                       |              |              predicate:value is not null (type: boolean)
+                                       |              |              TableScan [TS_2]
+                                       |              |                 alias:x
+                                       |              |<-Map 9 [CONTAINS]
+                                       |                 Reduce Output Operator [RS_10]
+                                       |                    key expressions:_col0 (type: string), _col1 (type: string)
+                                       |                    Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                                       |                    sort order:++
+                                       |                    Group By Operator [GBY_9]
+                                       |                       keys:_col0 (type: string), _col1 (type: string)
                                        |                       outputColumnNames:["_col0","_col1"]
-                                       |                       Filter Operator [FIL_145]
-                                       |                          predicate:value is not null (type: boolean)
-                                       |                          TableScan [TS_2]
-                                       |                             alias:y
-                                       |<-Map Join Operator [MAPJOIN_159]
-                                          |  condition map:[{"":"Inner Join 0 to 1"}]
-                                          |  keys:{"Map 10":"_col0 (type: string)","Map 5":"_col0 (type: string)"}
-                                          |  outputColumnNames:["_col1","_col2","_col3"]
-                                          |<-Map 10 [BROADCAST_EDGE]
-                                          |  Reduce Output Operator [RS_18]
-                                          |     key expressions:_col0 (type: string)
-                                          |     Map-reduce partition columns:_col0 (type: string)
-                                          |     sort order:+
-                                          |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                                          |     value expressions:_col1 (type: string)
-                                          |     Select Operator [SEL_14]
-                                          |        outputColumnNames:["_col0","_col1"]
-                                          |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                                          |        Filter Operator [FIL_147]
-                                          |           predicate:(key is not null and value is not null) (type: boolean)
-                                          |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                                          |           TableScan [TS_13]
-                                          |              alias:x
-                                          |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
-                                          |<-Select Operator [SEL_12]
-                                                outputColumnNames:["_col0","_col1"]
-                                                Filter Operator [FIL_146]
-                                                   predicate:key is not null (type: boolean)
-                                                   TableScan [TS_11]
-                                                      alias:y
+                                       |                       Select Operator [SEL_5]
+                                       |                          outputColumnNames:["_col0","_col1"]
+                                       |                          Filter Operator [FIL_152]
+                                       |                             predicate:value is not null (type: boolean)
+                                       |                             TableScan [TS_4]
+                                       |                                alias:y
+                                       |<-Select Operator [SEL_1]
+                                             outputColumnNames:["_col0","_col1"]
+                                             Filter Operator [FIL_150]
+                                                predicate:key is not null (type: boolean)
+                                                TableScan [TS_0]
+                                                   alias:y
 PREHOOK: query: CREATE TABLE srcbucket_mapjoin(key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE
 PREHOOK: type: CREATETABLE
 PREHOOK: Output: database:default
@@ -2782,309 +2785,352 @@
 Plan optimized by CBO.
 
 Vertex dependency in root stage
-Map 12 <- Union 13 (CONTAINS)
-Map 14 <- Union 13 (CONTAINS)
-Map 21 <- Map 20 (BROADCAST_EDGE)
-Map 1 <- Union 2 (CONTAINS)
-Reducer 10 <- Reducer 9 (SIMPLE_EDGE), Union 13 (SIMPLE_EDGE), Union 4 (CONTAINS)
-Map 19 <- Map 21 (BROADCAST_EDGE), Union 4 (CONTAINS)
-Reducer 9 <- Map 11 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
-Map 16 <- Map 21 (BROADCAST_EDGE), Union 4 (CONTAINS)
-Map 15 <- Union 13 (CONTAINS)
-Map 18 <- Map 21 (BROADCAST_EDGE), Union 4 (CONTAINS)
-Map 17 <- Map 21 (BROADCAST_EDGE), Union 4 (CONTAINS)
-Reducer 3 <- Map 6 (SIMPLE_EDGE), Union 2 (SIMPLE_EDGE), Union 4 (CONTAINS)
-Map 5 <- Union 2 (CONTAINS)
-Map 6 <- Map 7 (BROADCAST_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Union 3 (CONTAINS), Union 5 (SIMPLE_EDGE)
+Map 12 <- Union 9 (CONTAINS)
+Reducer 11 <- Map 15 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE), Union 3 (CONTAINS)
+Map 13 <- Union 9 (CONTAINS)
+Reducer 10 <- Map 14 (SIMPLE_EDGE), Union 9 (SIMPLE_EDGE)
+Map 4 <- Map 7 (BROADCAST_EDGE), Union 5 (CONTAINS)
+Map 19 <- Map 20 (BROADCAST_EDGE), Map 21 (BROADCAST_EDGE), Union 3 (CONTAINS)
+Map 6 <- Map 7 (BROADCAST_EDGE), Union 5 (CONTAINS)
+Map 16 <- Map 20 (BROADCAST_EDGE), Map 21 (BROADCAST_EDGE), Union 3 (CONTAINS)
+Map 8 <- Union 9 (CONTAINS)
+Map 18 <- Map 20 (BROADCAST_EDGE), Map 21 (BROADCAST_EDGE), Union 3 (CONTAINS)
+Map 17 <- Map 20 (BROADCAST_EDGE), Map 21 (BROADCAST_EDGE), Union 3 (CONTAINS)
 
 Stage-0
    Fetch Operator
       limit:-1
       Stage-1
-         Union 4
-         |<-Reducer 10 [CONTAINS]
-         |  File Output Operator [FS_77]
+         Union 3
+         |<-Reducer 2 [CONTAINS]
+         |  File Output Operator [FS_76]
+         |     compressed:false
+         |     table:{"serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe","input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"}
+         |     Select Operator [SEL_21]
+         |        outputColumnNames:["_col0","_col1"]
+         |        Merge Join Operator [MERGEJOIN_120]
+         |        |  condition map:[{"":"Inner Join 0 to 1"}]
+         |        |  keys:{"1":"_col1 (type: string)","0":"_col0 (type: string)"}
+         |        |  outputColumnNames:["_col1","_col3"]
+         |        |<-Map 1 [SIMPLE_EDGE]
+         |        |  Reduce Output Operator [RS_17]
+         |        |     key expressions:_col0 (type: string)
+         |        |     Map-reduce partition columns:_col0 (type: string)
+         |        |     sort order:+
+         |        |     Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+         |        |     value expressions:_col1 (type: string)
+         |        |     Select Operator [SEL_1]
+         |        |        outputColumnNames:["_col0","_col1"]
+         |        |        Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+         |        |        Filter Operator [FIL_104]
+         |        |           predicate:key is not null (type: boolean)
+         |        |           Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+         |        |           TableScan [TS_0]
+         |        |              alias:y
+         |        |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+         |        |<-Union 5 [SIMPLE_EDGE]
+         |           |<-Map 4 [CONTAINS]
+         |           |  Reduce Output Operator [RS_19]
+         |           |     key expressions:_col1 (type: string)
+         |           |     Map-reduce partition columns:_col1 (type: string)
+         |           |     sort order:+
+         |           |     Map Join Operator [MAPJOIN_119]
+         |           |     |  condition map:[{"":"Inner Join 0 to 1"}]
+         |           |     |  keys:{"Map 4":"_col0 (type: string)","Map 7":"_col1 (type: string)"}
+         |           |     |  outputColumnNames:["_col1"]
+         |           |     |<-Map 7 [BROADCAST_EDGE]
+         |           |     |  Reduce Output Operator [RS_13]
+         |           |     |     key expressions:_col1 (type: string)
+         |           |     |     Map-reduce partition columns:_col1 (type: string)
+         |           |     |     sort order:+
+         |           |     |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+         |           |     |     value expressions:_col0 (type: string)
+         |           |     |     Select Operator [SEL_9]
+         |           |     |        outputColumnNames:["_col0","_col1"]
+         |           |     |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+         |           |     |        Filter Operator [FIL_107]
+         |           |     |           predicate:(value is not null and key is not null) (type: boolean)
+         |           |     |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+         |           |     |           TableScan [TS_8]
+         |           |     |              alias:x
+         |           |     |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+         |           |     |  Reduce Output Operator [RS_125]
+         |           |     |     key expressions:_col1 (type: string)
+         |           |     |     Map-reduce partition columns:_col1 (type: string)
+         |           |     |     sort order:+
+         |           |     |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+         |           |     |     value expressions:_col0 (type: string)
+         |           |     |      Please refer to the previous Select Operator [SEL_9]
+         |           |     |<-Select Operator [SEL_3]
+         |           |           outputColumnNames:["_col0"]
+         |           |           Filter Operator [FIL_105]
+         |           |              predicate:value is not null (type: boolean)
+         |           |              TableScan [TS_2]
+         |           |                 alias:x
+         |           |<-Map 6 [CONTAINS]
+         |              Reduce Output Operator [RS_19]
+         |                 key expressions:_col1 (type: string)
+         |                 Map-reduce partition columns:_col1 (type: string)
+         |                 sort order:+
+         |                 Map Join Operator [MAPJOIN_119]
+         |                 |  condition map:[{"":"Inner Join 0 to 1"}]
+         |                 |  keys:{"Map 7":"_col1 (type: string)","Map 6":"_col0 (type: string)"}
+         |                 |  outputColumnNames:["_col1"]
+         |                 |<- Please refer to the previous Map 7 [BROADCAST_EDGE]
+         |                 |<-Select Operator [SEL_5]
+         |                       outputColumnNames:["_col0"]
+         |                       Filter Operator [FIL_106]
+         |                          predicate:value is not null (type: boolean)
+         |                          TableScan [TS_4]
+         |                             alias:y
+         |<-Reducer 11 [CONTAINS]
+         |  File Output Operator [FS_76]
          |     compressed:false
          |     table:{"serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe","input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"}
          |     Select Operator [SEL_45]
          |        outputColumnNames:["_col0","_col1"]
-         |        Merge Join Operator [MERGEJOIN_118]
+         |        Merge Join Operator [MERGEJOIN_122]
          |        |  condition map:[{"":"Inner Join 0 to 1"}]
          |        |  keys:{"1":"_col0 (type: string)","0":"_col1 (type: string)"}
-         |        |  outputColumnNames:["_col0","_col3"]
-         |        |<-Reducer 9 [SIMPLE_EDGE]
-         |        |  Reduce Output Operator [RS_41]
-         |        |     key expressions:_col1 (type: string)
-         |        |     Map-reduce partition columns:_col1 (type: string)
+         |        |  outputColumnNames:["_col1","_col4"]
+         |        |<-Map 15 [SIMPLE_EDGE]
+         |        |  Reduce Output Operator [RS_43]
+         |        |     key expressions:_col0 (type: string)
+         |        |     Map-reduce partition columns:_col0 (type: string)
          |        |     sort order:+
-         |        |     Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-         |        |     value expressions:_col0 (type: string), _col3 (type: string)
-         |        |     Merge Join Operator [MERGEJOIN_115]
-         |        |     |  condition map:[{"":"Inner Join 0 to 1"}]
-         |        |     |  keys:{"1":"_col0 (type: string)","0":"_col0 (type: string)"}
-         |        |     |  outputColumnNames:["_col0","_col1","_col3"]
-         |        |     |  Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-         |        |     |<-Map 11 [SIMPLE_EDGE]
-         |        |     |  Reduce Output Operator [RS_38]
-         |        |     |     key expressions:_col0 (type: string)
-         |        |     |     Map-reduce partition columns:_col0 (type: string)
-         |        |     |     sort order:+
-         |        |     |     Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-         |        |     |     value expressions:_col1 (type: string)
-         |        |     |     Select Operator [SEL_25]
-         |        |     |        outputColumnNames:["_col0","_col1"]
-         |        |     |        Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-         |        |     |        Filter Operator [FIL_104]
-         |        |     |           predicate:key is not null (type: boolean)
-         |        |     |           Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-         |        |     |           TableScan [TS_24]
-         |        |     |              alias:y
-         |        |     |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-         |        |     |<-Map 8 [SIMPLE_EDGE]
-         |        |        Reduce Output Operator [RS_36]
-         |        |           key expressions:_col0 (type: string)
-         |        |           Map-reduce partition columns:_col0 (type: string)
-         |        |           sort order:+
-         |        |           Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-         |        |           value expressions:_col1 (type: string)
-         |        |           Select Operator [SEL_23]
-         |        |              outputColumnNames:["_col0","_col1"]
-         |        |              Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-         |        |              Filter Operator [FIL_103]
-         |        |                 predicate:(key is not null and value is not null) (type: boolean)
-         |        |                 Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-         |        |                 TableScan [TS_22]
-         |        |                    alias:y
-         |        |                    Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-         |        |<-Union 13 [SIMPLE_EDGE]
-         |           |<-Map 12 [CONTAINS]
-         |           |  Reduce Output Operator [RS_43]
-         |           |     key expressions:_col0 (type: string)
-         |           |     Map-reduce partition columns:_col0 (type: string)
-         |           |     sort order:+
-         |           |     Select Operator [SEL_27]
-         |           |        outputColumnNames:["_col0"]
-         |           |        Filter Operator [FIL_105]
-         |           |           predicate:value is not null (type: boolean)
-         |           |           TableScan [TS_26]
-         |           |              alias:x
-         |           |<-Map 14 [CONTAINS]
-         |           |  Reduce Output Operator [RS_43]
-         |           |     key expressions:_col0 (type: string)
-         |           |     Map-reduce partition columns:_col0 (type: string)
-         |           |     sort order:+
-         |           |     Select Operator [SEL_29]
-         |           |        outputColumnNames:["_col0"]
-         |           |        Filter Operator [FIL_106]
-         |           |           predicate:value is not null (type: boolean)
-         |           |           TableScan [TS_28]
-         |           |              alias:y
-         |           |<-Map 15 [CONTAINS]
-         |              Reduce Output Operator [RS_43]
-         |                 key expressions:_col0 (type: string)
-         |                 Map-reduce partition columns:_col0 (type: string)
-         |                 sort order:+
-         |                 Select Operator [SEL_33]
-         |                    outputColumnNames:["_col0"]
-         |                    Filter Operator [FIL_107]
-         |                       predicate:value is not null (type: boolean)
-         |                       TableScan [TS_32]
-         |                          alias:y
+         |        |     Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+         |        |     value expressions:_col1 (type: string)
+         |        |     Select Operator [SEL_34]
+         |        |        outputColumnNames:["_col0","_col1"]
+         |        |        Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+         |        |        Filter Operator [FIL_112]
+         |        |           predicate:key is not null (type: boolean)
+         |        |           Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+         |        |           TableScan [TS_33]
+         |        |              alias:y
+         |        |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+         |        |<-Reducer 10 [SIMPLE_EDGE]
+         |           Reduce Output Operator [RS_41]
+         |              key expressions:_col1 (type: string)
+         |              Map-reduce partition columns:_col1 (type: string)
+         |              sort order:+
+         |              Statistics:Num rows: 564 Data size: 5952 Basic stats: COMPLETE Column stats: NONE
+         |              Merge Join Operator [MERGEJOIN_121]
+         |              |  condition map:[{"":"Inner Join 0 to 1"}]
+         |              |  keys:{"1":"_col1 (type: string)","0":"_col0 (type: string)"}
+         |              |  outputColumnNames:["_col1"]
+         |              |  Statistics:Num rows: 564 Data size: 5952 Basic stats: COMPLETE Column stats: NONE
+         |              |<-Map 14 [SIMPLE_EDGE]
+         |              |  Reduce Output Operator [RS_38]
+         |              |     key expressions:_col1 (type: string)
+         |              |     Map-reduce partition columns:_col1 (type: string)
+         |              |     sort order:+
+         |              |     Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+         |              |     value expressions:_col0 (type: string)
+         |              |     Select Operator [SEL_32]
+         |              |        outputColumnNames:["_col0","_col1"]
+         |              |        Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+         |              |        Filter Operator [FIL_111]
+         |              |           predicate:(value is not null and key is not null) (type: boolean)
+         |              |           Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+         |              |           TableScan [TS_31]
+         |              |              alias:y
+         |              |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+         |              |<-Union 9 [SIMPLE_EDGE]
+         |                 |<-Map 12 [CONTAINS]
+         |                 |  Reduce Output Operator [RS_36]
+         |                 |     key expressions:_col0 (type: string)
+         |                 |     Map-reduce partition columns:_col0 (type: string)
+         |                 |     sort order:+
+         |                 |     Select Operator [SEL_25]
+         |                 |        outputColumnNames:["_col0"]
+         |                 |        Filter Operator [FIL_109]
+         |                 |           predicate:value is not null (type: boolean)
+         |                 |           TableScan [TS_24]
+         |                 |              alias:y
+         |                 |<-Map 13 [CONTAINS]
+         |                 |  Reduce Output Operator [RS_36]
+         |                 |     key expressions:_col0 (type: string)
+         |                 |     Map-reduce partition columns:_col0 (type: string)
+         |                 |     sort order:+
+         |                 |     Select Operator [SEL_29]
+         |                 |        outputColumnNames:["_col0"]
+         |                 |        Filter Operator [FIL_110]
+         |                 |           predicate:value is not null (type: boolean)
+         |                 |           TableScan [TS_28]
+         |                 |              alias:y
+         |                 |<-Map 8 [CONTAINS]
+         |                    Reduce Output Operator [RS_36]
+         |                       key expressions:_col0 (type: string)
+         |                       Map-reduce partition columns:_col0 (type: string)
+         |                       sort order:+
+         |                       Select Operator [SEL_23]
+         |                          outputColumnNames:["_col0"]
+         |                          Filter Operator [FIL_108]
+         |                             predicate:value is not null (type: boolean)
+         |                             TableScan [TS_22]
+         |                                alias:x
          |<-Map 19 [CONTAINS]
-         |  File Output Operator [FS_77]
+         |  File Output Operator [FS_76]
          |     compressed:false
          |     table:{"serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe","input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"}
-         |     Select Operator [SEL_75]
+         |     Select Operator [SEL_74]
          |        outputColumnNames:["_col0","_col1"]
-         |        Map Join Operator [MAPJOIN_119]
+         |        Map Join Operator [MAPJOIN_124]
          |        |  condition map:[{"":"Inner Join 0 to 1"}]
-         |        |  keys:{"Map 21":"_col1 (type: string)","Map 19":"_col0 (type: string)"}
+         |        |  keys:{"Map 21":"_col0 (type: string)","Map 19":"_col1 (type: string)"}
          |        |  outputColumnNames:["_col1","_col4"]
          |        |<-Map 21 [BROADCAST_EDGE]
-         |        |  Reduce Output Operator [RS_73]
-         |        |     key expressions:_col1 (type: string)
-         |        |     Map-reduce partition columns:_col1 (type: string)
+         |        |  Reduce Output Operator [RS_72]
+         |        |     key expressions:_col0 (type: string)
+         |        |     Map-reduce partition columns:_col0 (type: string)
          |        |     sort order:+
-         |        |     Statistics:Num rows: 14 Data size: 108 Basic stats: COMPLETE Column stats: NONE
-         |        |     value expressions:_col0 (type: string), _col3 (type: string)
-         |        |     Map Join Operator [MAPJOIN_116]
-         |        |     |  condition map:[{"":"Inner Join 0 to 1"}]
-         |        |     |  keys:{"Map 21":"_col0 (type: string)","Map 20":"_col0 (type: string)"}
-         |        |     |  outputColumnNames:["_col0","_col1","_col3"]
-         |        |     |  Statistics:Num rows: 14 Data size: 108 Basic stats: COMPLETE Column stats: NONE
-         |        |     |<-Map 20 [BROADCAST_EDGE]
-         |        |     |  Reduce Output Operator [RS_65]
-         |        |     |     key expressions:_col0 (type: string)
-         |        |     |     Map-reduce partition columns:_col0 (type: string)
-         |        |     |     sort order:+
-         |        |     |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-         |        |     |     value expressions:_col1 (type: string)
-         |        |     |     Select Operator [SEL_61]
-         |        |     |        outputColumnNames:["_col0","_col1"]
-         |        |     |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-         |        |     |        Filter Operator [FIL_112]
-         |        |     |           predicate:(key is not null and value is not null) (type: boolean)
-         |        |     |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-         |        |     |           TableScan [TS_60]
-         |        |     |              alias:x
-         |        |     |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
-         |        |     |<-Select Operator [SEL_63]
-         |        |           outputColumnNames:["_col0","_col1"]
+         |        |     Statistics:Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
+         |        |     value expressions:_col1 (type: string)
+         |        |     Select Operator [SEL_63]
+         |        |        outputColumnNames:["_col0","_col1"]
+         |        |        Statistics:Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
+         |        |        Filter Operator [FIL_118]
+         |        |           predicate:key is not null (type: boolean)
          |        |           Statistics:Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
-         |        |           Filter Operator [FIL_113]
-         |        |              predicate:key is not null (type: boolean)
-         |        |              Statistics:Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
-         |        |              TableScan [TS_62]
-         |        |                 alias:x
-         |        |                 Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
-         |        |  Reduce Output Operator [RS_122]
-         |        |     key expressions:_col1 (type: string)
-         |        |     Map-reduce partition columns:_col1 (type: string)
+         |        |           TableScan [TS_62]
+         |        |              alias:x
+         |        |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+         |        |  Reduce Output Operator [RS_131]
+         |        |     key expressions:_col0 (type: string)
+         |        |     Map-reduce partition columns:_col0 (type: string)
          |        |     sort order:+
-         |        |     Statistics:Num rows: 14 Data size: 108 Basic stats: COMPLETE Column stats: NONE
-         |        |     value expressions:_col0 (type: string), _col3 (type: string)
-         |        |      Please refer to the previous Map Join Operator [MAPJOIN_116]
-         |        |  Reduce Output Operator [RS_123]
-         |        |     key expressions:_col1 (type: string)
-         |        |     Map-reduce partition columns:_col1 (type: string)
+         |        |     Statistics:Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
+         |        |     value expressions:_col1 (type: string)
+         |        |      Please refer to the previous Select Operator [SEL_63]
+         |        |  Reduce Output Operator [RS_132]
+         |        |     key expressions:_col0 (type: string)
+         |        |     Map-reduce partition columns:_col0 (type: string)
          |        |     sort order:+
-         |        |     Statistics:Num rows: 14 Data size: 108 Basic stats: COMPLETE Column stats: NONE
-         |        |     value expressions:_col0 (type: string), _col3 (type: string)
-         |        |      Please refer to the previous Map Join Operator [MAPJOIN_116]
-         |        |  Reduce Output Operator [RS_124]
-         |        |     key expressions:_col1 (type: string)
-         |        |     Map-reduce partition columns:_col1 (type: string)
+         |        |     Statistics:Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
+         |        |     value expressions:_col1 (type: string)
+         |        |      Please refer to the previous Select Operator [SEL_63]
+         |        |  Reduce Output Operator [RS_133]
+         |        |     key expressions:_col0 (type: string)
+         |        |     Map-reduce partition columns:_col0 (type: string)
          |        |     sort order:+
-         |        |     Statistics:Num rows: 14 Data size: 108 Basic stats: COMPLETE Column stats: NONE
-         |        |     value expressions:_col0 (type: string), _col3 (type: string)
-         |        |      Please refer to the previous Map Join Operator [MAPJOIN_116]
-         |        |<-Select Operator [SEL_58]
-         |              outputColumnNames:["_col0"]
-         |              Filter Operator [FIL_111]
-         |                 predicate:value is not null (type: boolean)
-         |                 TableScan [TS_57]
-         |                    alias:y
+         |        |     Statistics:Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
+         |        |     value expressions:_col1 (type: string)
+         |        |      Please refer to the previous Select Operator [SEL_63]
+         |        |<-Map Join Operator [MAPJOIN_123]
+         |           |  condition map:[{"":"Inner Join 0 to 1"}]
+         |           |  keys:{"Map 20":"_col1 (type: string)","Map 19":"_col0 (type: string)"}
+         |           |  outputColumnNames:["_col1"]
+         |           |<-Map 20 [BROADCAST_EDGE]
+         |           |  Reduce Output Operator [RS_67]
+         |           |     key expressions:_col1 (type: string)
+         |           |     Map-reduce partition columns:_col1 (type: string)
+         |           |     sort order:+
+         |           |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+         |           |     value expressions:_col0 (type: string)
+         |           |     Select Operator [SEL_61]
+         |           |        outputColumnNames:["_col0","_col1"]
+         |           |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+         |           |        Filter Operator [FIL_117]
+         |           |           predicate:(value is not null and key is not null) (type: boolean)
+         |           |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+         |           |           TableScan [TS_60]
+         |           |              alias:x
+         |           |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+         |           |  Reduce Output Operator [RS_127]
+         |           |     key expressions:_col1 (type: string)
+         |           |     Map-reduce partition columns:_col1 (type: string)
+         |           |     sort order:+
+         |           |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+         |           |     value expressions:_col0 (type: string)
+         |           |      Please refer to the previous Select Operator [SEL_61]
+         |           |  Reduce Output Operator [RS_128]
+         |           |     key expressions:_col1 (type: string)
+         |           |     Map-reduce partition columns:_col1 (type: string)
+         |           |     sort order:+
+         |           |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+         |           |     value expressions:_col0 (type: string)
+         |           |      Please refer to the previous Select Operator [SEL_61]
+         |           |  Reduce Output Operator [RS_129]
+         |           |     key expressions:_col1 (type: string)
+         |           |     Map-reduce partition columns:_col1 (type: string)
+         |           |     sort order:+
+         |           |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+         |           |     value expressions:_col0 (type: string)
+         |           |      Please refer to the previous Select Operator [SEL_61]
+         |           |<-Select Operator [SEL_58]
+         |                 outputColumnNames:["_col0"]
+         |                 Filter Operator [FIL_116]
+         |                    predicate:value is not null (type: boolean)
+         |                    TableScan [TS_57]
+         |                       alias:y
          |<-Map 16 [CONTAINS]
-         |  File Output Operator [FS_77]
+         |  File Output Operator [FS_76]
          |     compressed:false
          |     table:{"serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe","input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"}
-         |     Select Operator [SEL_75]
+         |     Select Operator [SEL_74]
          |        outputColumnNames:["_col0","_col1"]
-         |        Map Join Operator [MAPJOIN_119]
+         |        Map Join Operator [MAPJOIN_124]
          |        |  condition map:[{"":"Inner Join 0 to 1"}]
-         |        |  keys:{"Map 21":"_col1 (type: string)","Map 16":"_col0 (type: string)"}
+         |        |  keys:{"Map 21":"_col0 (type: string)","Map 16":"_col1 (type: string)"}
          |        |  outputColumnNames:["_col1","_col4"]
          |        |<- Please refer to the previous Map 21 [BROADCAST_EDGE]
-         |        |<-Select Operator [SEL_49]
-         |              outputColumnNames:["_col0"]
-         |              Filter Operator [FIL_108]
-         |                 predicate:value is not null (type: boolean)
-         |                 TableScan [TS_48]
-         |                    alias:x
+         |        |<-Map Join Operator [MAPJOIN_123]
+         |           |  condition map:[{"":"Inner Join 0 to 1"}]
+         |           |  keys:{"Map 20":"_col1 (type: string)","Map 16":"_col0 (type: string)"}
+         |           |  outputColumnNames:["_col1"]
+         |           |<- Please refer to the previous Map 20 [BROADCAST_EDGE]
+         |           |<-Select Operator [SEL_49]
+         |                 outputColumnNames:["_col0"]
+         |                 Filter Operator [FIL_113]
+         |                    predicate:value is not null (type: boolean)
+         |                    TableScan [TS_48]
+         |                       alias:x
          |<-Map 18 [CONTAINS]
-         |  File Output Operator [FS_77]
+         |  File Output Operator [FS_76]
          |     compressed:false
          |     table:{"serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe","input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"}
-         |     Select Operator [SEL_75]
+         |     Select Operator [SEL_74]
          |        outputColumnNames:["_col0","_col1"]
-         |        Map Join Operator [MAPJOIN_119]
+         |        Map Join Operator [MAPJOIN_124]
          |        |  condition map:[{"":"Inner Join 0 to 1"}]
-         |        |  keys:{"Map 21":"_col1 (type: string)","Map 18":"_col0 (type: string)"}
+         |        |  keys:{"Map 21":"_col0 (type: string)","Map 18":"_col1 (type: string)"}
          |        |  outputColumnNames:["_col1","_col4"]
          |        |<- Please refer to the previous Map 21 [BROADCAST_EDGE]
-         |        |<-Select Operator [SEL_55]
-         |              outputColumnNames:["_col0"]
-         |              Filter Operator [FIL_110]
-         |                 predicate:value is not null (type: boolean)
-         |                 TableScan [TS_54]
-         |                    alias:y
+         |        |<-Map Join Operator [MAPJOIN_123]
+         |           |  condition map:[{"":"Inner Join 0 to 1"}]
+         |           |  keys:{"Map 20":"_col1 (type: string)","Map 18":"_col0 (type: string)"}
+         |           |  outputColumnNames:["_col1"]
+         |           |<- Please refer to the previous Map 20 [BROADCAST_EDGE]
+         |           |<-Select Operator [SEL_55]
+         |                 outputColumnNames:["_col0"]
+         |                 Filter Operator [FIL_115]
+         |                    predicate:value is not null (type: boolean)
+         |                    TableScan [TS_54]
+         |                       alias:y
          |<-Map 17 [CONTAINS]
-         |  File Output Operator [FS_77]
-         |     compressed:false
-         |     table:{"serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe","input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"}
-         |     Select Operator [SEL_75]
-         |        outputColumnNames:["_col0","_col1"]
-         |        Map Join Operator [MAPJOIN_119]
-         |        |  condition map:[{"":"Inner Join 0 to 1"}]
-         |        |  keys:{"Map 21":"_col1 (type: string)","Map 17":"_col0 (type: string)"}
-         |        |  outputColumnNames:["_col1","_col4"]
-         |        |<- Please refer to the previous Map 21 [BROADCAST_EDGE]
-         |        |<-Select Operator [SEL_51]
-         |              outputColumnNames:["_col0"]
-         |              Filter Operator [FIL_109]
-         |                 predicate:value is not null (type: boolean)
-         |                 TableScan [TS_50]
-         |                    alias:y
-         |<-Reducer 3 [CONTAINS]
-            File Output Operator [FS_77]
+            File Output Operator [FS_76]
                compressed:false
                table:{"serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe","input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"}
-               Select Operator [SEL_21]
+               Select Operator [SEL_74]
                   outputColumnNames:["_col0","_col1"]
-                  Merge Join Operator [MERGEJOIN_117]
+                  Map Join Operator [MAPJOIN_124]
                   |  condition map:[{"":"Inner Join 0 to 1"}]
-                  |  keys:{"1":"_col3 (type: string)","0":"_col0 (type: string)"}
-                  |  outputColumnNames:["_col2","_col3"]
-                  |<-Map 6 [SIMPLE_EDGE]
-                  |  Reduce Output Operator [RS_19]
-                  |     key expressions:_col3 (type: string)
-                  |     Map-reduce partition columns:_col3 (type: string)
-                  |     sort order:+
-                  |     Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-                  |     value expressions:_col1 (type: string), _col2 (type: string)
-                  |     Map Join Operator [MAPJOIN_114]
-                  |     |  condition map:[{"":"Inner Join 0 to 1"}]
-                  |     |  keys:{"Map 7":"_col0 (type: string)","Map 6":"_col0 (type: string)"}
-                  |     |  outputColumnNames:["_col1","_col2","_col3"]
-                  |     |  Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-                  |     |<-Map 7 [BROADCAST_EDGE]
-                  |     |  Reduce Output Operator [RS_13]
-                  |     |     key expressions:_col0 (type: string)
-                  |     |     Map-reduce partition columns:_col0 (type: string)
-                  |     |     sort order:+
-                  |     |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                  |     |     value expressions:_col1 (type: string)
-                  |     |     Select Operator [SEL_9]
-                  |     |        outputColumnNames:["_col0","_col1"]
-                  |     |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                  |     |        Filter Operator [FIL_102]
-                  |     |           predicate:(key is not null and value is not null) (type: boolean)
-                  |     |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                  |     |           TableScan [TS_8]
-                  |     |              alias:x
-                  |     |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
-                  |     |<-Select Operator [SEL_7]
-                  |           outputColumnNames:["_col0","_col1"]
-                  |           Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-                  |           Filter Operator [FIL_101]
-                  |              predicate:key is not null (type: boolean)
-                  |              Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-                  |              TableScan [TS_6]
-                  |                 alias:y
-                  |                 Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-                  |<-Union 2 [SIMPLE_EDGE]
-                     |<-Map 1 [CONTAINS]
-                     |  Reduce Output Operator [RS_17]
-                     |     key expressions:_col0 (type: string)
-                     |     Map-reduce partition columns:_col0 (type: string)
-                     |     sort order:+
-                     |     Select Operator [SEL_1]
-                     |        outputColumnNames:["_col0"]
-                     |        Filter Operator [FIL_99]
-                     |           predicate:value is not null (type: boolean)
-                     |           TableScan [TS_0]
-                     |              alias:x
-                     |<-Map 5 [CONTAINS]
-                        Reduce Output Operator [RS_17]
-                           key expressions:_col0 (type: string)
-                           Map-reduce partition columns:_col0 (type: string)
-                           sort order:+
-                           Select Operator [SEL_3]
-                              outputColumnNames:["_col0"]
-                              Filter Operator [FIL_100]
-                                 predicate:value is not null (type: boolean)
-                                 TableScan [TS_2]
-                                    alias:y
+                  |  keys:{"Map 21":"_col0 (type: string)","Map 17":"_col1 (type: string)"}
+                  |  outputColumnNames:["_col1","_col4"]
+                  |<- Please refer to the previous Map 21 [BROADCAST_EDGE]
+                  |<-Map Join Operator [MAPJOIN_123]
+                     |  condition map:[{"":"Inner Join 0 to 1"}]
+                     |  keys:{"Map 20":"_col1 (type: string)","Map 17":"_col0 (type: string)"}
+                     |  outputColumnNames:["_col1"]
+                     |<- Please refer to the previous Map 20 [BROADCAST_EDGE]
+                     |<-Select Operator [SEL_51]
+                           outputColumnNames:["_col0"]
+                           Filter Operator [FIL_114]
+                              predicate:value is not null (type: boolean)
+                              TableScan [TS_50]
+                                 alias:y
 PREHOOK: query: explain
 SELECT x.key, y.value
 FROM src1 x JOIN src y ON (x.key = y.key) 
@@ -3114,56 +3160,54 @@
 Plan optimized by CBO.
 
 Vertex dependency in root stage
+Map 12 <- Union 13 (CONTAINS)
 Map 30 <- Union 24 (CONTAINS)
-Reducer 13 <- Map 12 (SIMPLE_EDGE), Map 15 (SIMPLE_EDGE)
-Reducer 14 <- Reducer 13 (SIMPLE_EDGE), Reducer 20 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 14 <- Union 13 (SIMPLE_EDGE), Union 15 (CONTAINS)
 Map 23 <- Union 24 (CONTAINS)
 Map 32 <- Union 28 (CONTAINS)
 Reducer 25 <- Union 24 (SIMPLE_EDGE), Union 26 (CONTAINS)
-Map 22 <- Union 19 (CONTAINS)
 Map 31 <- Union 26 (CONTAINS)
-Map 21 <- Union 17 (CONTAINS)
-Map 34 <- Map 33 (BROADCAST_EDGE)
-Map 1 <- Union 2 (CONTAINS)
-Reducer 20 <- Union 19 (SIMPLE_EDGE)
-Map 10 <- Map 11 (BROADCAST_EDGE)
-Reducer 4 <- Map 10 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS)
-Reducer 6 <- Union 5 (SIMPLE_EDGE), Union 7 (CONTAINS)
-Map 16 <- Union 17 (CONTAINS)
-Reducer 8 <- Union 7 (SIMPLE_EDGE)
+Map 20 <- Union 15 (CONTAINS)
+Map 10 <- Union 8 (CONTAINS)
+Reducer 4 <- Union 3 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Map 19 <- Union 13 (CONTAINS)
+Reducer 6 <- Union 5 (SIMPLE_EDGE)
+Reducer 9 <- Map 11 (BROADCAST_EDGE), Union 8 (SIMPLE_EDGE)
+Reducer 17 <- Map 21 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE)
 Reducer 27 <- Union 26 (SIMPLE_EDGE), Union 28 (CONTAINS)
-Reducer 18 <- Union 17 (SIMPLE_EDGE), Union 19 (CONTAINS)
-Reducer 29 <- Map 34 (BROADCAST_EDGE), Union 28 (SIMPLE_EDGE), Union 7 (CONTAINS)
-Reducer 3 <- Union 2 (SIMPLE_EDGE)
-Map 9 <- Union 2 (CONTAINS)
+Reducer 18 <- Map 22 (SIMPLE_EDGE), Reducer 17 (SIMPLE_EDGE), Union 3 (CONTAINS)
+Reducer 29 <- Map 33 (BROADCAST_EDGE), Map 34 (BROADCAST_EDGE), Union 28 (SIMPLE_EDGE), Union 5 (CONTAINS)
+Reducer 16 <- Union 15 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE), Union 3 (CONTAINS)
+Map 7 <- Union 8 (CONTAINS)
 
 Stage-0
    Fetch Operator
       limit:-1
       Stage-1
-         Reducer 8
-         File Output Operator [FS_121]
+         Reducer 6
+         File Output Operator [FS_120]
             compressed:false
-            Statistics:Num rows: 272 Data size: 2889 Basic stats: COMPLETE Column stats: NONE
+            Statistics:Num rows: 270 Data size: 2865 Basic stats: COMPLETE Column stats: NONE
             table:{"serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe","input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"}
-            Group By Operator [GBY_119]
+            Group By Operator [GBY_118]
             |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
             |  outputColumnNames:["_col0","_col1"]
-            |  Statistics:Num rows: 272 Data size: 2889 Basic stats: COMPLETE Column stats: NONE
-            |<-Union 7 [SIMPLE_EDGE]
-               |<-Reducer 6 [CONTAINS]
-               |  Reduce Output Operator [RS_118]
+            |  Statistics:Num rows: 270 Data size: 2865 Basic stats: COMPLETE Column stats: NONE
+            |<-Union 5 [SIMPLE_EDGE]
+               |<-Reducer 4 [CONTAINS]
+               |  Reduce Output Operator [RS_117]
                |     key expressions:_col0 (type: string), _col1 (type: string)
                |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
                |     sort order:++
-               |     Group By Operator [GBY_117]
+               |     Group By Operator [GBY_116]
                |        keys:_col0 (type: string), _col1 (type: string)
                |        outputColumnNames:["_col0","_col1"]
                |        Group By Operator [GBY_67]
                |        |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
                |        |  outputColumnNames:["_col0","_col1"]
-               |        |<-Union 5 [SIMPLE_EDGE]
-               |           |<-Reducer 14 [CONTAINS]
+               |        |<-Union 3 [SIMPLE_EDGE]
+               |           |<-Reducer 18 [CONTAINS]
                |           |  Reduce Output Operator [RS_66]
                |           |     key expressions:_col0 (type: string), _col1 (type: string)
                |           |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
@@ -3173,123 +3217,122 @@
                |           |        outputColumnNames:["_col0","_col1"]
                |           |        Select Operator [SEL_61]
                |           |           outputColumnNames:["_col0","_col1"]
-               |           |           Merge Join Operator [MERGEJOIN_162]
+               |           |           Merge Join Operator [MERGEJOIN_166]
                |           |           |  condition map:[{"":"Inner Join 0 to 1"}]
                |           |           |  keys:{"1":"_col0 (type: string)","0":"_col1 (type: string)"}
-               |           |           |  outputColumnNames:["_col0","_col3"]
-               |           |           |<-Reducer 13 [SIMPLE_EDGE]
-               |           |           |  Reduce Output Operator [RS_57]
-               |           |           |     key expressions:_col1 (type: string)
-               |           |           |     Map-reduce partition columns:_col1 (type: string)
+               |           |           |  outputColumnNames:["_col1","_col4"]
+               |           |           |<-Map 22 [SIMPLE_EDGE]
+               |           |           |  Reduce Output Operator [RS_59]
+               |           |           |     key expressions:_col0 (type: string)
+               |           |           |     Map-reduce partition columns:_col0 (type: string)
                |           |           |     sort order:+
-               |           |           |     Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-               |           |           |     value expressions:_col0 (type: string), _col3 (type: string)
-               |           |           |     Merge Join Operator [MERGEJOIN_159]
-               |           |           |     |  condition map:[{"":"Inner Join 0 to 1"}]
-               |           |           |     |  keys:{"1":"_col0 (type: string)","0":"_col0 (type: string)"}
-               |           |           |     |  outputColumnNames:["_col0","_col1","_col3"]
-               |           |           |     |  Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-               |           |           |     |<-Map 12 [SIMPLE_EDGE]
-               |           |           |     |  Reduce Output Operator [RS_52]
-               |           |           |     |     key expressions:_col0 (type: string)
-               |           |           |     |     Map-reduce partition columns:_col0 (type: string)
-               |           |           |     |     sort order:+
-               |           |           |     |     Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-               |           |           |     |     value expressions:_col1 (type: string)
-               |           |           |     |     Select Operator [SEL_28]
-               |           |           |     |        outputColumnNames:["_col0","_col1"]
-               |           |           |     |        Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-               |           |           |     |        Filter Operator [FIL_147]
-               |           |           |     |           predicate:(key is not null and value is not null) (type: boolean)
-               |           |           |     |           Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
-               |           |           |     |           TableScan [TS_27]
-               |           |           |     |              alias:y
-               |           |           |     |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-               |           |           |     |<-Map 15 [SIMPLE_EDGE]
-               |           |           |        Reduce Output Operator [RS_54]
-               |           |           |           key expressions:_col0 (type: string)
-               |           |           |           Map-reduce partition columns:_col0 (type: string)
-               |           |           |           sort order:+
+               |           |           |     Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+               |           |           |     value expressions:_col1 (type: string)
+               |           |           |     Select Operator [SEL_50]
+               |           |           |        outputColumnNames:["_col0","_col1"]
+               |           |           |        Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+               |           |           |        Filter Operator [FIL_156]
+               |           |           |           predicate:key is not null (type: boolean)
                |           |           |           Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-               |           |           |           value expressions:_col1 (type: string)
-               |           |           |           Select Operator [SEL_30]
-               |           |           |              outputColumnNames:["_col0","_col1"]
-               |           |           |              Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-               |           |           |              Filter Operator [FIL_148]
-               |           |           |                 predicate:key is not null (type: boolean)
-               |           |           |                 Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-               |           |           |                 TableScan [TS_29]
-               |           |           |                    alias:y
-               |           |           |                    Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-               |           |           |<-Reducer 20 [SIMPLE_EDGE]
-               |           |              Reduce Output Operator [RS_59]
-               |           |                 key expressions:_col0 (type: string)
-               |           |                 Map-reduce partition columns:_col0 (type: string)
+               |           |           |           TableScan [TS_49]
+               |           |           |              alias:y
+               |           |           |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+               |           |           |<-Reducer 17 [SIMPLE_EDGE]
+               |           |              Reduce Output Operator [RS_57]
+               |           |                 key expressions:_col1 (type: string)
+               |           |                 Map-reduce partition columns:_col1 (type: string)
                |           |                 sort order:+
-               |           |                 Statistics:Num rows: 190 Data size: 2008 Basic stats: COMPLETE Column stats: NONE
-               |           |                 Select Operator [SEL_50]
-               |           |                    outputColumnNames:["_col0"]
-               |           |                    Statistics:Num rows: 190 Data size: 2008 Basic stats: COMPLETE Column stats: NONE
-               |           |                    Group By Operator [GBY_49]
-               |           |                    |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-               |           |                    |  outputColumnNames:["_col0","_col1"]
-               |           |                    |  Statistics:Num rows: 190 Data size: 2008 Basic stats: COMPLETE Column stats: NONE
-               |           |                    |<-Union 19 [SIMPLE_EDGE]
-               |           |                       |<-Map 22 [CONTAINS]
-               |           |                       |  Reduce Output Operator [RS_48]
-               |           |                       |     key expressions:_col0 (type: string), _col1 (type: string)
-               |           |                       |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |                       |     sort order:++
-               |           |                       |     Group By Operator [GBY_47]
-               |           |                       |        keys:_col0 (type: string), _col1 (type: string)
-               |           |                       |        outputColumnNames:["_col0","_col1"]
-               |           |                       |        Select Operator [SEL_43]
-               |           |                       |           outputColumnNames:["_col0","_col1"]
-               |           |                       |           Filter Operator [FIL_151]
-               |           |                       |              predicate:value is not null (type: boolean)
-               |           |                       |              TableScan [TS_42]
-               |           |                       |                 alias:y
-               |           |                       |<-Reducer 18 [CONTAINS]
-               |           |                          Reduce Output Operator [RS_48]
-               |           |                             key expressions:_col0 (type: string), _col1 (type: string)
-               |           |                             Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |                             sort order:++
-               |           |                             Group By Operator [GBY_47]
-               |           |                                keys:_col0 (type: string), _col1 (type: string)
-               |           |                                outputColumnNames:["_col0","_col1"]
-               |           |                                Group By Operator [GBY_40]
-               |           |                                |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-               |           |                                |  outputColumnNames:["_col0","_col1"]
-               |           |                                |<-Union 17 [SIMPLE_EDGE]
-               |           |                                   |<-Map 21 [CONTAINS]
-               |           |                                   |  Reduce Output Operator [RS_39]
-               |           |                                   |     key expressions:_col0 (type: string), _col1 (type: string)
-               |           |                                   |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |                                   |     sort order:++
-               |           |                                   |     Group By Operator [GBY_38]
-               |           |                                   |        keys:_col0 (type: string), _col1 (type: string)
-               |           |                                   |        outputColumnNames:["_col0","_col1"]
-               |           |                                   |        Select Operator [SEL_34]
-               |           |                                   |           outputColumnNames:["_col0","_col1"]
-               |           |                                   |           Filter Operator [FIL_150]
-               |           |                                   |              predicate:value is not null (type: boolean)
-               |           |                                   |              TableScan [TS_33]
-               |           |                                   |                 alias:y
-               |           |                                   |<-Map 16 [CONTAINS]
-               |           |                                      Reduce Output Operator [RS_39]
-               |           |                                         key expressions:_col0 (type: string), _col1 (type: string)
-               |           |                                         Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |           |                                         sort order:++
-               |           |                                         Group By Operator [GBY_38]
-               |           |                                            keys:_col0 (type: string), _col1 (type: string)
-               |           |                                            outputColumnNames:["_col0","_col1"]
-               |           |                                            Select Operator [SEL_32]
-               |           |                                               outputColumnNames:["_col0","_col1"]
-               |           |                                               Filter Operator [FIL_149]
-               |           |                                                  predicate:value is not null (type: boolean)
-               |           |                                                  TableScan [TS_31]
-               |           |                                                     alias:x
-               |           |<-Reducer 4 [CONTAINS]
+               |           |                 Statistics:Num rows: 209 Data size: 2208 Basic stats: COMPLETE Column stats: NONE
+               |           |                 Merge Join Operator [MERGEJOIN_165]
+               |           |                 |  condition map:[{"":"Inner Join 0 to 1"}]
+               |           |                 |  keys:{"1":"_col1 (type: string)","0":"_col0 (type: string)"}
+               |           |                 |  outputColumnNames:["_col1"]
+               |           |                 |  Statistics:Num rows: 209 Data size: 2208 Basic stats: COMPLETE Column stats: NONE
+               |           |                 |<-Map 21 [SIMPLE_EDGE]
+               |           |                 |  Reduce Output Operator [RS_54]
+               |           |                 |     key expressions:_col1 (type: string)
+               |           |                 |     Map-reduce partition columns:_col1 (type: string)
+               |           |                 |     sort order:+
+               |           |                 |     Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+               |           |                 |     value expressions:_col0 (type: string)
+               |           |                 |     Select Operator [SEL_48]
+               |           |                 |        outputColumnNames:["_col0","_col1"]
+               |           |                 |        Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+               |           |                 |        Filter Operator [FIL_155]
+               |           |                 |           predicate:(value is not null and key is not null) (type: boolean)
+               |           |                 |           Statistics:Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+               |           |                 |           TableScan [TS_47]
+               |           |                 |              alias:y
+               |           |                 |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+               |           |                 |<-Reducer 16 [SIMPLE_EDGE]
+               |           |                    Reduce Output Operator [RS_52]
+               |           |                       key expressions:_col0 (type: string)
+               |           |                       Map-reduce partition columns:_col0 (type: string)
+               |           |                       sort order:+
+               |           |                       Statistics:Num rows: 190 Data size: 2008 Basic stats: COMPLETE Column stats: NONE
+               |           |                       Select Operator [SEL_46]
+               |           |                          outputColumnNames:["_col0"]
+               |           |                          Statistics:Num rows: 190 Data size: 2008 Basic stats: COMPLETE Column stats: NONE
+               |           |                          Group By Operator [GBY_45]
+               |           |                          |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+               |           |                          |  outputColumnNames:["_col0","_col1"]
+               |           |                          |  Statistics:Num rows: 190 Data size: 2008 Basic stats: COMPLETE Column stats: NONE
+               |           |                          |<-Union 15 [SIMPLE_EDGE]
+               |           |                             |<-Reducer 14 [CONTAINS]
+               |           |                             |  Reduce Output Operator [RS_44]
+               |           |                             |     key expressions:_col0 (type: string), _col1 (type: string)
+               |           |                             |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |           |                             |     sort order:++
+               |           |                             |     Group By Operator [GBY_43]
+               |           |                             |        keys:_col0 (type: string), _col1 (type: string)
+               |           |                             |        outputColumnNames:["_col0","_col1"]
+               |           |                             |        Group By Operator [GBY_36]
+               |           |                             |        |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+               |           |                             |        |  outputColumnNames:["_col0","_col1"]
+               |           |                             |        |<-Union 13 [SIMPLE_EDGE]
+               |           |                             |           |<-Map 12 [CONTAINS]
+               |           |                             |           |  Reduce Output Operator [RS_35]
+               |           |                             |           |     key expressions:_col0 (type: string), _col1 (type: string)
+               |           |                             |           |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |           |                             |           |     sort order:++
+               |           |                             |           |     Group By Operator [GBY_34]
+               |           |                             |           |        keys:_col0 (type: string), _col1 (type: string)
+               |           |                             |           |        outputColumnNames:["_col0","_col1"]
+               |           |                             |           |        Select Operator [SEL_28]
+               |           |                             |           |           outputColumnNames:["_col0","_col1"]
+               |           |                             |           |           Filter Operator [FIL_152]
+               |           |                             |           |              predicate:value is not null (type: boolean)
+               |           |                             |           |              TableScan [TS_27]
+               |           |                             |           |                 alias:x
+               |           |                             |           |<-Map 19 [CONTAINS]
+               |           |                             |              Reduce Output Operator [RS_35]
+               |           |                             |                 key expressions:_col0 (type: string), _col1 (type: string)
+               |           |                             |                 Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |           |                             |                 sort order:++
+               |           |                             |                 Group By Operator [GBY_34]
+               |           |                             |                    keys:_col0 (type: string), _col1 (type: string)
+               |           |                             |                    outputColumnNames:["_col0","_col1"]
+               |           |                             |                    Select Operator [SEL_30]
+               |           |                             |                       outputColumnNames:["_col0","_col1"]
+               |           |                             |                       Filter Operator [FIL_153]
+               |           |                             |                          predicate:value is not null (type: boolean)
+               |           |                             |                          TableScan [TS_29]
+               |           |                             |                             alias:y
+               |           |                             |<-Map 20 [CONTAINS]
+               |           |                                Reduce Output Operator [RS_44]
+               |           |                                   key expressions:_col0 (type: string), _col1 (type: string)
+               |           |                                   Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |           |                                   sort order:++
+               |           |                                   Group By Operator [GBY_43]
+               |           |                                      keys:_col0 (type: string), _col1 (type: string)
+               |           |                                      outputColumnNames:["_col0","_col1"]
+               |           |                                      Select Operator [SEL_39]
+               |           |                                         outputColumnNames:["_col0","_col1"]
+               |           |                                         Filter Operator [FIL_154]
+               |           |                                            predicate:value is not null (type: boolean)
+               |           |                                            TableScan [TS_38]
+               |           |                                               alias:y
+               |           |<-Reducer 2 [CONTAINS]
                |              Reduce Output Operator [RS_66]
                |                 key expressions:_col0 (type: string), _col1 (type: string)
                |                 Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
@@ -3299,226 +3342,225 @@
                |                    outputColumnNames:["_col0","_col1"]
                |                    Select Operator [SEL_26]
                |                       outputColumnNames:["_col0","_col1"]
-               |                       Merge Join Operator [MERGEJOIN_161]
+               |                       Merge Join Operator [MERGEJOIN_164]
                |                       |  condition map:[{"":"Inner Join 0 to 1"}]
-               |                       |  keys:{"1":"_col3 (type: string)","0":"_col0 (type: string)"}
-               |                       |  outputColumnNames:["_col2","_col3"]
-               |                       |<-Map 10 [SIMPLE_EDGE]
-               |                       |  Reduce Output Operator [RS_24]
-               |                       |     key expressions:_col3 (type: string)
-               |                       |     Map-reduce partition columns:_col3 (type: string)
+               |                       |  keys:{"1":"_col1 (type: string)","0":"_col0 (type: string)"}
+               |                       |  outputColumnNames:["_col1","_col3"]
+               |                       |<-Map 1 [SIMPLE_EDGE]
+               |                       |  Reduce Output Operator [RS_22]
+               |                       |     key expressions:_col0 (type: string)
+               |                       |     Map-reduce partition columns:_col0 (type: string)
                |                       |     sort order:+
-               |                       |     Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-               |                       |     value expressions:_col1 (type: string), _col2 (type: string)
-               |                       |     Map Join Operator [MAPJOIN_158]
-               |                       |     |  condition map:[{"":"Inner Join 0 to 1"}]
-               |                       |     |  keys:{"Map 11":"_col0 (type: string)","Map 10":"_col0 (type: string)"}
-               |                       |     |  outputColumnNames:["_col1","_col2","_col3"]
-               |                       |     |  Statistics:Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
-               |                       |     |<-Map 11 [BROADCAST_EDGE]
-               |                       |     |  Reduce Output Operator [RS_18]
-               |                       |     |     key expressions:_col0 (type: string)
-               |                       |     |     Map-reduce partition columns:_col0 (type: string)
-               |                       |     |     sort order:+
-               |                       |     |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-               |                       |     |     value expressions:_col1 (type: string)
-               |                       |     |     Select Operator [SEL_14]
-               |                       |     |        outputColumnNames:["_col0","_col1"]
-               |                       |     |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-               |                       |     |        Filter Operator [FIL_146]
-               |                       |     |           predicate:(key is not null and value is not null) (type: boolean)
-               |                       |     |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-               |                       |     |           TableScan [TS_13]
-               |                       |     |              alias:x
-               |                       |     |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
-               |                       |     |<-Select Operator [SEL_12]
-               |                       |           outputColumnNames:["_col0","_col1"]
+               |                       |     Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+               |                       |     value expressions:_col1 (type: string)
+               |                       |     Select Operator [SEL_1]
+               |                       |        outputColumnNames:["_col0","_col1"]
+               |                       |        Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+               |                       |        Filter Operator [FIL_148]
+               |                       |           predicate:key is not null (type: boolean)
                |                       |           Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-               |                       |           Filter Operator [FIL_145]
-               |                       |              predicate:key is not null (type: boolean)
-               |                       |              Statistics:Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-               |                       |              TableScan [TS_11]
-               |                       |                 alias:y
-               |                       |                 Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-               |                       |<-Reducer 3 [SIMPLE_EDGE]
-               |                          Reduce Output Operator [RS_22]
-               |                             key expressions:_col0 (type: string)
-               |                             Map-reduce partition columns:_col0 (type: string)
+               |                       |           TableScan [TS_0]
+               |                       |              alias:y
+               |                       |              Statistics:Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+               |                       |<-Reducer 9 [SIMPLE_EDGE]
+               |                          Reduce Output Operator [RS_24]
+               |                             key expressions:_col1 (type: string)
+               |                             Map-reduce partition columns:_col1 (type: string)
                |                             sort order:+
-               |                             Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-               |                             Select Operator [SEL_10]
-               |                                outputColumnNames:["_col0"]
-               |                                Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-               |                                Group By Operator [GBY_9]
-               |                                |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-               |                                |  outputColumnNames:["_col0","_col1"]
-               |                                |  Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
-               |                                |<-Union 2 [SIMPLE_EDGE]
-               |                                   |<-Map 1 [CONTAINS]
-               |                                   |  Reduce Output Operator [RS_8]
-               |                                   |     key expressions:_col0 (type: string), _col1 (type: string)
-               |                                   |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |                                   |     sort order:++
-               |                                   |     Group By Operator [GBY_7]
-               |                                   |        keys:_col0 (type: string), _col1 (type: string)
-               |                                   |        outputColumnNames:["_col0","_col1"]
-               |                                   |        Select Operator [SEL_1]
-               |                                   |           outputColumnNames:["_col0","_col1"]
-               |                                   |           Filter Operator [FIL_143]
-               |                                   |              predicate:value is not null (type: boolean)
-               |                                   |              TableScan [TS_0]
-               |                                   |                 alias:x
-               |                                   |<-Map 9 [CONTAINS]
-               |                                      Reduce Output Operator [RS_8]
-               |                                         key expressions:_col0 (type: string), _col1 (type: string)
-               |                                         Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-               |                                         sort order:++
-               |                                         Group By Operator [GBY_7]
-               |                                            keys:_col0 (type: string), _col1 (type: string)
-               |                                            outputColumnNames:["_col0","_col1"]
-               |                                            Select Operator [SEL_3]
+               |                             Statistics:Num rows: 144 Data size: 1509 Basic stats: COMPLETE Column stats: NONE
+               |                             Map Join Operator [MAPJOIN_163]
+               |                             |  condition map:[{"":"Inner Join 0 to 1"}]
+               |                             |  keys:{"Map 11":"_col1 (type: string)","Reducer 9":"_col0 (type: string)"}
+               |                             |  outputColumnNames:["_col1"]
+               |                             |  Statistics:Num rows: 144 Data size: 1509 Basic stats: COMPLETE Column stats: NONE
+               |                             |<-Map 11 [BROADCAST_EDGE]
+               |                             |  Reduce Output Operator [RS_18]
+               |                             |     key expressions:_col1 (type: string)
+               |                             |     Map-reduce partition columns:_col1 (type: string)
+               |                             |     sort order:+
+               |                             |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+               |                             |     value expressions:_col0 (type: string)
+               |                             |     Select Operator [SEL_14]
+               |                             |        outputColumnNames:["_col0","_col1"]
+               |                             |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+               |                             |        Filter Operator [FIL_151]
+               |                             |           predicate:(value is not null and key is not null) (type: boolean)
+               |                             |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+               |                             |           TableScan [TS_13]
+               |                             |              alias:x
+               |                             |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+               |                             |<-Select Operator [SEL_12]
+               |                                   outputColumnNames:["_col0"]
+               |                                   Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
+               |                                   Group By Operator [GBY_11]
+               |                                   |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+               |                                   |  outputColumnNames:["_col0","_col1"]
+               |                                   |  Statistics:Num rows: 131 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
+               |                                   |<-Union 8 [SIMPLE_EDGE]
+               |                                      |<-Map 10 [CONTAINS]
+               |                                      |  Reduce Output Operator [RS_10]
+               |                                      |     key expressions:_col0 (type: string), _col1 (type: string)
+               |                                      |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |                                      |     sort order:++
+               |                                      |     Group By Operator [GBY_9]
+               |                                      |        keys:_col0 (type: string), _col1 (type: string)
+               |                                      |        outputColumnNames:["_col0","_col1"]
+               |                                      |        Select Operator [SEL_5]
+               |                                      |           outputColumnNames:["_col0","_col1"]
+               |                                      |           Filter Operator [FIL_150]
+               |                                      |              predicate:value is not null (type: boolean)
+               |                                      |              TableScan [TS_4]
+               |                                      |                 alias:y
+               |                                      |<-Map 7 [CONTAINS]
+               |                                         Reduce Output Operator [RS_10]
+               |                                            key expressions:_col0 (type: string), _col1 (type: string)
+               |                                            Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+               |                                            sort order:++
+               |                                            Group By Operator [GBY_9]
+               |                                               keys:_col0 (type: string), _col1 (type: string)
                |                                               outputColumnNames:["_col0","_col1"]
-               |                                               Filter Operator [FIL_144]
-               |                                                  predicate:value is not null (type: boolean)
-               |                                                  TableScan [TS_2]
-               |                                                     alias:y
+               |                                               Select Operator [SEL_3]
+               |                                                  outputColumnNames:["_col0","_col1"]
+               |                                                  Filter Operator [FIL_149]
+               |                                                     predicate:value is not null (type: boolean)
+               |                                                     TableScan [TS_2]
+               |                                                        alias:x
                |<-Reducer 29 [CONTAINS]
-                  Reduce Output Operator [RS_118]
+                  Reduce Output Operator [RS_117]
                      key expressions:_col0 (type: string), _col1 (type: string)
                      Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
                      sort order:++
-                     Group By Operator [GBY_117]
+                     Group By Operator [GBY_116]
                         keys:_col0 (type: string), _col1 (type: string)
                         outputColumnNames:["_col0","_col1"]
-                        Select Operator [SEL_113]
+                        Select Operator [SEL_112]
                            outputColumnNames:["_col0","_col1"]
-                           Map Join Operator [MAPJOIN_163]
+                           Map Join Operator [MAPJOIN_168]
                            |  condition map:[{"":"Inner Join 0 to 1"}]
-                           |  keys:{"Map 34":"_col1 (type: string)","Reducer 29":"_col0 (type: string)"}
+                           |  keys:{"Map 34":"_col0 (type: string)","Reducer 29":"_col1 (type: string)"}
                            |  outputColumnNames:["_col1","_col4"]
                            |<-Map 34 [BROADCAST_EDGE]
-                           |  Reduce Output Operator [RS_111]
-                           |     key expressions:_col1 (type: string)
-                           |     Map-reduce partition columns:_col1 (type: string)
+                           |  Reduce Output Operator [RS_110]
+                           |     key expressions:_col0 (type: string)
+                           |     Map-reduce partition columns:_col0 (type: string)
                            |     sort order:+
-                           |     Statistics:Num rows: 14 Data size: 108 Basic stats: COMPLETE Column stats: NONE
-                           |     value expressions:_col0 (type: string), _col3 (type: string)
-                           |     Map Join Operator [MAPJOIN_160]
-                           |     |  condition map:[{"":"Inner Join 0 to 1"}]
-                           |     |  keys:{"Map 34":"_col0 (type: string)","Map 33":"_col0 (type: string)"}
-                           |     |  outputColumnNames:["_col0","_col1","_col3"]
-                           |     |  Statistics:Num rows: 14 Data size: 108 Basic stats: COMPLETE Column stats: NONE
-                           |     |<-Map 33 [BROADCAST_EDGE]
-                           |     |  Reduce Output Operator [RS_103]
-                           |     |     key expressions:_col0 (type: string)
-                           |     |     Map-reduce partition columns:_col0 (type: string)
-                           |     |     sort order:+
-                           |     |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                           |     |     value expressions:_col1 (type: string)
-                           |     |     Select Operator [SEL_99]
-                           |     |        outputColumnNames:["_col0","_col1"]
-                           |     |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                           |     |        Filter Operator [FIL_156]
-                           |     |           predicate:(key is not null and value is not null) (type: boolean)
-                           |     |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
-                           |     |           TableScan [TS_98]
-                           |     |              alias:x
-                           |     |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
-                           |     |<-Select Operator [SEL_101]
-                           |           outputColumnNames:["_col0","_col1"]
+                           |     Statistics:Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
+                           |     value expressions:_col1 (type: string)
+                           |     Select Operator [SEL_101]
+                           |        outputColumnNames:["_col0","_col1"]
+                           |        Statistics:Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
+                           |        Filter Operator [FIL_162]
+                           |           predicate:key is not null (type: boolean)
                            |           Statistics:Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
-                           |           Filter Operator [FIL_157]
-                           |              predicate:key is not null (type: boolean)
-                           |              Statistics:Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
-                           |              TableScan [TS_100]
-                           |                 alias:x
-                           |                 Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
-                           |<-Select Operator [SEL_97]
-                                 outputColumnNames:["_col0"]
-                                 Group By Operator [GBY_96]
-                                 |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-                                 |  outputColumnNames:["_col0","_col1"]
-                                 |<-Union 28 [SIMPLE_EDGE]
-                                    |<-Map 32 [CONTAINS]
-                                    |  Reduce Output Operator [RS_95]
-                                    |     key expressions:_col0 (type: string), _col1 (type: string)
-                                    |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                                    |     sort order:++
-                                    |     Group By Operator [GBY_94]
-                                    |        keys:_col0 (type: string), _col1 (type: string)
-                                    |        outputColumnNames:["_col0","_col1"]
-                                    |        Select Operator [SEL_90]
-                                    |           outputColumnNames:["_col0","_col1"]
-                                    |           Filter Operator [FIL_155]
-                                    |              predicate:value is not null (type: boolean)
-                                    |              TableScan [TS_89]
-                                    |                 alias:y
-                                    |<-Reducer 27 [CONTAINS]
-                                       Reduce Output Operator [RS_95]
-                                          key expressions:_col0 (type: string), _col1 (type: string)
-                                          Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                                          sort order:++
-                                          Group By Operator [GBY_94]
-                                             keys:_col0 (type: string), _col1 (type: string)
-                                             outputColumnNames:["_col0","_col1"]
-                                             Group By Operator [GBY_87]
-                                             |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-                                             |  outputColumnNames:["_col0","_col1"]
-                                             |<-Union 26 [SIMPLE_EDGE]
-                                                |<-Reducer 25 [CONTAINS]
-                                                |  Reduce Output Operator [RS_86]
-                                                |     key expressions:_col0 (type: string), _col1 (type: string)
-                                                |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                                                |     sort order:++
-                                                |     Group By Operator [GBY_85]
-                                                |        keys:_col0 (type: string), _col1 (type: string)
-                                                |        outputColumnNames:["_col0","_col1"]
-                                                |        Group By Operator [GBY_78]
-                                                |        |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
-                                                |        |  outputColumnNames:["_col0","_col1"]
-                                                |        |<-Union 24 [SIMPLE_EDGE]
-                                                |           |<-Map 30 [CONTAINS]
-                                                |           |  Reduce Output Operator [RS_77]
-                                                |           |     key expressions:_col0 (type: string), _col1 (type: string)
-                                                |           |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                                                |           |     sort order:++
-                                                |           |     Group By Operator [GBY_76]
-                                                |           |        keys:_col0 (type: string), _col1 (type: string)
-                                                |           |        outputColumnNames:["_col0","_col1"]
-                                                |           |        Select Operator [SEL_72]
-                                                |           |           outputColumnNames:["_col0","_col1"]
-                                                |           |           Filter Operator [FIL_153]
-                                                |           |              predicate:value is not null (type: boolean)
-                                                |           |              TableScan [TS_71]
-                                                |           |                 alias:y
-                                                |           |<-Map 23 [CONTAINS]
-                                                |              Reduce Output Operator [RS_77]
-                                                |                 key expressions:_col0 (type: string), _col1 (type: string)
-                                                |                 Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                                                |                 sort order:++
-                                                |                 Group By Operator [GBY_76]
-                                                |                    keys:_col0 (type: string), _col1 (type: string)
-                                                |                    outputColumnNames:["_col0","_col1"]
-                                                |                    Select Operator [SEL_70]
-                                                |                       outputColumnNames:["_col0","_col1"]
-                                                |                       Filter Operator [FIL_152]
-                                                |                          predicate:value is not null (type: boolean)
-                                                |                          TableScan [TS_69]
-                                                |                             alias:x
-                                                |<-Map 31 [CONTAINS]
-                                                   Reduce Output Operator [RS_86]
-                                                      key expressions:_col0 (type: string), _col1 (type: string)
-                                                      Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
-                                                      sort order:++
-                                                      Group By Operator [GBY_85]
-                                                         keys:_col0 (type: string), _col1 (type: string)
-                                                         outputColumnNames:["_col0","_col1"]
-                                                         Select Operator [SEL_81]
+                           |           TableScan [TS_100]
+                           |              alias:x
+                           |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+                           |<-Map Join Operator [MAPJOIN_167]
+                              |  condition map:[{"":"Inner Join 0 to 1"}]
+                              |  keys:{"Map 33":"_col1 (type: string)","Reducer 29":"_col0 (type: string)"}
+                              |  outputColumnNames:["_col1"]
+                              |<-Map 33 [BROADCAST_EDGE]
+                              |  Reduce Output Operator [RS_105]
+                              |     key expressions:_col1 (type: string)
+                              |     Map-reduce partition columns:_col1 (type: string)
+                              |     sort order:+
+                              |     Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                              |     value expressions:_col0 (type: string)
+                              |     Select Operator [SEL_99]
+                              |        outputColumnNames:["_col0","_col1"]
+                              |        Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                              |        Filter Operator [FIL_161]
+                              |           predicate:(value is not null and key is not null) (type: boolean)
+                              |           Statistics:Num rows: 7 Data size: 53 Basic stats: COMPLETE Column stats: NONE
+                              |           TableScan [TS_98]
+                              |              alias:x
+                              |              Statistics:Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+                              |<-Select Operator [SEL_97]
+                                    outputColumnNames:["_col0"]
+                                    Group By Operator [GBY_96]
+                                    |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+                                    |  outputColumnNames:["_col0","_col1"]
+                                    |<-Union 28 [SIMPLE_EDGE]
+                                       |<-Map 32 [CONTAINS]
+                                       |  Reduce Output Operator [RS_95]
+                                       |     key expressions:_col0 (type: string), _col1 (type: string)
+                                       |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                                       |     sort order:++
+                                       |     Group By Operator [GBY_94]
+                                       |        keys:_col0 (type: string), _col1 (type: string)
+                                       |        outputColumnNames:["_col0","_col1"]
+                                       |        Select Operator [SEL_90]
+                                       |           outputColumnNames:["_col0","_col1"]
+                                       |           Filter Operator [FIL_160]
+                                       |              predicate:value is not null (type: boolean)
+                                       |              TableScan [TS_89]
+                                       |                 alias:y
+                                       |<-Reducer 27 [CONTAINS]
+                                          Reduce Output Operator [RS_95]
+                                             key expressions:_col0 (type: string), _col1 (type: string)
+                                             Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                                             sort order:++
+                                             Group By Operator [GBY_94]
+                                                keys:_col0 (type: string), _col1 (type: string)
+                                                outputColumnNames:["_col0","_col1"]
+                                                Group By Operator [GBY_87]
+                                                |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+                                                |  outputColumnNames:["_col0","_col1"]
+                                                |<-Union 26 [SIMPLE_EDGE]
+                                                   |<-Reducer 25 [CONTAINS]
+                                                   |  Reduce Output Operator [RS_86]
+                                                   |     key expressions:_col0 (type: string), _col1 (type: string)
+                                                   |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                                                   |     sort order:++
+                                                   |     Group By Operator [GBY_85]
+                                                   |        keys:_col0 (type: string), _col1 (type: string)
+                                                   |        outputColumnNames:["_col0","_col1"]
+                                                   |        Group By Operator [GBY_78]
+                                                   |        |  keys:KEY._col0 (type: string), KEY._col1 (type: string)
+                                                   |        |  outputColumnNames:["_col0","_col1"]
+                                                   |        |<-Union 24 [SIMPLE_EDGE]
+                                                   |           |<-Map 30 [CONTAINS]
+                                                   |           |  Reduce Output Operator [RS_77]
+                                                   |           |     key expressions:_col0 (type: string), _col1 (type: string)
+                                                   |           |     Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                                                   |           |     sort order:++
+                                                   |           |     Group By Operator [GBY_76]
+                                                   |           |        keys:_col0 (type: string), _col1 (type: string)
+                                                   |           |        outputColumnNames:["_col0","_col1"]
+                                                   |           |        Select Operator [SEL_72]
+                                                   |           |           outputColumnNames:["_col0","_col1"]
+                                                   |           |           Filter Operator [FIL_158]
+                                                   |           |              predicate:value is not null (type: boolean)
+                                                   |           |              TableScan [TS_71]
+                                                   |           |                 alias:y
+                                                   |           |<-Map 23 [CONTAINS]
+                                                   |              Reduce Output Operator [RS_77]
+                                                   |                 key expressions:_col0 (type: string), _col1 (type: string)
+                                                   |                 Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                                                   |                 sort order:++
+                                                   |                 Group By Operator [GBY_76]
+                                                   |                    keys:_col0 (type: string), _col1 (type: string)
+                                                   |                    outputColumnNames:["_col0","_col1"]
+                                                   |                    Select Operator [SEL_70]
+                                                   |                       outputColumnNames:["_col0","_col1"]
+                                                   |                       Filter Operator [FIL_157]
+                                                   |                          predicate:value is not null (type: boolean)
+                                                   |                          TableScan [TS_69]
+                                                   |                             alias:x
+                                                   |<-Map 31 [CONTAINS]
+                                                      Reduce Output Operator [RS_86]
+                                                         key expressions:_col0 (type: string), _col1 (type: string)
+                                                         Map-reduce partition columns:_col0 (type: string), _col1 (type: string)
+                                                         sort order:++
+                                                         Group By Operator [GBY_85]
+                                                            keys:_col0 (type: string), _col1 (type: string)
                                                             outputColumnNames:["_col0","_col1"]
-                                                            Filter Operator [FIL_154]
-                                                               predicate:value is not null (type: boolean)
-                                                               TableScan [TS_80]
-                                                                  alias:y
+                                                            Select Operator [SEL_81]
+                                                               outputColumnNames:["_col0","_col1"]
+                                                               Filter Operator [FIL_159]
+                                                                  predicate:value is not null (type: boolean)
+                                                                  TableScan [TS_80]
+                                                                     alias:y
 PREHOOK: query: CREATE TABLE a(key STRING, value STRING) STORED AS TEXTFILE
 PREHOOK: type: CREATETABLE
 PREHOOK: Output: database:default
diff --git a/ql/src/test/results/clientpositive/tez/ptf.q.out b/ql/src/test/results/clientpositive/tez/ptf.q.out
index 2a92d77..b4b7a4b 100644
--- a/ql/src/test/results/clientpositive/tez/ptf.q.out
+++ b/ql/src/test/results/clientpositive/tez/ptf.q.out
@@ -93,28 +93,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -297,7 +297,7 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: lag_window_0
                               arguments: _col5, 1, _col5
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -305,7 +305,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), (_col5 - _wcol0) (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), (_col5 - lag_window_0) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -571,28 +571,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -748,21 +748,21 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: lag_window_2
                               arguments: _col5, 1, _col5
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -770,7 +770,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), (_col5 - _wcol2) (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), (_col5 - lag_window_2) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -950,21 +950,21 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: lag_window_2
                               arguments: _col2, 1, _col2
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -972,7 +972,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int), _wcol0 (type: int), _wcol1 (type: int), _col2 (type: int), (_col2 - _wcol2) (type: int)
+                    expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col2 (type: int), (_col2 - lag_window_2) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
                     Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1440,7 +1440,7 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1, _col5
                               name: rank
                               window function: GenericUDAFRankEvaluator
@@ -1448,7 +1448,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1613,28 +1613,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1786,28 +1786,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -2019,28 +2019,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -2202,20 +2202,20 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: count_window_0
                               arguments: _col5
                               name: count
                               window function: GenericUDAFCountEvaluator
                               window frame: PRECEDING(MAX)~
                             window function definition
-                              alias: _wcol1
+                              alias: sum_window_1
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(2)~FOLLOWING(2)
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: bigint), _wcol1 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), count_window_0 (type: bigint), sum_window_1 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -2414,33 +2414,33 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: count_window_2
                               arguments: _col1
                               name: count
                               window function: GenericUDAFCountEvaluator
                               window frame: PRECEDING(MAX)~
                             window function definition
-                              alias: _wcol3
+                              alias: sum_window_3
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                             window function definition
-                              alias: _wcol4
+                              alias: lag_window_4
                               arguments: _col5, 1, _col5
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -2448,7 +2448,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: bigint), _col7 (type: double), _wcol3 (type: double), _col5 (type: int), (_col5 - _wcol4) (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), sum_window_3 (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
                     Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -2767,14 +2767,14 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: sum_window_0
                               arguments: _col2
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(2)~
                   Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), _wcol0 (type: double)
+                    expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), sum_window_0 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -2986,28 +2986,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -3038,22 +3038,22 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: sum_window_0
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(5)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col1 (type: string), _col2 (type: string), _col5 (type: int), _wcol0 (type: bigint)
-                    outputColumnNames: _col1, _col2, _col5, _wcol0
+                    expressions: _col1 (type: string), _col2 (type: string), _col5 (type: int), sum_window_0 (type: bigint)
+                    outputColumnNames: _col1, _col2, _col5, sum_window_0
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     Reduce Output Operator
                       key expressions: _col2 (type: string), _col1 (type: string)
                       sort order: ++
                       Map-reduce partition columns: _col2 (type: string)
                       Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
-                      value expressions: _wcol0 (type: bigint), _col5 (type: int)
+                      value expressions: sum_window_0 (type: bigint), _col5 (type: int)
         Reducer 5 
             Reduce Operator Tree:
               Select Operator
@@ -3074,35 +3074,35 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol1
+                              alias: rank_window_1
                               arguments: _col3, _col2
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: dense_rank_window_2
                               arguments: _col3, _col2
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol3
+                              alias: cume_dist_window_3
                               arguments: _col3, _col2
                               name: cume_dist
                               window function: GenericUDAFCumeDistEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol4
+                              alias: first_value_window_4
                               arguments: _col6, true
                               name: first_value
                               window function: GenericUDAFFirstValueEvaluator
                               window frame: PRECEDING(2)~FOLLOWING(2)
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col3 (type: string), _col2 (type: string), _col6 (type: int), UDFToInteger(round(_col0, 1)) (type: int), _wcol1 (type: int), _wcol2 (type: int), _wcol3 (type: double), _wcol4 (type: int)
+                    expressions: _col3 (type: string), _col2 (type: string), _col6 (type: int), UDFToInteger(round(_col0, 1)) (type: int), rank_window_1 (type: int), dense_rank_window_2 (type: int), cume_dist_window_3 (type: double), first_value_window_4 (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -3431,28 +3431,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col2, _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col2, _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -3697,28 +3697,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -3939,28 +3939,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -4218,28 +4218,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col2, _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col2, _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -4479,28 +4479,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col2, _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col2, _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -4727,28 +4727,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
diff --git a/ql/src/test/results/clientpositive/tez/ptf_streaming.q.out b/ql/src/test/results/clientpositive/tez/ptf_streaming.q.out
index 9be0819..2b37c1b 100644
--- a/ql/src/test/results/clientpositive/tez/ptf_streaming.q.out
+++ b/ql/src/test/results/clientpositive/tez/ptf_streaming.q.out
@@ -93,28 +93,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -297,7 +297,7 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: lag_window_0
                               arguments: _col5, 1, _col5
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -305,7 +305,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), (_col5 - _wcol0) (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), (_col5 - lag_window_0) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -615,7 +615,7 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1, _col5
                               name: rank
                               window function: GenericUDAFRankEvaluator
@@ -623,7 +623,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -788,28 +788,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1021,28 +1021,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1256,28 +1256,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1491,28 +1491,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1705,33 +1705,33 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: count_window_2
                               arguments: _col1
                               name: count
                               window function: GenericUDAFCountEvaluator
                               window frame: PRECEDING(MAX)~
                             window function definition
-                              alias: _wcol3
+                              alias: sum_window_3
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                             window function definition
-                              alias: _wcol4
+                              alias: lag_window_4
                               arguments: _col5, 1, _col5
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -1739,7 +1739,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: bigint), _col7 (type: double), _wcol3 (type: double), _col5 (type: int), (_col5 - _wcol4) (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), sum_window_3 (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
                     Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1980,28 +1980,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col2, _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col2, _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -2246,28 +2246,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -2496,28 +2496,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
                     Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
diff --git a/ql/src/test/results/clientpositive/tez/subquery_in.q.out b/ql/src/test/results/clientpositive/tez/subquery_in.q.out
index 5937903..38f4bc6 100644
--- a/ql/src/test/results/clientpositive/tez/subquery_in.q.out
+++ b/ql/src/test/results/clientpositive/tez/subquery_in.q.out
@@ -335,7 +335,7 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col5
                               name: rank
                               window function: GenericUDAFRankEvaluator
@@ -343,7 +343,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
-                    predicate: (_wcol0 <= 2) (type: boolean)
+                    predicate: (rank_window_0 <= 2) (type: boolean)
                     Statistics: Num rows: 8 Data size: 968 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: _col5 (type: int)
@@ -507,7 +507,7 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col5
                               name: rank
                               window function: GenericUDAFRankEvaluator
@@ -515,7 +515,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
-                    predicate: ((_wcol0 <= 2) and _col2 is not null) (type: boolean)
+                    predicate: ((rank_window_0 <= 2) and _col2 is not null) (type: boolean)
                     Statistics: Num rows: 4 Data size: 484 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: _col2 (type: string), _col5 (type: int)
diff --git a/ql/src/test/results/clientpositive/tez/vectorized_ptf.q.out b/ql/src/test/results/clientpositive/tez/vectorized_ptf.q.out
index 7b23b63..9640264 100644
--- a/ql/src/test/results/clientpositive/tez/vectorized_ptf.q.out
+++ b/ql/src/test/results/clientpositive/tez/vectorized_ptf.q.out
@@ -346,28 +346,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -768,7 +768,7 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: lag_window_0
                               arguments: _col5, 1, _col5
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -776,7 +776,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 14 Data size: 8823 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), (_col5 - _wcol0) (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), (_col5 - lag_window_0) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 14 Data size: 8823 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1297,28 +1297,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1630,21 +1630,21 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: lag_window_2
                               arguments: _col5, 1, _col5
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -1652,7 +1652,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), (_col5 - _wcol2) (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), (_col5 - lag_window_2) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -1999,21 +1999,21 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: lag_window_2
                               arguments: _col2, 1, _col2
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -2021,7 +2021,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int), _wcol0 (type: int), _wcol1 (type: int), _col2 (type: int), (_col2 - _wcol2) (type: int)
+                    expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col2 (type: int), (_col2 - lag_window_2) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
                     Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -2957,7 +2957,7 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1, _col5
                               name: rank
                               window function: GenericUDAFRankEvaluator
@@ -2965,7 +2965,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -3280,28 +3280,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -3604,28 +3604,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -3998,28 +3998,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -4352,20 +4352,20 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: count_window_0
                               arguments: _col5
                               name: count
                               window function: GenericUDAFCountEvaluator
                               window frame: PRECEDING(MAX)~
                             window function definition
-                              alias: _wcol1
+                              alias: sum_window_1
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(2)~FOLLOWING(2)
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: bigint), _wcol1 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), count_window_0 (type: bigint), sum_window_1 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -4866,33 +4866,33 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: count_window_2
                               arguments: _col1
                               name: count
                               window function: GenericUDAFCountEvaluator
                               window frame: PRECEDING(MAX)~
                             window function definition
-                              alias: _wcol3
+                              alias: sum_window_3
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                             window function definition
-                              alias: _wcol4
+                              alias: lag_window_4
                               arguments: _col5, 1, _col5
                               name: lag
                               window function: GenericUDAFLagEvaluator
@@ -4900,7 +4900,7 @@
                               isPivotResult: true
                   Statistics: Num rows: 14 Data size: 8823 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: bigint), _col7 (type: double), _wcol3 (type: double), _col5 (type: int), (_col5 - _wcol4) (type: int)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), sum_window_3 (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
                     Statistics: Num rows: 14 Data size: 8823 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -5454,14 +5454,14 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: sum_window_0
                               arguments: _col2
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(2)~
                   Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), _wcol0 (type: double)
+                    expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), sum_window_0 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3
                     Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -5939,28 +5939,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col7
                               name: sum
                               window function: GenericUDAFSumDouble
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+                    expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -6010,15 +6010,15 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: sum_window_0
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(5)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col1 (type: string), _col2 (type: string), _col5 (type: int), _wcol0 (type: bigint)
-                    outputColumnNames: _col1, _col2, _col5, _wcol0
+                    expressions: _col1 (type: string), _col2 (type: string), _col5 (type: int), sum_window_0 (type: bigint)
+                    outputColumnNames: _col1, _col2, _col5, sum_window_0
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     Reduce Output Operator
                       key expressions: _col2 (type: string), _col1 (type: string)
@@ -6026,7 +6026,7 @@
                       Map-reduce partition columns: _col2 (type: string)
                       Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                       tag: -1
-                      value expressions: _wcol0 (type: bigint), _col5 (type: int)
+                      value expressions: sum_window_0 (type: bigint), _col5 (type: int)
                       auto parallelism: true
         Reducer 5 
             Needs Tagging: false
@@ -6049,35 +6049,35 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol1
+                              alias: rank_window_1
                               arguments: _col3, _col2
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: dense_rank_window_2
                               arguments: _col3, _col2
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol3
+                              alias: cume_dist_window_3
                               arguments: _col3, _col2
                               name: cume_dist
                               window function: GenericUDAFCumeDistEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol4
+                              alias: first_value_window_4
                               arguments: _col6, true
                               name: first_value
                               window function: GenericUDAFFirstValueEvaluator
                               window frame: PRECEDING(2)~FOLLOWING(2)
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col3 (type: string), _col2 (type: string), _col6 (type: int), UDFToInteger(round(_col0, 1)) (type: int), _wcol1 (type: int), _wcol2 (type: int), _wcol3 (type: double), _wcol4 (type: int)
+                    expressions: _col3 (type: string), _col2 (type: string), _col6 (type: int), UDFToInteger(round(_col0, 1)) (type: int), rank_window_1 (type: int), dense_rank_window_2 (type: int), cume_dist_window_3 (type: double), first_value_window_4 (type: int)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -6616,28 +6616,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col2, _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col2, _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -7066,28 +7066,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -7477,28 +7477,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -7939,28 +7939,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col2, _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col2, _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -8410,28 +8410,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col2, _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col2, _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
@@ -8840,28 +8840,28 @@
                         raw input shape:
                         window functions:
                             window function definition
-                              alias: _wcol0
+                              alias: rank_window_0
                               arguments: _col1
                               name: rank
                               window function: GenericUDAFRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol1
+                              alias: dense_rank_window_1
                               arguments: _col1
                               name: dense_rank
                               window function: GenericUDAFDenseRankEvaluator
                               window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                               isPivotResult: true
                             window function definition
-                              alias: _wcol2
+                              alias: sum_window_2
                               arguments: _col5
                               name: sum
                               window function: GenericUDAFSumLong
                               window frame: PRECEDING(MAX)~
                   Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
-                    expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint), _wcol2 (type: bigint)
+                    expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint), sum_window_2 (type: bigint)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
                     Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
                     File Output Operator
diff --git a/ql/src/test/results/clientpositive/union_remove_6_subq.q.out b/ql/src/test/results/clientpositive/union_remove_6_subq.q.out
index 1b93994..81267cc 100644
--- a/ql/src/test/results/clientpositive/union_remove_6_subq.q.out
+++ b/ql/src/test/results/clientpositive/union_remove_6_subq.q.out
@@ -559,14 +559,14 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: avg_window_0
                         arguments: _col1
                         name: avg
                         window function: GenericUDAFAverageEvaluatorDouble
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col0 (type: string), _wcol0 (type: double)
+              expressions: _col0 (type: string), avg_window_0 (type: double)
               outputColumnNames: _col0, _col1
               Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
diff --git a/ql/src/test/results/clientpositive/vectorized_ptf.q.out b/ql/src/test/results/clientpositive/vectorized_ptf.q.out
index 7ffb8bd..4a89707 100644
--- a/ql/src/test/results/clientpositive/vectorized_ptf.q.out
+++ b/ql/src/test/results/clientpositive/vectorized_ptf.q.out
@@ -387,28 +387,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -844,7 +844,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: lag_window_0
                         arguments: _col5, 1, _col5
                         name: lag
                         window function: GenericUDAFLagEvaluator
@@ -852,7 +852,7 @@
                         isPivotResult: true
             Statistics: Num rows: 14 Data size: 8823 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), (_col5 - _wcol0) (type: int)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), (_col5 - lag_window_0) (type: int)
               outputColumnNames: _col0, _col1, _col2, _col3
               Statistics: Num rows: 14 Data size: 8823 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -1408,28 +1408,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -1782,21 +1782,21 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: lag_window_2
                         arguments: _col5, 1, _col5
                         name: lag
                         window function: GenericUDAFLagEvaluator
@@ -1804,7 +1804,7 @@
                         isPivotResult: true
             Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), (_col5 - _wcol2) (type: int)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), (_col5 - lag_window_2) (type: int)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
               Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -2238,21 +2238,21 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: lag_window_2
                         arguments: _col2, 1, _col2
                         name: lag
                         window function: GenericUDAFLagEvaluator
@@ -2260,7 +2260,7 @@
                         isPivotResult: true
             Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int), _wcol0 (type: int), _wcol1 (type: int), _col2 (type: int), (_col2 - _wcol2) (type: int)
+              expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col2 (type: int), (_col2 - lag_window_2) (type: int)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
               Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -3303,7 +3303,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1, _col5
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -3311,7 +3311,7 @@
                         isPivotResult: true
             Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int)
               outputColumnNames: _col0, _col1, _col2, _col3
               Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -3667,28 +3667,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -4032,28 +4032,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -4514,28 +4514,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -4909,20 +4909,20 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: count_window_0
                         arguments: _col5
                         name: count
                         window function: GenericUDAFCountEvaluator
                         window frame: PRECEDING(MAX)~
                       window function definition
-                        alias: _wcol1
+                        alias: sum_window_1
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(2)~FOLLOWING(2)
             Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: bigint), _wcol1 (type: double)
+              expressions: _col2 (type: string), _col1 (type: string), count_window_0 (type: bigint), sum_window_1 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3
               Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -5503,33 +5503,33 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: count_window_2
                         arguments: _col1
                         name: count
                         window function: GenericUDAFCountEvaluator
                         window frame: PRECEDING(MAX)~
                       window function definition
-                        alias: _wcol3
+                        alias: sum_window_3
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
                       window function definition
-                        alias: _wcol4
+                        alias: lag_window_4
                         arguments: _col5, 1, _col5
                         name: lag
                         window function: GenericUDAFLagEvaluator
@@ -5537,7 +5537,7 @@
                         isPivotResult: true
             Statistics: Num rows: 14 Data size: 8823 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: bigint), _col7 (type: double), _wcol3 (type: double), _col5 (type: int), (_col5 - _wcol4) (type: int)
+              expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), sum_window_3 (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
               Statistics: Num rows: 14 Data size: 8823 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -6172,14 +6172,14 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: sum_window_0
                         arguments: _col2
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(2)~
             Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), _wcol0 (type: double)
+              expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), sum_window_0 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3
               Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -6706,28 +6706,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col7
                         name: sum
                         window function: GenericUDAFSumDouble
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), _wcol0 (type: int), _wcol1 (type: int), _wcol2 (type: double)
+              expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -6841,15 +6841,15 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: sum_window_0
                         arguments: _col5
                         name: sum
                         window function: GenericUDAFSumLong
                         window frame: PRECEDING(5)~
             Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col1 (type: string), _col2 (type: string), _col5 (type: int), _wcol0 (type: bigint)
-              outputColumnNames: _col1, _col2, _col5, _wcol0
+              expressions: _col1 (type: string), _col2 (type: string), _col5 (type: int), sum_window_0 (type: bigint)
+              outputColumnNames: _col1, _col2, _col5, sum_window_0
               Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
                 compressed: false
@@ -6860,7 +6860,7 @@
                     input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
                     properties:
-                      columns _col1,_col2,_col5,_wcol0
+                      columns _col1,_col2,_col5,sum_window_0
                       columns.types string,string,int,bigint
                       escape.delim \
                       serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
@@ -6880,7 +6880,7 @@
               Map-reduce partition columns: _col2 (type: string)
               Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
               tag: -1
-              value expressions: _wcol0 (type: bigint), _col5 (type: int)
+              value expressions: sum_window_0 (type: bigint), _col5 (type: int)
               auto parallelism: false
       Path -> Alias:
 #### A masked pattern was here ####
@@ -6891,7 +6891,7 @@
             input format: org.apache.hadoop.mapred.SequenceFileInputFormat
             output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
             properties:
-              columns _col1,_col2,_col5,_wcol0
+              columns _col1,_col2,_col5,sum_window_0
               columns.types string,string,int,bigint
               escape.delim \
               serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
@@ -6900,7 +6900,7 @@
               input format: org.apache.hadoop.mapred.SequenceFileInputFormat
               output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
               properties:
-                columns _col1,_col2,_col5,_wcol0
+                columns _col1,_col2,_col5,sum_window_0
                 columns.types string,string,int,bigint
                 escape.delim \
                 serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
@@ -6927,35 +6927,35 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol1
+                        alias: rank_window_1
                         arguments: _col3, _col2
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: dense_rank_window_2
                         arguments: _col3, _col2
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol3
+                        alias: cume_dist_window_3
                         arguments: _col3, _col2
                         name: cume_dist
                         window function: GenericUDAFCumeDistEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol4
+                        alias: first_value_window_4
                         arguments: _col6, true
                         name: first_value
                         window function: GenericUDAFFirstValueEvaluator
                         window frame: PRECEDING(2)~FOLLOWING(2)
             Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col3 (type: string), _col2 (type: string), _col6 (type: int), UDFToInteger(round(_col0, 1)) (type: int), _wcol1 (type: int), _wcol2 (type: int), _wcol3 (type: double), _wcol4 (type: int)
+              expressions: _col3 (type: string), _col2 (type: string), _col6 (type: int), UDFToInteger(round(_col0, 1)) (type: int), rank_window_1 (type: int), dense_rank_window_2 (type: int), cume_dist_window_3 (type: double), first_value_window_4 (type: int)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
               Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -7553,28 +7553,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col2, _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col2, _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col5
                         name: sum
                         window function: GenericUDAFSumLong
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+              expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -8138,28 +8138,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col5
                         name: sum
                         window function: GenericUDAFSumLong
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+              expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -8637,28 +8637,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col5
                         name: sum
                         window function: GenericUDAFSumLong
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+              expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -9234,28 +9234,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col2, _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col2, _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col5
                         name: sum
                         window function: GenericUDAFSumLong
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint)
+              expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
               Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -9793,28 +9793,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col2, _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col2, _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col5
                         name: sum
                         window function: GenericUDAFSumLong
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint), _wcol2 (type: bigint)
+              expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint), sum_window_2 (type: bigint)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
               Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -10311,28 +10311,28 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol1
+                        alias: dense_rank_window_1
                         arguments: _col1
                         name: dense_rank
                         window function: GenericUDAFDenseRankEvaluator
                         window frame: PRECEDING(MAX)~FOLLOWING(MAX)
                         isPivotResult: true
                       window function definition
-                        alias: _wcol2
+                        alias: sum_window_2
                         arguments: _col5
                         name: sum
                         window function: GenericUDAFSumLong
                         window frame: PRECEDING(MAX)~
             Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _col1 (type: string), _wcol0 (type: int), _wcol1 (type: int), _col5 (type: int), _wcol2 (type: bigint), _wcol2 (type: bigint)
+              expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), _col5 (type: int), sum_window_2 (type: bigint), sum_window_2 (type: bigint)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
               Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
diff --git a/ql/src/test/results/clientpositive/windowing_streaming.q.out b/ql/src/test/results/clientpositive/windowing_streaming.q.out
index 9fee6d0..f4afbe0 100644
--- a/ql/src/test/results/clientpositive/windowing_streaming.q.out
+++ b/ql/src/test/results/clientpositive/windowing_streaming.q.out
@@ -89,7 +89,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -97,7 +97,7 @@
                         isPivotResult: true
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col2 (type: string), _wcol0 (type: int)
+              expressions: _col2 (type: string), rank_window_0 (type: int)
               outputColumnNames: _col0, _col1
               Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -160,7 +160,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col1
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -168,10 +168,10 @@
                         isPivotResult: true
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (_wcol0 < 4) (type: boolean)
+              predicate: (rank_window_0 < 4) (type: boolean)
               Statistics: Num rows: 8 Data size: 968 Basic stats: COMPLETE Column stats: NONE
               Select Operator
-                expressions: _col2 (type: string), _wcol0 (type: int)
+                expressions: _col2 (type: string), rank_window_0 (type: int)
                 outputColumnNames: _col0, _col1
                 Statistics: Num rows: 8 Data size: 968 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator
@@ -329,7 +329,7 @@
                   raw input shape:
                   window functions:
                       window function definition
-                        alias: _wcol0
+                        alias: rank_window_0
                         arguments: _col5
                         name: rank
                         window function: GenericUDAFRankEvaluator
@@ -337,10 +337,10 @@
                         isPivotResult: true
             Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (_wcol0 < 5) (type: boolean)
+              predicate: (rank_window_0 < 5) (type: boolean)
               Statistics: Num rows: 4096 Data size: 880654 Basic stats: COMPLETE Column stats: NONE
               Select Operator
-                expressions: _col0 (type: tinyint), _col5 (type: double), _wcol0 (type: int)
+                expressions: _col0 (type: tinyint), _col5 (type: double), rank_window_0 (type: int)
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 4096 Data size: 880654 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator