You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jc...@apache.org on 2019/01/04 00:24:28 UTC

[29/35] hive git commit: HIVE-16957: Support CTAS for auto gather column stats (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)

http://git-wip-us.apache.org/repos/asf/hive/blob/138b00ca/ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction.q.out b/ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction.q.out
index 940c036..4304d9e 100644
--- a/ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction.q.out
+++ b/ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction.q.out
@@ -2988,7 +2988,7 @@ STAGE PLANS:
                         outputColumnNames: _col1
                         input vertices:
                           1 Map 3
-                        Statistics: Num rows: 2200 Data size: 605000 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 260 Data size: 47840 Basic stats: COMPLETE Column stats: COMPLETE
                         Map Join Operator
                           condition map:
                                Inner Join 0 to 1
@@ -2997,7 +2997,7 @@ STAGE PLANS:
                             1 _col0 (type: string)
                           input vertices:
                             1 Map 4
-                          Statistics: Num rows: 2420 Data size: 665500 Basic stats: PARTIAL Column stats: NONE
+                          Statistics: Num rows: 286 Data size: 52624 Basic stats: PARTIAL Column stats: NONE
                           Group By Operator
                             aggregations: count()
                             mode: hash
@@ -3014,19 +3014,19 @@ STAGE PLANS:
                 TableScan
                   alias: alltypesorc_int40
                   filterExpr: cstring is not null (type: boolean)
-                  Statistics: Num rows: 40 Data size: 7176 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 40 Data size: 4000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: cstring is not null (type: boolean)
-                    Statistics: Num rows: 38 Data size: 6817 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 40 Data size: 4000 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: cstring (type: string)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 38 Data size: 6817 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 40 Data size: 4000 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: string)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: string)
-                        Statistics: Num rows: 38 Data size: 6817 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 40 Data size: 4000 Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: vectorized, llap
             LLAP IO: no inputs
         Map 4 
@@ -3159,7 +3159,7 @@ STAGE PLANS:
                         outputColumnNames: _col1
                         input vertices:
                           1 Map 3
-                        Statistics: Num rows: 2200 Data size: 605000 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 260 Data size: 47840 Basic stats: COMPLETE Column stats: COMPLETE
                         Map Join Operator
                           condition map:
                                Inner Join 0 to 1
@@ -3168,7 +3168,7 @@ STAGE PLANS:
                             1 _col0 (type: string)
                           input vertices:
                             1 Map 4
-                          Statistics: Num rows: 2420 Data size: 665500 Basic stats: PARTIAL Column stats: NONE
+                          Statistics: Num rows: 286 Data size: 52624 Basic stats: PARTIAL Column stats: NONE
                           Group By Operator
                             aggregations: count()
                             mode: hash
@@ -3185,19 +3185,19 @@ STAGE PLANS:
                 TableScan
                   alias: alltypesorc_int40
                   filterExpr: cstring is not null (type: boolean)
-                  Statistics: Num rows: 40 Data size: 7176 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 40 Data size: 4000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
                     predicate: cstring is not null (type: boolean)
-                    Statistics: Num rows: 38 Data size: 6817 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 40 Data size: 4000 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: cstring (type: string)
                       outputColumnNames: _col0
-                      Statistics: Num rows: 38 Data size: 6817 Basic stats: COMPLETE Column stats: NONE
+                      Statistics: Num rows: 40 Data size: 4000 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: string)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: string)
-                        Statistics: Num rows: 38 Data size: 6817 Basic stats: COMPLETE Column stats: NONE
+                        Statistics: Num rows: 40 Data size: 4000 Basic stats: COMPLETE Column stats: COMPLETE
             Execution mode: vectorized, llap
             LLAP IO: no inputs
         Map 4 

http://git-wip-us.apache.org/repos/asf/hive/blob/138b00ca/ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction_3.q.out b/ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction_3.q.out
index ecf6323..96c390c 100644
--- a/ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction_3.q.out
+++ b/ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction_3.q.out
@@ -228,26 +228,6 @@ STAGE PLANS:
                           output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                           serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                           name: default.merge_tmp_table
-                    Select Operator
-                      expressions: _col0 (type: int)
-                      outputColumnNames: val
-                      Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
-                      Group By Operator
-                        aggregations: compute_stats(val, 'hll')
-                        mode: complete
-                        outputColumnNames: _col0
-                        Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
-                        Select Operator
-                          expressions: _col0 (type: struct<columntype:string,min:bigint,max:bigint,countnulls:bigint,numdistinctvalues:bigint,ndvbitvector:binary>)
-                          outputColumnNames: _col0
-                          Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
-                          File Output Operator
-                            compressed: false
-                            Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
-                            table:
-                                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
         Reducer 6 
             Execution mode: llap
             Reduce Operator Tree:
@@ -351,10 +331,6 @@ STAGE PLANS:
   Stage: Stage-8
     Stats Work
       Basic Stats Work:
-      Column Stats Desc:
-          Columns: val
-          Column Types: int
-          Table: default.merge_tmp_table
 
   Stage: Stage-1
     Move Operator
@@ -783,26 +759,6 @@ STAGE PLANS:
                           output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                           serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                           name: default.merge_tmp_table
-                    Select Operator
-                      expressions: _col0 (type: int)
-                      outputColumnNames: val
-                      Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
-                      Group By Operator
-                        aggregations: compute_stats(val, 'hll')
-                        mode: complete
-                        outputColumnNames: _col0
-                        Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
-                        Select Operator
-                          expressions: _col0 (type: struct<columntype:string,min:bigint,max:bigint,countnulls:bigint,numdistinctvalues:bigint,ndvbitvector:binary>)
-                          outputColumnNames: _col0
-                          Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
-                          File Output Operator
-                            compressed: false
-                            Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
-                            table:
-                                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
         Reducer 7 
             Execution mode: llap
             Reduce Operator Tree:
@@ -896,10 +852,6 @@ STAGE PLANS:
   Stage: Stage-8
     Stats Work
       Basic Stats Work:
-      Column Stats Desc:
-          Columns: val
-          Column Types: int
-          Table: default.merge_tmp_table
 
   Stage: Stage-1
     Move Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/138b00ca/ql/src/test/results/clientpositive/llap/dynpart_sort_opt_vectorization.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/dynpart_sort_opt_vectorization.q.out b/ql/src/test/results/clientpositive/llap/dynpart_sort_opt_vectorization.q.out
index cf6c335..53337fe 100644
--- a/ql/src/test/results/clientpositive/llap/dynpart_sort_opt_vectorization.q.out
+++ b/ql/src/test/results/clientpositive/llap/dynpart_sort_opt_vectorization.q.out
@@ -274,6 +274,7 @@ STAGE PLANS:
                         Reduce Output Operator
                           sort order: 
                           Statistics: Num rows: 10 Data size: 240 Basic stats: COMPLETE Column stats: COMPLETE
+                          TopN Hash Memory Usage: 0.1
                           value expressions: _col0 (type: smallint), _col1 (type: int), _col2 (type: bigint), _col3 (type: float), _col4 (type: tinyint)
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -719,6 +720,7 @@ STAGE PLANS:
                         Reduce Output Operator
                           sort order: 
                           Statistics: Num rows: 10 Data size: 240 Basic stats: COMPLETE Column stats: COMPLETE
+                          TopN Hash Memory Usage: 0.1
                           value expressions: _col0 (type: smallint), _col1 (type: int), _col2 (type: bigint), _col3 (type: float), _col4 (type: tinyint)
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -1662,6 +1664,7 @@ STAGE PLANS:
                       key expressions: _col2 (type: int)
                       sort order: +
                       Statistics: Num rows: 1049 Data size: 25160 Basic stats: COMPLETE Column stats: COMPLETE
+                      TopN Hash Memory Usage: 0.1
                       value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col3 (type: bigint), _col4 (type: float)
             Execution mode: vectorized, llap
             LLAP IO: all inputs
@@ -2992,6 +2995,7 @@ STAGE PLANS:
                       Reduce Output Operator
                         sort order: 
                         Statistics: Num rows: 10 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
+                        TopN Hash Memory Usage: 0.1
                         value expressions: _col0 (type: int), _col1 (type: smallint), _col2 (type: string)
             Execution mode: vectorized, llap
             LLAP IO: all inputs

http://git-wip-us.apache.org/repos/asf/hive/blob/138b00ca/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization.q.out b/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization.q.out
index 95c3aed..cb3704f 100644
--- a/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization.q.out
+++ b/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization.q.out
@@ -268,6 +268,7 @@ STAGE PLANS:
                         Reduce Output Operator
                           sort order: 
                           Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE
+                          TopN Hash Memory Usage: 0.1
                           value expressions: _col0 (type: smallint), _col1 (type: int), _col2 (type: bigint), _col3 (type: float), _col4 (type: tinyint)
             Execution mode: llap
             LLAP IO: no inputs
@@ -750,6 +751,7 @@ STAGE PLANS:
                         Reduce Output Operator
                           sort order: 
                           Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE
+                          TopN Hash Memory Usage: 0.1
                           value expressions: _col0 (type: smallint), _col1 (type: int), _col2 (type: bigint), _col3 (type: float), _col4 (type: tinyint)
             Execution mode: llap
             LLAP IO: no inputs
@@ -1693,6 +1695,7 @@ STAGE PLANS:
                       key expressions: _col2 (type: int)
                       sort order: +
                       Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE
+                      TopN Hash Memory Usage: 0.1
                       value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col3 (type: bigint), _col4 (type: float)
             Execution mode: llap
             LLAP IO: no inputs
@@ -4174,6 +4177,7 @@ STAGE PLANS:
                         Reduce Output Operator
                           sort order: 
                           Statistics: Num rows: 10 Data size: 240 Basic stats: COMPLETE Column stats: COMPLETE
+                          TopN Hash Memory Usage: 0.1
                           value expressions: _col0 (type: smallint), _col1 (type: int), _col2 (type: bigint), _col3 (type: float), _col4 (type: tinyint)
             Execution mode: llap
             LLAP IO: no inputs
@@ -4415,6 +4419,7 @@ STAGE PLANS:
                         Reduce Output Operator
                           sort order: 
                           Statistics: Num rows: 10 Data size: 240 Basic stats: COMPLETE Column stats: COMPLETE
+                          TopN Hash Memory Usage: 0.1
                           value expressions: _col0 (type: smallint), _col1 (type: int), _col2 (type: bigint), _col3 (type: float), _col4 (type: tinyint)
             Execution mode: llap
             LLAP IO: no inputs

http://git-wip-us.apache.org/repos/asf/hive/blob/138b00ca/ql/src/test/results/clientpositive/llap/empty_join.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/empty_join.q.out b/ql/src/test/results/clientpositive/llap/empty_join.q.out
index 44fe8a9..f65c8bd 100644
--- a/ql/src/test/results/clientpositive/llap/empty_join.q.out
+++ b/ql/src/test/results/clientpositive/llap/empty_join.q.out
@@ -90,13 +90,13 @@ Stage-0
               Filter Operator [FIL_40] (rows=1 width=4)
                 predicate:id is not null
                 TableScan [TS_6] (rows=1 width=4)
-                  default@test_3_n0,t3,Tbl:COMPLETE,Col:NONE,Output:["id"]
+                  default@test_3_n0,t3,Tbl:COMPLETE,Col:COMPLETE,Output:["id"]
         <-Select Operator [SEL_44] (rows=1 width=4)
             Output:["_col0"]
             Filter Operator [FIL_43] (rows=1 width=4)
               predicate:id is not null
               TableScan [TS_0] (rows=1 width=4)
-                default@test_1_n2,t1,Tbl:COMPLETE,Col:NONE,Output:["id"]
+                default@test_1_n2,t1,Tbl:COMPLETE,Col:COMPLETE,Output:["id"]
 
 PREHOOK: query: SELECT t1.id, t2.id, t3.id
 FROM test_1_n2 t1

http://git-wip-us.apache.org/repos/asf/hive/blob/138b00ca/ql/src/test/results/clientpositive/llap/enforce_constraint_notnull.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/enforce_constraint_notnull.q.out b/ql/src/test/results/clientpositive/llap/enforce_constraint_notnull.q.out
index dca0ebd..6989934 100644
--- a/ql/src/test/results/clientpositive/llap/enforce_constraint_notnull.q.out
+++ b/ql/src/test/results/clientpositive/llap/enforce_constraint_notnull.q.out
@@ -2793,6 +2793,7 @@ STAGE PLANS:
                       Reduce Output Operator
                         sort order: 
                         Statistics: Num rows: 2 Data size: 414 Basic stats: COMPLETE Column stats: COMPLETE
+                        TopN Hash Memory Usage: 0.1
                         value expressions: _col0 (type: int), _col1 (type: decimal(5,2)), _col2 (type: string)
             Execution mode: vectorized, llap
             LLAP IO: no inputs
@@ -2920,6 +2921,7 @@ STAGE PLANS:
                       key expressions: _col0 (type: int)
                       sort order: +
                       Statistics: Num rows: 500 Data size: 103500 Basic stats: COMPLETE Column stats: COMPLETE
+                      TopN Hash Memory Usage: 0.1
                       value expressions: _col1 (type: decimal(5,2)), _col2 (type: string)
             Execution mode: vectorized, llap
             LLAP IO: no inputs
@@ -3043,16 +3045,22 @@ STAGE PLANS:
                     expressions: key (type: string), value (type: string)
                     outputColumnNames: key, value
                     Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
-                    Group By Operator
+                    Top N Key Operator
+                      sort order: ++
                       keys: key (type: string), value (type: string)
-                      mode: hash
-                      outputColumnNames: _col0, _col1
-                      Statistics: Num rows: 250 Data size: 44500 Basic stats: COMPLETE Column stats: COMPLETE
-                      Reduce Output Operator
-                        key expressions: _col0 (type: string), _col1 (type: string)
-                        sort order: ++
-                        Map-reduce partition columns: _col0 (type: string), _col1 (type: string)
+                      Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
+                      top n: 2
+                      Group By Operator
+                        keys: key (type: string), value (type: string)
+                        mode: hash
+                        outputColumnNames: _col0, _col1
                         Statistics: Num rows: 250 Data size: 44500 Basic stats: COMPLETE Column stats: COMPLETE
+                        Reduce Output Operator
+                          key expressions: _col0 (type: string), _col1 (type: string)
+                          sort order: ++
+                          Map-reduce partition columns: _col0 (type: string), _col1 (type: string)
+                          Statistics: Num rows: 250 Data size: 44500 Basic stats: COMPLETE Column stats: COMPLETE
+                          TopN Hash Memory Usage: 0.1
             Execution mode: vectorized, llap
             LLAP IO: no inputs
         Reducer 2 
@@ -3803,6 +3811,7 @@ STAGE PLANS:
                       Reduce Output Operator
                         sort order: 
                         Statistics: Num rows: 10 Data size: 3600 Basic stats: COMPLETE Column stats: COMPLETE
+                        TopN Hash Memory Usage: 0.1
                         value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: int)
             Execution mode: vectorized, llap
             LLAP IO: no inputs
@@ -4637,26 +4646,6 @@ STAGE PLANS:
                           output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                           serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                           name: default.merge_tmp_table
-                    Select Operator
-                      expressions: _col0 (type: int)
-                      outputColumnNames: val
-                      Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE
-                      Group By Operator
-                        aggregations: compute_stats(val, 'hll')
-                        mode: complete
-                        outputColumnNames: _col0
-                        Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
-                        Select Operator
-                          expressions: _col0 (type: struct<columntype:string,min:bigint,max:bigint,countnulls:bigint,numdistinctvalues:bigint,ndvbitvector:binary>)
-                          outputColumnNames: _col0
-                          Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
-                          File Output Operator
-                            compressed: false
-                            Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
-                            table:
-                                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
         Reducer 6 
             Execution mode: llap
             Reduce Operator Tree:
@@ -4748,10 +4737,6 @@ STAGE PLANS:
   Stage: Stage-8
     Stats Work
       Basic Stats Work:
-      Column Stats Desc:
-          Columns: val
-          Column Types: int
-          Table: default.merge_tmp_table
 
   Stage: Stage-1
     Move Operator
@@ -4932,26 +4917,6 @@ STAGE PLANS:
                           output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                           serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                           name: default.merge_tmp_table
-                    Select Operator
-                      expressions: _col0 (type: int)
-                      outputColumnNames: val
-                      Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
-                      Group By Operator
-                        aggregations: compute_stats(val, 'hll')
-                        mode: complete
-                        outputColumnNames: _col0
-                        Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
-                        Select Operator
-                          expressions: _col0 (type: struct<columntype:string,min:bigint,max:bigint,countnulls:bigint,numdistinctvalues:bigint,ndvbitvector:binary>)
-                          outputColumnNames: _col0
-                          Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
-                          File Output Operator
-                            compressed: false
-                            Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
-                            table:
-                                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
         Reducer 5 
             Execution mode: llap
             Reduce Operator Tree:
@@ -5028,10 +4993,6 @@ STAGE PLANS:
   Stage: Stage-6
     Stats Work
       Basic Stats Work:
-      Column Stats Desc:
-          Columns: val
-          Column Types: int
-          Table: default.merge_tmp_table
 
   Stage: Stage-1
     Move Operator
@@ -5213,26 +5174,6 @@ STAGE PLANS:
                           output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                           serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                           name: default.merge_tmp_table
-                    Select Operator
-                      expressions: _col0 (type: int)
-                      outputColumnNames: val
-                      Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE
-                      Group By Operator
-                        aggregations: compute_stats(val, 'hll')
-                        mode: complete
-                        outputColumnNames: _col0
-                        Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
-                        Select Operator
-                          expressions: _col0 (type: struct<columntype:string,min:bigint,max:bigint,countnulls:bigint,numdistinctvalues:bigint,ndvbitvector:binary>)
-                          outputColumnNames: _col0
-                          Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
-                          File Output Operator
-                            compressed: false
-                            Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
-                            table:
-                                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
         Reducer 5 
             Execution mode: llap
             Reduce Operator Tree:
@@ -5309,10 +5250,6 @@ STAGE PLANS:
   Stage: Stage-6
     Stats Work
       Basic Stats Work:
-      Column Stats Desc:
-          Columns: val
-          Column Types: int
-          Table: default.merge_tmp_table
 
   Stage: Stage-0
     Move Operator
@@ -5480,26 +5417,6 @@ STAGE PLANS:
                           output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                           serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                           name: default.merge_tmp_table
-                    Select Operator
-                      expressions: _col0 (type: int)
-                      outputColumnNames: val
-                      Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
-                      Group By Operator
-                        aggregations: compute_stats(val, 'hll')
-                        mode: complete
-                        outputColumnNames: _col0
-                        Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
-                        Select Operator
-                          expressions: _col0 (type: struct<columntype:string,min:bigint,max:bigint,countnulls:bigint,numdistinctvalues:bigint,ndvbitvector:binary>)
-                          outputColumnNames: _col0
-                          Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
-                          File Output Operator
-                            compressed: false
-                            Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: NONE
-                            table:
-                                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
 
   Stage: Stage-3
     Dependency Collection
@@ -5532,10 +5449,6 @@ STAGE PLANS:
   Stage: Stage-5
     Stats Work
       Basic Stats Work:
-      Column Stats Desc:
-          Columns: val
-          Column Types: int
-          Table: default.merge_tmp_table
 
 PREHOOK: query: DROP TABLE masking_test_n4
 PREHOOK: type: DROPTABLE
@@ -6030,6 +5943,7 @@ STAGE PLANS:
                       key expressions: _col1 (type: string)
                       sort order: +
                       Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
+                      TopN Hash Memory Usage: 0.1
                       value expressions: _col0 (type: string)
             Execution mode: vectorized, llap
             LLAP IO: no inputs

http://git-wip-us.apache.org/repos/asf/hive/blob/138b00ca/ql/src/test/results/clientpositive/llap/explainuser_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/explainuser_1.q.out b/ql/src/test/results/clientpositive/llap/explainuser_1.q.out
index dfbbeb6..2bb6352 100644
--- a/ql/src/test/results/clientpositive/llap/explainuser_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/explainuser_1.q.out
@@ -1608,7 +1608,7 @@ Stage-0
                       Output:["_col0","_col1","_col2"],aggregations:["count()"],keys:_col4, _col7
                       Select Operator [SEL_33] (rows=2 width=28)
                         Output:["_col4","_col7"]
-                        Merge Join Operator [MERGEJOIN_64] (rows=2 width=28)
+                        Merge Join Operator [MERGEJOIN_65] (rows=2 width=28)
                           Conds:RS_29._col0=RS_30._col0(Inner),RS_30._col0=RS_31._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col7","_col8"],residual filter predicates:{((_col3 + _col1) >= 0)} {(_col5 or _col8)}
                         <-Map 10 [SIMPLE_EDGE] llap
                           SHUFFLE [RS_31]
@@ -1665,10 +1665,12 @@ Stage-0
                                             PartitionCols:_col0, _col1, _col2
                                             Group By Operator [GBY_16] (rows=3 width=101)
                                               Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
-                                              Filter Operator [FIL_52] (rows=6 width=93)
-                                                predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0.0)))
-                                                TableScan [TS_13] (rows=20 width=88)
-                                                  default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
+                                              Top N Key Operator [TNK_54] (rows=6 width=93)
+                                                keys:key, c_int, c_float,sort order:+++,top n:5
+                                                Filter Operator [FIL_52] (rows=6 width=93)
+                                                  predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0.0)))
+                                                  TableScan [TS_13] (rows=20 width=88)
+                                                    default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
 
 PREHOOK: query: explain select cbo_t1.c_int           from cbo_t1 left semi join   cbo_t2 on cbo_t1.key=cbo_t2.key where (cbo_t1.c_int + 1 == 2) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0)
 PREHOOK: type: QUERY
@@ -3649,36 +3651,45 @@ Plan not optimized by CBO because the statement has sort by
 Vertex dependency in root stage
 Reducer 2 <- Map 1 (SIMPLE_EDGE)
 Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 3 (CUSTOM_SIMPLE_EDGE)
 
 Stage-3
   Stats Work{}
     Stage-4
       Create Table Operator:
         name:default.nzhang_CTAS1_n1
-        Stage-2
-          Dependency Collection{}
-            Stage-1
-              Reducer 3 llap
-              File Output Operator [FS_8]
-                table:{"name:":"default.nzhang_CTAS1_n1"}
-                Limit [LIM_7] (rows=10 width=178)
-                  Number of rows:10
-                  Select Operator [SEL_6] (rows=10 width=178)
-                    Output:["_col0","_col1"]
-                  <-Reducer 2 [SIMPLE_EDGE] llap
-                    SHUFFLE [RS_5]
-                      Limit [LIM_4] (rows=10 width=178)
-                        Number of rows:10
-                        Select Operator [SEL_3] (rows=500 width=178)
-                          Output:["_col0","_col1"]
-                        <-Map 1 [SIMPLE_EDGE] llap
-                          SHUFFLE [RS_2]
-                            Select Operator [SEL_1] (rows=500 width=178)
-                              Output:["_col0","_col1"]
-                              TableScan [TS_0] (rows=500 width=178)
-                                default@src,src,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
         Stage-0
           Move Operator
+            Stage-1
+              Reducer 4 llap
+              File Output Operator [FS_17]
+                Group By Operator [GBY_15] (rows=1 width=880)
+                  Output:["_col0","_col1"],aggregations:["compute_stats(VALUE._col0, 'hll')","compute_stats(VALUE._col2, 'hll')"]
+                <-Reducer 3 [CUSTOM_SIMPLE_EDGE] llap
+                  File Output Operator [FS_8]
+                    table:{"name:":"default.nzhang_CTAS1_n1"}
+                    Limit [LIM_7] (rows=10 width=178)
+                      Number of rows:10
+                      Select Operator [SEL_6] (rows=10 width=178)
+                        Output:["_col0","_col1"]
+                      <-Reducer 2 [SIMPLE_EDGE] llap
+                        SHUFFLE [RS_5]
+                          Limit [LIM_4] (rows=10 width=178)
+                            Number of rows:10
+                            Select Operator [SEL_3] (rows=500 width=178)
+                              Output:["_col0","_col1"]
+                            <-Map 1 [SIMPLE_EDGE] llap
+                              SHUFFLE [RS_2]
+                                Select Operator [SEL_1] (rows=500 width=178)
+                                  Output:["_col0","_col1"]
+                                  TableScan [TS_0] (rows=500 width=178)
+                                    default@src,src,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
+                  PARTITION_ONLY_SHUFFLE [RS_14]
+                    Select Operator [SEL_13] (rows=10 width=178)
+                      Output:["col1","col2"]
+                       Please refer to the previous Limit [LIM_7]
+        Stage-2
+          Dependency Collection{}
              Please refer to the previous Stage-1
 
 PREHOOK: query: create table nzhang_CTAS1_n1 as select key k, value from src sort by k, value limit 10
@@ -3708,36 +3719,45 @@ Plan not optimized by CBO because the statement has sort by
 Vertex dependency in root stage
 Reducer 2 <- Map 1 (SIMPLE_EDGE)
 Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 3 (CUSTOM_SIMPLE_EDGE)
 
 Stage-3
   Stats Work{}
     Stage-4
       Create Table Operator:
         name:default.nzhang_ctas3_n1
-        Stage-2
-          Dependency Collection{}
-            Stage-1
-              Reducer 3 llap
-              File Output Operator [FS_8]
-                table:{"name:":"default.nzhang_ctas3_n1"}
-                Limit [LIM_7] (rows=10 width=192)
-                  Number of rows:10
-                  Select Operator [SEL_6] (rows=10 width=192)
-                    Output:["_col0","_col1"]
-                  <-Reducer 2 [SIMPLE_EDGE] llap
-                    SHUFFLE [RS_5]
-                      Limit [LIM_4] (rows=10 width=192)
-                        Number of rows:10
-                        Select Operator [SEL_3] (rows=500 width=192)
-                          Output:["_col0","_col1"]
-                        <-Map 1 [SIMPLE_EDGE] llap
-                          SHUFFLE [RS_2]
-                            Select Operator [SEL_1] (rows=500 width=192)
-                              Output:["_col0","_col1"]
-                              TableScan [TS_0] (rows=500 width=178)
-                                default@src,src,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
         Stage-0
           Move Operator
+            Stage-1
+              Reducer 4 llap
+              File Output Operator [FS_17]
+                Group By Operator [GBY_15] (rows=1 width=880)
+                  Output:["_col0","_col1"],aggregations:["compute_stats(VALUE._col0, 'hll')","compute_stats(VALUE._col2, 'hll')"]
+                <-Reducer 3 [CUSTOM_SIMPLE_EDGE] llap
+                  File Output Operator [FS_8]
+                    table:{"name:":"default.nzhang_ctas3_n1"}
+                    Limit [LIM_7] (rows=10 width=192)
+                      Number of rows:10
+                      Select Operator [SEL_6] (rows=10 width=192)
+                        Output:["_col0","_col1"]
+                      <-Reducer 2 [SIMPLE_EDGE] llap
+                        SHUFFLE [RS_5]
+                          Limit [LIM_4] (rows=10 width=192)
+                            Number of rows:10
+                            Select Operator [SEL_3] (rows=500 width=192)
+                              Output:["_col0","_col1"]
+                            <-Map 1 [SIMPLE_EDGE] llap
+                              SHUFFLE [RS_2]
+                                Select Operator [SEL_1] (rows=500 width=192)
+                                  Output:["_col0","_col1"]
+                                  TableScan [TS_0] (rows=500 width=178)
+                                    default@src,src,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
+                  PARTITION_ONLY_SHUFFLE [RS_14]
+                    Select Operator [SEL_13] (rows=10 width=192)
+                      Output:["col1","col2"]
+                       Please refer to the previous Limit [LIM_7]
+        Stage-2
+          Dependency Collection{}
              Please refer to the previous Stage-1
 
 PREHOOK: query: create table nzhang_ctas3_n1 row format serde "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe" stored as RCFile as select key/2 half_key, concat(value, "_con") conb  from src sort by half_key, conb limit 10

http://git-wip-us.apache.org/repos/asf/hive/blob/138b00ca/ql/src/test/results/clientpositive/llap/insert1_overwrite_partitions.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/insert1_overwrite_partitions.q.out b/ql/src/test/results/clientpositive/llap/insert1_overwrite_partitions.q.out
index 9b35dbd..760dcb4 100644
--- a/ql/src/test/results/clientpositive/llap/insert1_overwrite_partitions.q.out
+++ b/ql/src/test/results/clientpositive/llap/insert1_overwrite_partitions.q.out
@@ -73,6 +73,7 @@ STAGE PLANS:
                       key expressions: _col0 (type: string), _col1 (type: string)
                       sort order: --
                       Statistics: Num rows: 99 Data size: 93448 Basic stats: PARTIAL Column stats: NONE
+                      TopN Hash Memory Usage: 0.1
             Execution mode: vectorized, llap
             LLAP IO: no inputs
         Reducer 2 
@@ -268,6 +269,7 @@ STAGE PLANS:
                       key expressions: _col0 (type: string), _col1 (type: string)
                       sort order: --
                       Statistics: Num rows: 99 Data size: 93448 Basic stats: PARTIAL Column stats: NONE
+                      TopN Hash Memory Usage: 0.1
             Execution mode: vectorized, llap
             LLAP IO: no inputs
         Reducer 2 
@@ -432,6 +434,7 @@ STAGE PLANS:
                       key expressions: _col0 (type: string), _col1 (type: string)
                       sort order: --
                       Statistics: Num rows: 99 Data size: 93448 Basic stats: PARTIAL Column stats: NONE
+                      TopN Hash Memory Usage: 0.1
             Execution mode: vectorized, llap
             LLAP IO: no inputs
         Reducer 2 

http://git-wip-us.apache.org/repos/asf/hive/blob/138b00ca/ql/src/test/results/clientpositive/llap/insert_into1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/insert_into1.q.out b/ql/src/test/results/clientpositive/llap/insert_into1.q.out
index c203b6b..6d48df5 100644
--- a/ql/src/test/results/clientpositive/llap/insert_into1.q.out
+++ b/ql/src/test/results/clientpositive/llap/insert_into1.q.out
@@ -46,6 +46,7 @@ STAGE PLANS:
                       key expressions: _col0 (type: string)
                       sort order: +
                       Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
+                      TopN Hash Memory Usage: 0.1
                       value expressions: _col1 (type: string)
             Execution mode: vectorized, llap
             LLAP IO: no inputs
@@ -209,6 +210,7 @@ STAGE PLANS:
                       key expressions: _col0 (type: string)
                       sort order: +
                       Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
+                      TopN Hash Memory Usage: 0.1
                       value expressions: _col1 (type: string)
             Execution mode: vectorized, llap
             LLAP IO: no inputs
@@ -372,6 +374,7 @@ STAGE PLANS:
                       key expressions: _col0 (type: string)
                       sort order: +
                       Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
+                      TopN Hash Memory Usage: 0.1
                       value expressions: _col1 (type: string)
             Execution mode: vectorized, llap
             LLAP IO: no inputs

http://git-wip-us.apache.org/repos/asf/hive/blob/138b00ca/ql/src/test/results/clientpositive/llap/insert_into2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/insert_into2.q.out b/ql/src/test/results/clientpositive/llap/insert_into2.q.out
index 69264f0..10609d3 100644
--- a/ql/src/test/results/clientpositive/llap/insert_into2.q.out
+++ b/ql/src/test/results/clientpositive/llap/insert_into2.q.out
@@ -50,6 +50,7 @@ STAGE PLANS:
                       key expressions: _col0 (type: string)
                       sort order: +
                       Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
+                      TopN Hash Memory Usage: 0.1
                       value expressions: _col1 (type: string)
             Execution mode: vectorized, llap
             LLAP IO: no inputs
@@ -266,6 +267,7 @@ STAGE PLANS:
                       key expressions: _col0 (type: string)
                       sort order: +
                       Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
+                      TopN Hash Memory Usage: 0.1
                       value expressions: _col1 (type: string)
             Execution mode: vectorized, llap
             LLAP IO: no inputs
@@ -447,6 +449,7 @@ STAGE PLANS:
                       key expressions: _col0 (type: string)
                       sort order: +
                       Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
+                      TopN Hash Memory Usage: 0.1
                       value expressions: _col1 (type: string)
             Execution mode: vectorized, llap
             LLAP IO: no inputs

http://git-wip-us.apache.org/repos/asf/hive/blob/138b00ca/ql/src/test/results/clientpositive/llap/insert_into_default_keyword.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/insert_into_default_keyword.q.out b/ql/src/test/results/clientpositive/llap/insert_into_default_keyword.q.out
index 79b8fb4..faaf8ad 100644
--- a/ql/src/test/results/clientpositive/llap/insert_into_default_keyword.q.out
+++ b/ql/src/test/results/clientpositive/llap/insert_into_default_keyword.q.out
@@ -2949,26 +2949,6 @@ STAGE PLANS:
                           output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                           serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                           name: default.merge_tmp_table
-                    Select Operator
-                      expressions: _col0 (type: int)
-                      outputColumnNames: val
-                      Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
-                      Group By Operator
-                        aggregations: compute_stats(val, 'hll')
-                        mode: complete
-                        outputColumnNames: _col0
-                        Statistics: Num rows: 1 Data size: 424 Basic stats: COMPLETE Column stats: COMPLETE
-                        Select Operator
-                          expressions: _col0 (type: struct<columntype:string,min:bigint,max:bigint,countnulls:bigint,numdistinctvalues:bigint,ndvbitvector:binary>)
-                          outputColumnNames: _col0
-                          Statistics: Num rows: 1 Data size: 424 Basic stats: COMPLETE Column stats: COMPLETE
-                          File Output Operator
-                            compressed: false
-                            Statistics: Num rows: 1 Data size: 424 Basic stats: COMPLETE Column stats: COMPLETE
-                            table:
-                                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
         Reducer 6 
             Execution mode: llap
             Reduce Operator Tree:
@@ -3060,10 +3040,6 @@ STAGE PLANS:
   Stage: Stage-8
     Stats Work
       Basic Stats Work:
-      Column Stats Desc:
-          Columns: val
-          Column Types: int
-          Table: default.merge_tmp_table
 
   Stage: Stage-1
     Move Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/138b00ca/ql/src/test/results/clientpositive/llap/lineage2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/lineage2.q.out b/ql/src/test/results/clientpositive/llap/lineage2.q.out
index 1cb0cc7..8f266f8 100644
--- a/ql/src/test/results/clientpositive/llap/lineage2.q.out
+++ b/ql/src/test/results/clientpositive/llap/lineage2.q.out
@@ -5,7 +5,7 @@ PREHOOK: type: CREATETABLE_AS_SELECT
 PREHOOK: Input: default@src1
 PREHOOK: Output: database:default
 PREHOOK: Output: default@src2
-{"version":"1.0","engine":"tez","database":"default","hash":"87921246fb098d44c05e0ccd9ecb0676","queryText":"create table src2 as select key key2, value value2 from src1","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":1,"vertexType":"COLUMN","vertexId":"default.src2.value2"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
+{"version":"1.0","engine":"tez","database":"default","hash":"87921246fb098d44c05e0ccd9ecb0676","queryText":"create table src2 as select key key2, value value2 from src1","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0],"expression":"compute_stats(default.src1.key, 'hll')","edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"expression":"compute_stats(default.src1.value, 'hll')","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":1,"vertexType":"COLUMN","vertexId":"default.src2.value2"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
 PREHOOK: query: select * from src1 where key is not null and value is not null limit 3
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src1
@@ -31,7 +31,7 @@ PREHOOK: type: CREATETABLE_AS_SELECT
 PREHOOK: Input: default@src1
 PREHOOK: Output: database:default
 PREHOOK: Output: default@dest1_n56
-{"version":"1.0","engine":"tez","database":"default","hash":"01251b1a2a539f7bb1d533cf6a9de47d","queryText":"create table dest1_n56 as select * from src1","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest1_n56.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest1_n56.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
+{"version":"1.0","engine":"tez","database":"default","hash":"01251b1a2a539f7bb1d533cf6a9de47d","queryText":"create table dest1_n56 as select * from src1","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0],"expression":"compute_stats(default.src1.key, 'hll')","edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"expression":"compute_stats(default.src1.value, 'hll')","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest1_n56.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest1_n56.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
 PREHOOK: query: insert into table dest1_n56 select * from src2
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src2
@@ -461,7 +461,7 @@ PREHOOK: Input: default@src1
 PREHOOK: Input: default@src2
 PREHOOK: Output: database:default
 PREHOOK: Output: default@dest2_n11
-{"version":"1.0","engine":"tez","database":"default","hash":"7e2a275cdee3a519d901b7b178eefcd7","queryText":"create table dest2_n11 as select * from src1 JOIN src2 ON src1.key = src2.key2","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4],"targets":[0,1,2,3],"expression":"src1.key is not null","edgeType":"PREDICATE"},{"sources":[4,6],"targets":[0,1,2,3],"expression":"(src1.key = src2.key2)","edgeType":"PREDICATE"},{"sources":[6],"targets":[0,1,2,3],"expression":"src2.key2 is not null","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest2_n11.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest2_n11.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest2_n11.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest2_n11.value2"},{"id":4,"ve
 rtexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.src2.value2"}]}
+{"version":"1.0","engine":"tez","database":"default","hash":"7e2a275cdee3a519d901b7b178eefcd7","queryText":"create table dest2_n11 as select * from src1 JOIN src2 ON src1.key = src2.key2","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4],"targets":[0,1,2,3],"expression":"src1.key is not null","edgeType":"PREDICATE"},{"sources":[4,6],"targets":[0,1,2,3],"expression":"(src1.key = src2.key2)","edgeType":"PREDICATE"},{"sources":[6],"targets":[0,1,2,3],"expression":"src2.key2 is not null","edgeType":"PREDICATE"},{"sources":[4],"targets":[0],"expression":"compute_stats(default.src1.key, 'hll')","edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"expression":"compute_stats(default.src1.value, 'hll')","edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"expression":"compute_stats(default.src2.key2, 
 'hll')","edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"expression":"compute_stats(default.src2.value2, 'hll')","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest2_n11.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest2_n11.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest2_n11.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest2_n11.value2"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.src2.value2"}]}
 PREHOOK: query: insert overwrite table dest2_n11 select * from src1 JOIN src2 ON src1.key = src2.key2
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src1
@@ -523,7 +523,7 @@ PREHOOK: Input: default@src1
 PREHOOK: Input: default@src2
 PREHOOK: Output: database:default
 PREHOOK: Output: default@dest3_n0
-{"version":"1.0","engine":"tez","database":"default","hash":"04c85db3424d79a3663c0532bc1e0a35","queryText":"create table dest3_n0 as\n  select * from src1 JOIN src2 ON src1.key = src2.key2 WHERE length(key) > 1","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4],"targets":[0,1,2,3],"expression":"((length(src1.key) > 1) and src1.key is not null)","edgeType":"PREDICATE"},{"sources":[4,6],"targets":[0,1,2,3],"expression":"(src1.key = src2.key2)","edgeType":"PREDICATE"},{"sources":[6],"targets":[0,1,2,3],"expression":"((length(src2.key2) > 1) and src2.key2 is not null)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest3_n0.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest3_n0.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest3_n0.key2"},
 {"id":3,"vertexType":"COLUMN","vertexId":"default.dest3_n0.value2"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.src2.value2"}]}
+{"version":"1.0","engine":"tez","database":"default","hash":"04c85db3424d79a3663c0532bc1e0a35","queryText":"create table dest3_n0 as\n  select * from src1 JOIN src2 ON src1.key = src2.key2 WHERE length(key) > 1","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4],"targets":[0,1,2,3],"expression":"((length(src1.key) > 1) and src1.key is not null)","edgeType":"PREDICATE"},{"sources":[4,6],"targets":[0,1,2,3],"expression":"(src1.key = src2.key2)","edgeType":"PREDICATE"},{"sources":[6],"targets":[0,1,2,3],"expression":"((length(src2.key2) > 1) and src2.key2 is not null)","edgeType":"PREDICATE"},{"sources":[4],"targets":[0],"expression":"compute_stats(default.src1.key, 'hll')","edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"expression":"compute_stats(default.src1.value, 'hll')","edgeType":"PROJEC
 TION"},{"sources":[6],"targets":[2],"expression":"compute_stats(default.src2.key2, 'hll')","edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"expression":"compute_stats(default.src2.value2, 'hll')","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest3_n0.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest3_n0.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest3_n0.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest3_n0.value2"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.src2.value2"}]}
 PREHOOK: query: insert overwrite table dest2_n11
   select * from src1 JOIN src2 ON src1.key = src2.key2 WHERE length(key) > 3
 PREHOOK: type: QUERY
@@ -659,7 +659,7 @@ PREHOOK: Input: default@dest_l2
 PREHOOK: Input: default@dest_l3
 PREHOOK: Output: database:default
 PREHOOK: Output: default@t_n10
-{"version":"1.0","engine":"tez","database":"default","hash":"1a18373814a0ccf82ee1409db6a912b5","queryText":"create table t_n10 as\nselect distinct a.c2, a.c3 from dest_l2 a\ninner join dest_l3 b on (a.id = b.id)\nwhere a.id > 0 and b.c3 = 15","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[4],"targets":[0,1],"expression":"(a.id > 0)","edgeType":"PREDICATE"},{"sources":[4,5],"targets":[0,1],"expression":"(a.id = b.id)","edgeType":"PREDICATE"},{"sources":[6,5],"targets":[0,1],"expression":"((b.c3 = 15) and (b.id > 0))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.t_n10.c2"},{"id":1,"vertexType":"COLUMN","vertexId":"default.t_n10.c3"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_l2.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_l2.c3"},{"id":4,"vertexType":"COLUMN","vertexId":"default.dest_l2.id"},{"id":5,"vertexType":"COLUMN","vertexId":"def
 ault.dest_l3.id"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dest_l3.c3"}]}
+{"version":"1.0","engine":"tez","database":"default","hash":"1a18373814a0ccf82ee1409db6a912b5","queryText":"create table t_n10 as\nselect distinct a.c2, a.c3 from dest_l2 a\ninner join dest_l3 b on (a.id = b.id)\nwhere a.id > 0 and b.c3 = 15","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[4],"targets":[0,1],"expression":"(a.id > 0)","edgeType":"PREDICATE"},{"sources":[4,5],"targets":[0,1],"expression":"(a.id = b.id)","edgeType":"PREDICATE"},{"sources":[6,5],"targets":[0,1],"expression":"((b.c3 = 15) and (b.id > 0))","edgeType":"PREDICATE"},{"sources":[2],"targets":[0],"expression":"compute_stats(default.dest_l2.c2, 'hll')","edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"expression":"compute_stats(default.dest_l2.c3, 'hll')","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.t_n10.c2"},{"id":1,"vertexType":"COLUMN","vertexId":"default.t_n10.c3"},{"id":2,"verte
 xType":"COLUMN","vertexId":"default.dest_l2.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_l2.c3"},{"id":4,"vertexType":"COLUMN","vertexId":"default.dest_l2.id"},{"id":5,"vertexType":"COLUMN","vertexId":"default.dest_l3.id"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dest_l3.c3"}]}
 PREHOOK: query: SELECT substr(src1.key,1,1), count(DISTINCT substr(src1.value,5)),
 concat(substr(src1.key,1,1),sum(substr(src1.value,5)))
 from src1

http://git-wip-us.apache.org/repos/asf/hive/blob/138b00ca/ql/src/test/results/clientpositive/llap/lineage3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/lineage3.q.out b/ql/src/test/results/clientpositive/llap/lineage3.q.out
index bfd82cd..11e6904 100644
--- a/ql/src/test/results/clientpositive/llap/lineage3.q.out
+++ b/ql/src/test/results/clientpositive/llap/lineage3.q.out
@@ -36,7 +36,7 @@ PREHOOK: type: CREATETABLE_AS_SELECT
 PREHOOK: Input: default@src1
 PREHOOK: Output: database:default
 PREHOOK: Output: default@t_n20
-{"version":"1.0","engine":"tez","database":"default","hash":"5a2daa3d8508025880412b524351c849","queryText":"create table t_n20 as\nselect * from\n  (select * from\n     (select key from src1 limit 1) v1) v2","edges":[{"sources":[1],"targets":[0],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.t_n20.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.src1.key"}]}
+{"version":"1.0","engine":"tez","database":"default","hash":"5a2daa3d8508025880412b524351c849","queryText":"create table t_n20 as\nselect * from\n  (select * from\n     (select key from src1 limit 1) v1) v2","edges":[{"sources":[1],"targets":[0],"edgeType":"PROJECTION"},{"sources":[1],"targets":[0],"expression":"compute_stats(default.src1.key, 'hll')","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.t_n20.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.src1.key"}]}
 PREHOOK: query: drop table if exists dest_l1_n2
 PREHOOK: type: DROPTABLE
 PREHOOK: query: create table dest_l1_n2(a int, b varchar(128))