http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/union14.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/union14.q.out 
b/ql/src/test/results/clientpositive/spark/union14.q.out
index 6a95e4a..49d6cb1 100644
--- a/ql/src/test/results/clientpositive/spark/union14.q.out
+++ b/ql/src/test/results/clientpositive/spark/union14.q.out
@@ -126,20 +126,20 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 POSTHOOK: Input: default@src1
 #### A masked pattern was here ####
-278    1
-273    1
+       10
 128    1
-255    1
-tst1   1
 146    1
-369    1
+150    1
 213    1
-311    1
 224    1
 238    1
-150    1
-       10
+255    1
+273    1
+278    1
+311    1
+369    1
+401    1
 406    1
 66     1
-401    1
 98     1
+tst1   1

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/union7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/union7.q.out 
b/ql/src/test/results/clientpositive/spark/union7.q.out
index 549075c..8556f84 100644
--- a/ql/src/test/results/clientpositive/spark/union7.q.out
+++ b/ql/src/test/results/clientpositive/spark/union7.q.out
@@ -122,20 +122,20 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 POSTHOOK: Input: default@src1
 #### A masked pattern was here ####
-278    1
-273    1
+       10
 128    1
-255    1
-tst1   1
 146    1
-369    1
+150    1
 213    1
-311    1
 224    1
 238    1
-150    1
-       10
+255    1
+273    1
+278    1
+311    1
+369    1
+401    1
 406    1
 66     1
-401    1
 98     1
+tst1   1

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/union_null.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/union_null.q.out 
b/ql/src/test/results/clientpositive/spark/union_null.q.out
index d37adbb..696641c 100644
--- a/ql/src/test/results/clientpositive/spark/union_null.q.out
+++ b/ql/src/test/results/clientpositive/spark/union_null.q.out
@@ -24,16 +24,16 @@ POSTHOOK: query: select x from (select * from (select value 
as x from src order
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
-val_0
-val_0
-val_0
-val_10
-val_100
 NULL
 NULL
 NULL
 NULL
 NULL
+val_0
+val_0
+val_0
+val_10
+val_100
 PREHOOK: query: select * from (select * from (select cast(null as string) as N 
from src1 group by key)a UNION ALL select * from (select cast(null as string) 
as N from src1 group by key)b ) a
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src1

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/union_view.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/union_view.q.out 
b/ql/src/test/results/clientpositive/spark/union_view.q.out
index 591ebfa..97a5bef 100644
--- a/ql/src/test/results/clientpositive/spark/union_view.q.out
+++ b/ql/src/test/results/clientpositive/spark/union_view.q.out
@@ -483,10 +483,10 @@ STAGE PLANS:
 86     val_86  2
 86     val_86  3
 86     val_86  3
-86     val_86  2
-86     val_86  2
 86     val_86  3
 86     val_86  3
+86     val_86  2
+86     val_86  2
 86     val_86  1
 STAGE DEPENDENCIES:
   Stage-1 is a root stage

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vector_decimal_aggregate.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/spark/vector_decimal_aggregate.q.out 
b/ql/src/test/results/clientpositive/spark/vector_decimal_aggregate.q.out
index e3d815b..6e33ead 100644
--- a/ql/src/test/results/clientpositive/spark/vector_decimal_aggregate.q.out
+++ b/ql/src/test/results/clientpositive/spark/vector_decimal_aggregate.q.out
@@ -99,10 +99,10 @@ STAGE PLANS:
                         Map-reduce partition columns: _col0 (type: int)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkLongOperator
-                            keyColumnNums: [0]
+                            keyColumns: 0:int
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: [1, 2, 3, 4, 5, 6, 7, 8, 9]
+                            valueColumns: 1:bigint, 2:decimal(20,10), 
3:decimal(20,10), 4:decimal(30,10), 5:bigint, 6:decimal(23,14), 
7:decimal(23,14), 8:decimal(33,14), 9:bigint
                         Statistics: Num rows: 12289 Data size: 2165060 Basic 
stats: COMPLETE Column stats: NONE
                         value expressions: _col1 (type: bigint), _col2 (type: 
decimal(20,10)), _col3 (type: decimal(20,10)), _col4 (type: decimal(30,10)), 
_col5 (type: bigint), _col6 (type: decimal(23,14)), _col7 (type: 
decimal(23,14)), _col8 (type: decimal(33,14)), _col9 (type: bigint)
             Execution mode: vectorized
@@ -277,10 +277,10 @@ STAGE PLANS:
                         Map-reduce partition columns: _col0 (type: int)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkLongOperator
-                            keyColumnNums: [0]
+                            keyColumns: 0:int
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 
11, 12, 13]
+                            valueColumns: 1:bigint, 2:decimal(20,10), 
3:decimal(20,10), 4:decimal(30,10), 5:double, 6:double, 7:bigint, 
8:decimal(23,14), 9:decimal(23,14), 10:decimal(33,14), 11:double, 12:double, 
13:bigint
                         Statistics: Num rows: 12289 Data size: 2165060 Basic 
stats: COMPLETE Column stats: NONE
                         value expressions: _col1 (type: bigint), _col2 (type: 
decimal(20,10)), _col3 (type: decimal(20,10)), _col4 (type: decimal(30,10)), 
_col5 (type: double), _col6 (type: double), _col7 (type: bigint), _col8 (type: 
decimal(23,14)), _col9 (type: decimal(23,14)), _col10 (type: decimal(33,14)), 
_col11 (type: double), _col12 (type: double), _col13 (type: bigint)
             Execution mode: vectorized
@@ -489,10 +489,10 @@ STAGE PLANS:
                         Map-reduce partition columns: _col0 (type: int)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkLongOperator
-                            keyColumnNums: [0]
+                            keyColumns: 0:int
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: [1, 2, 3, 4, 5, 6, 7, 8, 9]
+                            valueColumns: 1:bigint, 2:decimal(11,5), 
3:decimal(11,5), 4:decimal(21,5), 5:bigint, 6:decimal(16,0), 7:decimal(16,0), 
8:decimal(26,0), 9:bigint
                         Statistics: Num rows: 12289 Data size: 346462 Basic 
stats: COMPLETE Column stats: NONE
                         value expressions: _col1 (type: bigint), _col2 (type: 
decimal(11,5)), _col3 (type: decimal(11,5)), _col4 (type: decimal(21,5)), _col5 
(type: bigint), _col6 (type: decimal(16,0)), _col7 (type: decimal(16,0)), _col8 
(type: decimal(26,0)), _col9 (type: bigint)
             Execution mode: vectorized
@@ -686,10 +686,10 @@ STAGE PLANS:
                         Map-reduce partition columns: _col0 (type: int)
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkLongOperator
-                            keyColumnNums: [0]
+                            keyColumns: 0:int
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 
11, 12, 13]
+                            valueColumns: 1:bigint, 2:decimal(11,5), 
3:decimal(11,5), 4:decimal(21,5), 5:double, 6:double, 7:bigint, 
8:decimal(16,0), 9:decimal(16,0), 10:decimal(26,0), 11:double, 12:double, 
13:bigint
                         Statistics: Num rows: 12289 Data size: 346462 Basic 
stats: COMPLETE Column stats: NONE
                         value expressions: _col1 (type: bigint), _col2 (type: 
decimal(11,5)), _col3 (type: decimal(11,5)), _col4 (type: decimal(21,5)), _col5 
(type: double), _col6 (type: double), _col7 (type: bigint), _col8 (type: 
decimal(16,0)), _col9 (type: decimal(16,0)), _col10 (type: decimal(26,0)), 
_col11 (type: double), _col12 (type: double), _col13 (type: bigint)
             Execution mode: vectorized

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vector_inner_join.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vector_inner_join.q.out 
b/ql/src/test/results/clientpositive/spark/vector_inner_join.q.out
index 54f08fe..efab3f0 100644
--- a/ql/src/test/results/clientpositive/spark/vector_inner_join.q.out
+++ b/ql/src/test/results/clientpositive/spark/vector_inner_join.q.out
@@ -137,13 +137,15 @@ STAGE PLANS:
                           0 _col0 (type: int)
                           1 _col0 (type: int)
                         Map Join Vectorization:
-                            bigTableKeyColumnNums: [0]
-                            bigTableRetainedColumnNums: [0]
-                            bigTableValueColumnNums: [0]
+                            bigTableKeyColumns: 0:int
+                            bigTableRetainColumnNums: [0]
+                            bigTableValueColumns: 0:int
                             className: VectorMapJoinInnerBigOnlyLongOperator
                             native: true
                             nativeConditionsMet: 
hive.mapjoin.optimized.hashtable IS true, 
hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS 
true, Small table vectorizes IS true, Optimized Table and Supports Key Types IS 
true
-                            projectedOutputColumnNums: [0]
+                            nonOuterSmallTableKeyMapping: []
+                            projectedOutput: 0:int
+                            hashTableImplementationType: OPTIMIZED
                         outputColumnNames: _col1
                         input vertices:
                           0 Map 1
@@ -319,13 +321,15 @@ STAGE PLANS:
                           0 _col0 (type: int)
                           1 _col0 (type: int)
                         Map Join Vectorization:
-                            bigTableKeyColumnNums: [0]
-                            bigTableRetainedColumnNums: [0]
-                            bigTableValueColumnNums: [0]
+                            bigTableKeyColumns: 0:int
+                            bigTableRetainColumnNums: [0]
+                            bigTableValueColumns: 0:int
                             className: VectorMapJoinLeftSemiLongOperator
                             native: true
                             nativeConditionsMet: 
hive.mapjoin.optimized.hashtable IS true, 
hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS 
true, Small table vectorizes IS true, Optimized Table and Supports Key Types IS 
true
-                            projectedOutputColumnNums: [0]
+                            nonOuterSmallTableKeyMapping: []
+                            projectedOutput: 0:int
+                            hashTableImplementationType: OPTIMIZED
                         outputColumnNames: _col0
                         input vertices:
                           1 Map 2
@@ -517,13 +521,15 @@ STAGE PLANS:
                           0 _col0 (type: int)
                           1 _col1 (type: int)
                         Map Join Vectorization:
-                            bigTableKeyColumnNums: [0]
-                            bigTableRetainedColumnNums: [0]
+                            bigTableKeyColumns: 0:int
+                            bigTableRetainColumnNums: []
                             className: VectorMapJoinInnerLongOperator
                             native: true
                             nativeConditionsMet: 
hive.mapjoin.optimized.hashtable IS true, 
hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS 
true, Small table vectorizes IS true, Optimized Table and Supports Key Types IS 
true
-                            projectedOutputColumnNums: [3, 0]
-                            smallTableMapping: [3]
+                            nonOuterSmallTableKeyMapping: [0]
+                            projectedOutput: 3:string, 0:int
+                            smallTableValueMapping: 3:string
+                            hashTableImplementationType: OPTIMIZED
                         outputColumnNames: _col1, _col2
                         input vertices:
                           1 Map 2
@@ -687,14 +693,16 @@ STAGE PLANS:
                           0 _col1 (type: int)
                           1 _col0 (type: int)
                         Map Join Vectorization:
-                            bigTableKeyColumnNums: [1]
-                            bigTableRetainedColumnNums: [0, 1]
-                            bigTableValueColumnNums: [0, 1]
+                            bigTableKeyColumns: 1:int
+                            bigTableRetainColumnNums: [0, 1]
+                            bigTableValueColumns: 0:string, 1:int
                             className: VectorMapJoinInnerLongOperator
                             native: true
                             nativeConditionsMet: 
hive.mapjoin.optimized.hashtable IS true, 
hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS 
true, Small table vectorizes IS true, Optimized Table and Supports Key Types IS 
true
-                            projectedOutputColumnNums: [0, 1, 1, 3]
-                            smallTableMapping: [3]
+                            nonOuterSmallTableKeyMapping: []
+                            projectedOutput: 0:string, 1:int, 1:int, 3:string
+                            smallTableValueMapping: 3:string
+                            hashTableImplementationType: OPTIMIZED
                         outputColumnNames: _col0, _col1, _col2, _col3
                         input vertices:
                           1 Map 2
@@ -850,14 +858,16 @@ STAGE PLANS:
                           0 _col0 (type: int)
                           1 _col1 (type: int)
                         Map Join Vectorization:
-                            bigTableKeyColumnNums: [0]
-                            bigTableRetainedColumnNums: [0, 1]
-                            bigTableValueColumnNums: [0, 1]
+                            bigTableKeyColumns: 0:int
+                            bigTableRetainColumnNums: [0, 1]
+                            bigTableValueColumns: 0:int, 1:string
                             className: VectorMapJoinInnerLongOperator
                             native: true
                             nativeConditionsMet: 
hive.mapjoin.optimized.hashtable IS true, 
hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS 
true, Small table vectorizes IS true, Optimized Table and Supports Key Types IS 
true
-                            projectedOutputColumnNums: [0, 1, 3, 0]
-                            smallTableMapping: [3]
+                            nonOuterSmallTableKeyMapping: []
+                            projectedOutput: 0:int, 1:string, 3:string, 0:int
+                            smallTableValueMapping: 3:string
+                            hashTableImplementationType: OPTIMIZED
                         outputColumnNames: _col0, _col1, _col2, _col3
                         input vertices:
                           1 Map 2
@@ -1022,14 +1032,16 @@ STAGE PLANS:
                           0 _col0 (type: int)
                           1 _col1 (type: int)
                         Map Join Vectorization:
-                            bigTableKeyColumnNums: [0]
-                            bigTableRetainedColumnNums: [0, 1]
-                            bigTableValueColumnNums: [0, 1]
+                            bigTableKeyColumns: 0:int
+                            bigTableRetainColumnNums: [0, 1]
+                            bigTableValueColumns: 0:int, 1:string
                             className: VectorMapJoinInnerLongOperator
                             native: true
                             nativeConditionsMet: 
hive.mapjoin.optimized.hashtable IS true, 
hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS 
true, Small table vectorizes IS true, Optimized Table and Supports Key Types IS 
true
-                            projectedOutputColumnNums: [0, 1, 3]
-                            smallTableMapping: [3]
+                            nonOuterSmallTableKeyMapping: []
+                            projectedOutput: 0:int, 1:string, 3:string
+                            smallTableValueMapping: 3:string
+                            hashTableImplementationType: OPTIMIZED
                         outputColumnNames: _col0, _col1, _col2
                         input vertices:
                           1 Map 2
@@ -1193,14 +1205,16 @@ STAGE PLANS:
                           0 _col0 (type: int)
                           1 _col1 (type: int)
                         Map Join Vectorization:
-                            bigTableKeyColumnNums: [0]
-                            bigTableRetainedColumnNums: [0, 1]
-                            bigTableValueColumnNums: [1]
+                            bigTableKeyColumns: 0:int
+                            bigTableRetainColumnNums: [1]
+                            bigTableValueColumns: 1:string
                             className: VectorMapJoinInnerLongOperator
                             native: true
                             nativeConditionsMet: 
hive.mapjoin.optimized.hashtable IS true, 
hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS 
true, Small table vectorizes IS true, Optimized Table and Supports Key Types IS 
true
-                            projectedOutputColumnNums: [1, 3, 0]
-                            smallTableMapping: [3]
+                            nonOuterSmallTableKeyMapping: [0]
+                            projectedOutput: 1:string, 3:string, 0:int
+                            smallTableValueMapping: 3:string
+                            hashTableImplementationType: OPTIMIZED
                         outputColumnNames: _col1, _col2, _col3
                         input vertices:
                           1 Map 2
@@ -1364,14 +1378,16 @@ STAGE PLANS:
                           0 _col1 (type: int)
                           1 _col0 (type: int)
                         Map Join Vectorization:
-                            bigTableKeyColumnNums: [1]
-                            bigTableRetainedColumnNums: [0, 1]
-                            bigTableValueColumnNums: [0]
+                            bigTableKeyColumns: 1:int
+                            bigTableRetainColumnNums: [0]
+                            bigTableValueColumns: 0:string
                             className: VectorMapJoinInnerLongOperator
                             native: true
                             nativeConditionsMet: 
hive.mapjoin.optimized.hashtable IS true, 
hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS 
true, Small table vectorizes IS true, Optimized Table and Supports Key Types IS 
true
-                            projectedOutputColumnNums: [0, 1, 3]
-                            smallTableMapping: [3]
+                            nonOuterSmallTableKeyMapping: [1]
+                            projectedOutput: 0:string, 1:int, 3:string
+                            smallTableValueMapping: 3:string
+                            hashTableImplementationType: OPTIMIZED
                         outputColumnNames: _col0, _col2, _col3
                         input vertices:
                           1 Map 2
@@ -1535,14 +1551,16 @@ STAGE PLANS:
                           0 _col1 (type: int)
                           1 _col0 (type: int)
                         Map Join Vectorization:
-                            bigTableKeyColumnNums: [1]
-                            bigTableRetainedColumnNums: [0, 1]
-                            bigTableValueColumnNums: [0, 1]
+                            bigTableKeyColumns: 1:int
+                            bigTableRetainColumnNums: [0, 1]
+                            bigTableValueColumns: 0:string, 1:int
                             className: VectorMapJoinInnerLongOperator
                             native: true
                             nativeConditionsMet: 
hive.mapjoin.optimized.hashtable IS true, 
hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS 
true, Small table vectorizes IS true, Optimized Table and Supports Key Types IS 
true
-                            projectedOutputColumnNums: [0, 1, 3]
-                            smallTableMapping: [3]
+                            nonOuterSmallTableKeyMapping: []
+                            projectedOutput: 0:string, 1:int, 3:string
+                            smallTableValueMapping: 3:string
+                            hashTableImplementationType: OPTIMIZED
                         outputColumnNames: _col0, _col1, _col3
                         input vertices:
                           1 Map 2

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vector_mapjoin_reduce.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/spark/vector_mapjoin_reduce.q.out 
b/ql/src/test/results/clientpositive/spark/vector_mapjoin_reduce.q.out
index 108d326..63d13fa 100644
--- a/ql/src/test/results/clientpositive/spark/vector_mapjoin_reduce.q.out
+++ b/ql/src/test/results/clientpositive/spark/vector_mapjoin_reduce.q.out
@@ -206,6 +206,7 @@ STAGE PLANS:
                       className: VectorMapJoinInnerLongOperator
                       native: true
                       nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, 
hive.execution.engine spark IN [tez, spark] IS true, One MapJoin Condition IS 
true, No nullsafe IS true, Small table vectorizes IS true, Optimized Table and 
Supports Key Types IS true
+                      hashTableImplementationType: OPTIMIZED
                   outputColumnNames: _col0, _col1, _col3
                   input vertices:
                     1 Map 3
@@ -220,6 +221,7 @@ STAGE PLANS:
                         className: VectorMapJoinLeftSemiLongOperator
                         native: true
                         nativeConditionsMet: hive.mapjoin.optimized.hashtable 
IS true, hive.vectorized.execution.mapjoin.native.enabled IS true, 
hive.execution.engine spark IN [tez, spark] IS true, One MapJoin Condition IS 
true, No nullsafe IS true, Small table vectorizes IS true, Optimized Table and 
Supports Key Types IS true
+                        hashTableImplementationType: OPTIMIZED
                     outputColumnNames: _col0, _col3
                     input vertices:
                       1 Map 4
@@ -483,6 +485,7 @@ STAGE PLANS:
                       className: VectorMapJoinInnerLongOperator
                       native: true
                       nativeConditionsMet: hive.mapjoin.optimized.hashtable IS 
true, hive.vectorized.execution.mapjoin.native.enabled IS true, 
hive.execution.engine spark IN [tez, spark] IS true, One MapJoin Condition IS 
true, No nullsafe IS true, Small table vectorizes IS true, Optimized Table and 
Supports Key Types IS true
+                      hashTableImplementationType: OPTIMIZED
                   outputColumnNames: _col0, _col1, _col3, _col4
                   input vertices:
                     1 Map 3
@@ -497,6 +500,7 @@ STAGE PLANS:
                         className: VectorMapJoinLeftSemiMultiKeyOperator
                         native: true
                         nativeConditionsMet: hive.mapjoin.optimized.hashtable 
IS true, hive.vectorized.execution.mapjoin.native.enabled IS true, 
hive.execution.engine spark IN [tez, spark] IS true, One MapJoin Condition IS 
true, No nullsafe IS true, Small table vectorizes IS true, Optimized Table and 
Supports Key Types IS true
+                        hashTableImplementationType: OPTIMIZED
                     outputColumnNames: _col0, _col3
                     input vertices:
                       1 Map 4

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vector_outer_join0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vector_outer_join0.q.out 
b/ql/src/test/results/clientpositive/spark/vector_outer_join0.q.out
index c36c9ec..a35a2df 100644
--- a/ql/src/test/results/clientpositive/spark/vector_outer_join0.q.out
+++ b/ql/src/test/results/clientpositive/spark/vector_outer_join0.q.out
@@ -151,15 +151,16 @@ STAGE PLANS:
                         0 _col1 (type: int)
                         1 _col0 (type: int)
                       Map Join Vectorization:
-                          bigTableKeyColumnNums: [1]
-                          bigTableOuterKeyMapping: 1 -> 3
-                          bigTableRetainedColumnNums: [0, 1, 3]
-                          bigTableValueColumnNums: [0, 1]
+                          bigTableKeyColumns: 1:int
+                          bigTableRetainColumnNums: [0, 1]
+                          bigTableValueColumns: 0:string, 1:int
                           className: VectorMapJoinOuterLongOperator
                           native: true
                           nativeConditionsMet: 
hive.mapjoin.optimized.hashtable IS true, 
hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS 
true, Small table vectorizes IS true, Outer Join has keys IS true, Optimized 
Table and Supports Key Types IS true
-                          projectedOutputColumnNums: [0, 1, 3, 4]
-                          smallTableMapping: [4]
+                          outerSmallTableKeyMapping: 1 -> 3
+                          projectedOutput: 0:string, 1:int, 3:int, 4:string
+                          smallTableValueMapping: 4:string
+                          hashTableImplementationType: OPTIMIZED
                       outputColumnNames: _col0, _col1, _col2, _col3
                       input vertices:
                         1 Map 2
@@ -304,15 +305,16 @@ STAGE PLANS:
                         0 _col1 (type: int)
                         1 _col0 (type: int)
                       Map Join Vectorization:
-                          bigTableKeyColumnNums: [0]
-                          bigTableOuterKeyMapping: 0 -> 4
-                          bigTableRetainedColumnNums: [0, 1, 4]
-                          bigTableValueColumnNums: [0, 1]
+                          bigTableKeyColumns: 0:int
+                          bigTableRetainColumnNums: [0, 1]
+                          bigTableValueColumns: 0:int, 1:string
                           className: VectorMapJoinOuterLongOperator
                           native: true
                           nativeConditionsMet: 
hive.mapjoin.optimized.hashtable IS true, 
hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS 
true, Small table vectorizes IS true, Outer Join has keys IS true, Optimized 
Table and Supports Key Types IS true
-                          projectedOutputColumnNums: [3, 4, 0, 1]
-                          smallTableMapping: [3]
+                          outerSmallTableKeyMapping: 0 -> 4
+                          projectedOutput: 3:string, 4:int, 0:int, 1:string
+                          smallTableValueMapping: 3:string
+                          hashTableImplementationType: OPTIMIZED
                       outputColumnNames: _col0, _col1, _col2, _col3
                       input vertices:
                         0 Map 1

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vector_outer_join1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vector_outer_join1.q.out 
b/ql/src/test/results/clientpositive/spark/vector_outer_join1.q.out
index b10b125..e8dc744 100644
--- a/ql/src/test/results/clientpositive/spark/vector_outer_join1.q.out
+++ b/ql/src/test/results/clientpositive/spark/vector_outer_join1.q.out
@@ -311,15 +311,16 @@ STAGE PLANS:
                         0 _col2 (type: int)
                         1 _col2 (type: int)
                       Map Join Vectorization:
-                          bigTableKeyColumnNums: [2]
-                          bigTableOuterKeyMapping: 2 -> 15
-                          bigTableRetainedColumnNums: [0, 1, 2, 3, 4, 5, 6, 7, 
8, 9, 10, 11, 15]
-                          bigTableValueColumnNums: [0, 1, 2, 3, 4, 5, 6, 7, 8, 
9, 10, 11]
+                          bigTableKeyColumns: 2:int
+                          bigTableRetainColumnNums: [0, 1, 2, 3, 4, 5, 6, 7, 
8, 9, 10, 11]
+                          bigTableValueColumns: 0:tinyint, 1:smallint, 2:int, 
3:bigint, 4:float, 5:double, 6:string, 7:string, 8:timestamp, 9:timestamp, 
10:boolean, 11:boolean
                           className: VectorMapJoinOuterLongOperator
                           native: true
                           nativeConditionsMet: 
hive.mapjoin.optimized.hashtable IS true, 
hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS 
true, Small table vectorizes IS true, Outer Join has keys IS true, Optimized 
Table and Supports Key Types IS true
-                          projectedOutputColumnNums: [0, 1, 2, 3, 4, 5, 6, 7, 
8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]
-                          smallTableMapping: [13, 14, 16, 17, 18, 19, 20, 21, 
22, 23, 24]
+                          outerSmallTableKeyMapping: 2 -> 15
+                          projectedOutput: 0:tinyint, 1:smallint, 2:int, 
3:bigint, 4:float, 5:double, 6:string, 7:string, 8:timestamp, 9:timestamp, 
10:boolean, 11:boolean, 13:tinyint, 14:smallint, 15:int, 16:bigint, 17:float, 
18:double, 19:string, 20:string, 21:timestamp, 22:timestamp, 23:boolean, 
24:boolean
+                          smallTableValueMapping: 13:tinyint, 14:smallint, 
16:bigint, 17:float, 18:double, 19:string, 20:string, 21:timestamp, 
22:timestamp, 23:boolean, 24:boolean
+                          hashTableImplementationType: OPTIMIZED
                       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
                       input vertices:
                         1 Map 2
@@ -487,13 +488,14 @@ STAGE PLANS:
                         0 _col0 (type: tinyint)
                         1 _col0 (type: tinyint)
                       Map Join Vectorization:
-                          bigTableKeyColumnNums: [0]
-                          bigTableRetainedColumnNums: [0]
-                          bigTableValueColumnNums: [0]
+                          bigTableKeyColumns: 0:tinyint
+                          bigTableRetainColumnNums: [0]
+                          bigTableValueColumns: 0:tinyint
                           className: VectorMapJoinOuterLongOperator
                           native: true
                           nativeConditionsMet: 
hive.mapjoin.optimized.hashtable IS true, 
hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS 
true, Small table vectorizes IS true, Outer Join has keys IS true, Optimized 
Table and Supports Key Types IS true
-                          projectedOutputColumnNums: [0]
+                          projectedOutput: 0:tinyint
+                          hashTableImplementationType: OPTIMIZED
                       outputColumnNames: _col0
                       input vertices:
                         1 Map 2
@@ -796,13 +798,14 @@ STAGE PLANS:
                         0 _col1 (type: int)
                         1 _col0 (type: int)
                       Map Join Vectorization:
-                          bigTableKeyColumnNums: [2]
-                          bigTableRetainedColumnNums: [0]
-                          bigTableValueColumnNums: [0]
+                          bigTableKeyColumns: 2:int
+                          bigTableRetainColumnNums: [0]
+                          bigTableValueColumns: 0:tinyint
                           className: VectorMapJoinOuterLongOperator
                           native: true
                           nativeConditionsMet: 
hive.mapjoin.optimized.hashtable IS true, 
hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS 
true, Small table vectorizes IS true, Outer Join has keys IS true, Optimized 
Table and Supports Key Types IS true
-                          projectedOutputColumnNums: [0]
+                          projectedOutput: 0:tinyint
+                          hashTableImplementationType: OPTIMIZED
                       outputColumnNames: _col0
                       input vertices:
                         1 Map 3
@@ -814,13 +817,14 @@ STAGE PLANS:
                           0 _col0 (type: tinyint)
                           1 _col0 (type: tinyint)
                         Map Join Vectorization:
-                            bigTableKeyColumnNums: [0]
-                            bigTableRetainedColumnNums: [0]
-                            bigTableValueColumnNums: [0]
+                            bigTableKeyColumns: 0:tinyint
+                            bigTableRetainColumnNums: [0]
+                            bigTableValueColumns: 0:tinyint
                             className: VectorMapJoinOuterLongOperator
                             native: true
                             nativeConditionsMet: 
hive.mapjoin.optimized.hashtable IS true, 
hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS 
true, Small table vectorizes IS true, Outer Join has keys IS true, Optimized 
Table and Supports Key Types IS true
-                            projectedOutputColumnNums: [0]
+                            projectedOutput: 0:tinyint
+                            hashTableImplementationType: OPTIMIZED
                         outputColumnNames: _col0
                         input vertices:
                           1 Map 4
@@ -841,10 +845,9 @@ STAGE PLANS:
                             sort order: 
                             Reduce Sink Vectorization:
                                 className: VectorReduceSinkEmptyKeyOperator
-                                keyColumnNums: []
                                 native: true
                                 nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                                valueColumnNums: [0, 1]
+                                valueColumns: 0:bigint, 1:bigint
                             Statistics: Num rows: 1 Data size: 16 Basic stats: 
COMPLETE Column stats: NONE
                             value expressions: _col0 (type: bigint), _col1 
(type: bigint)
             Execution mode: vectorized

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vector_outer_join2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vector_outer_join2.q.out 
b/ql/src/test/results/clientpositive/spark/vector_outer_join2.q.out
index d19bfa4..217217c 100644
--- a/ql/src/test/results/clientpositive/spark/vector_outer_join2.q.out
+++ b/ql/src/test/results/clientpositive/spark/vector_outer_join2.q.out
@@ -370,13 +370,14 @@ STAGE PLANS:
                         0 _col0 (type: int)
                         1 _col0 (type: int)
                       Map Join Vectorization:
-                          bigTableKeyColumnNums: [2]
-                          bigTableRetainedColumnNums: [3]
-                          bigTableValueColumnNums: [3]
+                          bigTableKeyColumns: 2:int
+                          bigTableRetainColumnNums: [3]
+                          bigTableValueColumns: 3:bigint
                           className: VectorMapJoinOuterLongOperator
                           native: true
                           nativeConditionsMet: 
hive.mapjoin.optimized.hashtable IS true, 
hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS 
true, Small table vectorizes IS true, Outer Join has keys IS true, Optimized 
Table and Supports Key Types IS true
-                          projectedOutputColumnNums: [3]
+                          projectedOutput: 3:bigint
+                          hashTableImplementationType: OPTIMIZED
                       outputColumnNames: _col1
                       input vertices:
                         1 Map 3
@@ -388,13 +389,14 @@ STAGE PLANS:
                           0 _col1 (type: bigint)
                           1 _col0 (type: bigint)
                         Map Join Vectorization:
-                            bigTableKeyColumnNums: [3]
-                            bigTableRetainedColumnNums: [3]
-                            bigTableValueColumnNums: [3]
+                            bigTableKeyColumns: 3:bigint
+                            bigTableRetainColumnNums: [3]
+                            bigTableValueColumns: 3:bigint
                             className: VectorMapJoinOuterLongOperator
                             native: true
                             nativeConditionsMet: 
hive.mapjoin.optimized.hashtable IS true, 
hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS 
true, Small table vectorizes IS true, Outer Join has keys IS true, Optimized 
Table and Supports Key Types IS true
-                            projectedOutputColumnNums: [3]
+                            projectedOutput: 3:bigint
+                            hashTableImplementationType: OPTIMIZED
                         outputColumnNames: _col1
                         input vertices:
                           1 Map 4
@@ -415,10 +417,9 @@ STAGE PLANS:
                             sort order: 
                             Reduce Sink Vectorization:
                                 className: VectorReduceSinkEmptyKeyOperator
-                                keyColumnNums: []
                                 native: true
                                 nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                                valueColumnNums: [0, 1]
+                                valueColumns: 0:bigint, 1:bigint
                             Statistics: Num rows: 1 Data size: 16 Basic stats: 
COMPLETE Column stats: NONE
                             value expressions: _col0 (type: bigint), _col1 
(type: bigint)
             Execution mode: vectorized

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vectorization_0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vectorization_0.q.out 
b/ql/src/test/results/clientpositive/spark/vectorization_0.q.out
index 8c3d4c1..6b09206 100644
--- a/ql/src/test/results/clientpositive/spark/vectorization_0.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorization_0.q.out
@@ -62,10 +62,9 @@ STAGE PLANS:
                         sort order: 
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkEmptyKeyOperator
-                            keyColumnNums: []
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: [0, 1, 2, 3]
+                            valueColumns: 0:tinyint, 1:tinyint, 2:bigint, 
3:bigint
                         Statistics: Num rows: 1 Data size: 24 Basic stats: 
COMPLETE Column stats: NONE
                         value expressions: _col0 (type: tinyint), _col1 (type: 
tinyint), _col2 (type: bigint), _col3 (type: bigint)
             Execution mode: vectorized
@@ -117,10 +116,10 @@ STAGE PLANS:
                   sort order: +
                   Reduce Sink Vectorization:
                       className: VectorReduceSinkObjectHashOperator
-                      keyColumnNums: [0]
+                      keyColumns: 0:tinyint
                       native: true
                       nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                      valueColumnNums: [1, 2, 3]
+                      valueColumns: 1:tinyint, 2:bigint, 3:bigint
                   Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE 
Column stats: NONE
                   value expressions: _col1 (type: tinyint), _col2 (type: 
bigint), _col3 (type: bigint)
         Reducer 3 
@@ -241,10 +240,9 @@ STAGE PLANS:
                         sort order: 
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkEmptyKeyOperator
-                            keyColumnNums: []
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: [0]
+                            valueColumns: 0:bigint
                         Statistics: Num rows: 1 Data size: 8 Basic stats: 
COMPLETE Column stats: NONE
                         value expressions: _col0 (type: bigint)
             Execution mode: vectorized
@@ -296,10 +294,9 @@ STAGE PLANS:
                   sort order: +
                   Reduce Sink Vectorization:
                       className: VectorReduceSinkObjectHashOperator
-                      keyColumnNums: [0]
+                      keyColumns: 0:bigint
                       native: true
                       nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                      valueColumnNums: []
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
         Reducer 3 
             Execution mode: vectorized
@@ -568,10 +565,9 @@ STAGE PLANS:
                         sort order: 
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkEmptyKeyOperator
-                            keyColumnNums: []
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: [0, 1, 2, 3]
+                            valueColumns: 0:bigint, 1:bigint, 2:bigint, 
3:bigint
                         Statistics: Num rows: 1 Data size: 32 Basic stats: 
COMPLETE Column stats: NONE
                         value expressions: _col0 (type: bigint), _col1 (type: 
bigint), _col2 (type: bigint), _col3 (type: bigint)
             Execution mode: vectorized
@@ -623,10 +619,10 @@ STAGE PLANS:
                   sort order: +
                   Reduce Sink Vectorization:
                       className: VectorReduceSinkObjectHashOperator
-                      keyColumnNums: [0]
+                      keyColumns: 0:bigint
                       native: true
                       nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                      valueColumnNums: [1, 2, 3]
+                      valueColumns: 1:bigint, 2:bigint, 3:bigint
                   Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE 
Column stats: NONE
                   value expressions: _col1 (type: bigint), _col2 (type: 
bigint), _col3 (type: bigint)
         Reducer 3 
@@ -747,10 +743,9 @@ STAGE PLANS:
                         sort order: 
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkEmptyKeyOperator
-                            keyColumnNums: []
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: [0]
+                            valueColumns: 0:bigint
                         Statistics: Num rows: 1 Data size: 8 Basic stats: 
COMPLETE Column stats: NONE
                         value expressions: _col0 (type: bigint)
             Execution mode: vectorized
@@ -802,10 +797,9 @@ STAGE PLANS:
                   sort order: +
                   Reduce Sink Vectorization:
                       className: VectorReduceSinkObjectHashOperator
-                      keyColumnNums: [0]
+                      keyColumns: 0:bigint
                       native: true
                       nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                      valueColumnNums: []
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
         Reducer 3 
             Execution mode: vectorized
@@ -1074,10 +1068,9 @@ STAGE PLANS:
                         sort order: 
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkEmptyKeyOperator
-                            keyColumnNums: []
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: [0, 1, 2, 3]
+                            valueColumns: 0:float, 1:float, 2:bigint, 3:bigint
                         Statistics: Num rows: 1 Data size: 24 Basic stats: 
COMPLETE Column stats: NONE
                         value expressions: _col0 (type: float), _col1 (type: 
float), _col2 (type: bigint), _col3 (type: bigint)
             Execution mode: vectorized
@@ -1129,10 +1122,10 @@ STAGE PLANS:
                   sort order: +
                   Reduce Sink Vectorization:
                       className: VectorReduceSinkObjectHashOperator
-                      keyColumnNums: [0]
+                      keyColumns: 0:float
                       native: true
                       nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                      valueColumnNums: [1, 2, 3]
+                      valueColumns: 1:float, 2:bigint, 3:bigint
                   Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE 
Column stats: NONE
                   value expressions: _col1 (type: float), _col2 (type: 
bigint), _col3 (type: bigint)
         Reducer 3 
@@ -1253,10 +1246,9 @@ STAGE PLANS:
                         sort order: 
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkEmptyKeyOperator
-                            keyColumnNums: []
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: [0]
+                            valueColumns: 0:double
                         Statistics: Num rows: 1 Data size: 8 Basic stats: 
COMPLETE Column stats: NONE
                         value expressions: _col0 (type: double)
             Execution mode: vectorized
@@ -1308,10 +1300,9 @@ STAGE PLANS:
                   sort order: +
                   Reduce Sink Vectorization:
                       className: VectorReduceSinkObjectHashOperator
-                      keyColumnNums: [0]
+                      keyColumns: 0:double
                       native: true
                       nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                      valueColumnNums: []
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
         Reducer 3 
             Execution mode: vectorized
@@ -1627,10 +1618,9 @@ STAGE PLANS:
                           sort order: 
                           Reduce Sink Vectorization:
                               className: VectorReduceSinkEmptyKeyOperator
-                              keyColumnNums: []
                               native: true
                               nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                              valueColumnNums: [0, 1, 2, 3, 4, 5, 6]
+                              valueColumns: 0:bigint, 1:bigint, 2:double, 
3:double, 4:bigint, 5:double, 6:tinyint
                           Statistics: Num rows: 1 Data size: 52 Basic stats: 
COMPLETE Column stats: NONE
                           value expressions: _col0 (type: bigint), _col1 
(type: bigint), _col2 (type: double), _col3 (type: double), _col4 (type: 
bigint), _col5 (type: double), _col6 (type: tinyint)
             Execution mode: vectorized

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vectorization_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vectorization_1.q.out 
b/ql/src/test/results/clientpositive/spark/vectorization_1.q.out
index e6d6e64..e933da7 100644
--- a/ql/src/test/results/clientpositive/spark/vectorization_1.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorization_1.q.out
@@ -96,10 +96,9 @@ STAGE PLANS:
                           sort order: 
                           Reduce Sink Vectorization:
                               className: VectorReduceSinkEmptyKeyOperator
-                              keyColumnNums: []
                               native: true
                               nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                              valueColumnNums: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+                              valueColumns: 0:double, 1:double, 2:bigint, 
3:double, 4:tinyint, 5:int, 6:double, 7:double, 8:bigint, 9:bigint
                           Statistics: Num rows: 1 Data size: 72 Basic stats: 
COMPLETE Column stats: NONE
                           value expressions: _col0 (type: double), _col1 
(type: double), _col2 (type: bigint), _col3 (type: double), _col4 (type: 
tinyint), _col5 (type: int), _col6 (type: double), _col7 (type: double), _col8 
(type: bigint), _col9 (type: bigint)
             Execution mode: vectorized

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vectorization_12.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vectorization_12.q.out 
b/ql/src/test/results/clientpositive/spark/vectorization_12.q.out
index bc9dd9b..53902c4 100644
--- a/ql/src/test/results/clientpositive/spark/vectorization_12.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorization_12.q.out
@@ -123,10 +123,10 @@ STAGE PLANS:
                           Map-reduce partition columns: _col0 (type: double), 
_col1 (type: bigint), _col2 (type: string), _col3 (type: boolean)
                           Reduce Sink Vectorization:
                               className: VectorReduceSinkMultiKeyOperator
-                              keyColumnNums: [0, 1, 2, 3]
+                              keyColumns: 0:double, 1:bigint, 2:string, 
3:boolean
                               native: true
                               nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                              valueColumnNums: [4, 5, 6, 7, 8, 9, 10]
+                              valueColumns: 4:bigint, 5:double, 6:double, 
7:double, 8:bigint, 9:bigint, 10:double
                           Statistics: Num rows: 3754 Data size: 888395 Basic 
stats: COMPLETE Column stats: NONE
                           value expressions: _col4 (type: bigint), _col5 
(type: double), _col6 (type: double), _col7 (type: double), _col8 (type: 
bigint), _col9 (type: bigint), _col10 (type: double)
             Execution mode: vectorized
@@ -189,10 +189,10 @@ STAGE PLANS:
                     sort order: +++
                     Reduce Sink Vectorization:
                         className: VectorReduceSinkObjectHashOperator
-                        keyColumnNums: [0, 1, 2]
+                        keyColumns: 0:double, 1:bigint, 2:string
                         native: true
                         nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                        valueColumnNums: [3, 11, 12, 4, 13, 14, 19, 15, 20, 
22, 24, 9, 26, 25, 21, 27]
+                        valueColumns: 3:boolean, 11:double, 12:bigint, 
4:bigint, 13:bigint, 14:double, 19:double, 15:double, 20:double, 22:double, 
24:decimal(22,2), 9:bigint, 26:double, 25:double, 21:double, 27:double
                     Statistics: Num rows: 1877 Data size: 444197 Basic stats: 
COMPLETE Column stats: NONE
                     value expressions: _col1 (type: boolean), _col4 (type: 
double), _col5 (type: bigint), _col6 (type: bigint), _col7 (type: bigint), 
_col8 (type: double), _col9 (type: double), _col10 (type: double), _col11 
(type: double), _col12 (type: double), _col13 (type: decimal(22,2)), _col14 
(type: bigint), _col15 (type: double), _col17 (type: double), _col18 (type: 
double), _col19 (type: double)
         Reducer 3 

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vectorization_13.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vectorization_13.q.out 
b/ql/src/test/results/clientpositive/spark/vectorization_13.q.out
index b775796..a49738e 100644
--- a/ql/src/test/results/clientpositive/spark/vectorization_13.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorization_13.q.out
@@ -125,10 +125,10 @@ STAGE PLANS:
                           Map-reduce partition columns: _col0 (type: boolean), 
_col1 (type: tinyint), _col2 (type: timestamp), _col3 (type: float), _col4 
(type: string)
                           Reduce Sink Vectorization:
                               className: VectorReduceSinkMultiKeyOperator
-                              keyColumnNums: [0, 1, 2, 3, 4]
+                              keyColumns: 0:boolean, 1:tinyint, 2:timestamp, 
3:float, 4:string
                               native: true
                               nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                              valueColumnNums: [5, 6, 7, 8, 9, 10, 11, 12, 13, 
14]
+                              valueColumns: 5:tinyint, 6:double, 7:double, 
8:double, 9:bigint, 10:double, 11:double, 12:bigint, 13:float, 14:tinyint
                           Statistics: Num rows: 2730 Data size: 646063 Basic 
stats: COMPLETE Column stats: NONE
                           value expressions: _col5 (type: tinyint), _col6 
(type: double), _col7 (type: double), _col8 (type: double), _col9 (type: 
bigint), _col10 (type: double), _col11 (type: double), _col12 (type: bigint), 
_col13 (type: float), _col14 (type: tinyint)
             Execution mode: vectorized
@@ -191,10 +191,9 @@ STAGE PLANS:
                     sort order: +++++++++++++++++++++
                     Reduce Sink Vectorization:
                         className: VectorReduceSinkObjectHashOperator
-                        keyColumnNums: [0, 1, 2, 3, 4, 15, 5, 17, 6, 20, 19, 
21, 22, 23, 24, 27, 28, 25, 13, 31, 14]
+                        keyColumns: 0:boolean, 1:tinyint, 2:timestamp, 
3:float, 4:string, 15:tinyint, 5:tinyint, 17:tinyint, 6:double, 20:double, 
19:double, 21:float, 22:double, 23:double, 24:double, 27:decimal(7,3), 
28:double, 25:double, 13:float, 31:double, 14:tinyint
                         native: true
                         nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                        valueColumnNums: []
                     Statistics: Num rows: 1365 Data size: 323031 Basic stats: 
COMPLETE Column stats: NONE
                     TopN Hash Memory Usage: 0.1
         Reducer 3 

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vectorization_14.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vectorization_14.q.out 
b/ql/src/test/results/clientpositive/spark/vectorization_14.q.out
index 4287be5..96e17a9 100644
--- a/ql/src/test/results/clientpositive/spark/vectorization_14.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorization_14.q.out
@@ -125,10 +125,10 @@ STAGE PLANS:
                           Map-reduce partition columns: _col0 (type: string), 
_col1 (type: float), _col2 (type: double), _col3 (type: timestamp), _col4 
(type: boolean)
                           Reduce Sink Vectorization:
                               className: VectorReduceSinkMultiKeyOperator
-                              keyColumnNums: [0, 1, 2, 3, 4]
+                              keyColumns: 0:string, 1:float, 2:double, 
3:timestamp, 4:boolean
                               native: true
                               nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                              valueColumnNums: [5, 6, 7, 8, 9, 10, 11]
+                              valueColumns: 5:double, 6:double, 7:bigint, 
8:float, 9:double, 10:double, 11:bigint
                           Statistics: Num rows: 606 Data size: 143411 Basic 
stats: COMPLETE Column stats: NONE
                           value expressions: _col5 (type: double), _col6 
(type: double), _col7 (type: bigint), _col8 (type: float), _col9 (type: 
double), _col10 (type: double), _col11 (type: bigint)
             Execution mode: vectorized
@@ -191,10 +191,10 @@ STAGE PLANS:
                     sort order: ++++
                     Reduce Sink Vectorization:
                         className: VectorReduceSinkObjectHashOperator
-                        keyColumnNums: [0, 1, 2, 3]
+                        keyColumns: 0:string, 1:float, 2:double, 3:timestamp
                         native: true
                         nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                        valueColumnNums: [4, 12, 14, 13, 15, 8, 19, 20, 21, 
22, 11, 24, 25, 23, 29, 28, 31, 34]
+                        valueColumns: 4:boolean, 12:double, 14:double, 
13:double, 15:float, 8:float, 19:float, 20:float, 21:double, 22:double, 
11:bigint, 24:double, 25:double, 23:double, 29:double, 28:double, 31:double, 
34:double
                     Statistics: Num rows: 303 Data size: 71705 Basic stats: 
COMPLETE Column stats: NONE
                     value expressions: _col3 (type: boolean), _col5 (type: 
double), _col6 (type: double), _col7 (type: double), _col8 (type: float), _col9 
(type: float), _col10 (type: float), _col11 (type: float), _col12 (type: 
double), _col13 (type: double), _col14 (type: bigint), _col15 (type: double), 
_col16 (type: double), _col17 (type: double), _col18 (type: double), _col19 
(type: double), _col20 (type: double), _col21 (type: double)
         Reducer 3 

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vectorization_15.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vectorization_15.q.out 
b/ql/src/test/results/clientpositive/spark/vectorization_15.q.out
index 6672776..1cea297 100644
--- a/ql/src/test/results/clientpositive/spark/vectorization_15.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorization_15.q.out
@@ -121,10 +121,10 @@ STAGE PLANS:
                           Map-reduce partition columns: _col0 (type: float), 
_col1 (type: boolean), _col2 (type: double), _col3 (type: string), _col4 (type: 
tinyint), _col5 (type: int), _col6 (type: timestamp)
                           Reduce Sink Vectorization:
                               className: VectorReduceSinkMultiKeyOperator
-                              keyColumnNums: [0, 1, 2, 3, 4, 5, 6]
+                              keyColumns: 0:float, 1:boolean, 2:double, 
3:string, 4:tinyint, 5:int, 6:timestamp
                               native: true
                               nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                              valueColumnNums: [7, 8, 9, 10, 11, 12, 13, 14, 
15, 16]
+                              valueColumns: 7:double, 8:double, 9:bigint, 
10:double, 11:double, 12:double, 13:bigint, 14:double, 15:double, 16:bigint
                           Statistics: Num rows: 12288 Data size: 2907994 Basic 
stats: COMPLETE Column stats: NONE
                           value expressions: _col7 (type: double), _col8 
(type: double), _col9 (type: bigint), _col10 (type: double), _col11 (type: 
double), _col12 (type: double), _col13 (type: bigint), _col14 (type: double), 
_col15 (type: double), _col16 (type: bigint)
             Execution mode: vectorized

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vectorization_16.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vectorization_16.q.out 
b/ql/src/test/results/clientpositive/spark/vectorization_16.q.out
index 3ceb751..adb0491 100644
--- a/ql/src/test/results/clientpositive/spark/vectorization_16.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorization_16.q.out
@@ -98,10 +98,10 @@ STAGE PLANS:
                           Map-reduce partition columns: _col0 (type: string), 
_col1 (type: double), _col2 (type: timestamp)
                           Reduce Sink Vectorization:
                               className: VectorReduceSinkMultiKeyOperator
-                              keyColumnNums: [0, 1, 2]
+                              keyColumns: 0:string, 1:double, 2:timestamp
                               native: true
                               nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                              valueColumnNums: [3, 4, 5, 6]
+                              valueColumns: 3:bigint, 4:double, 5:double, 
6:double
                           Statistics: Num rows: 4096 Data size: 969331 Basic 
stats: COMPLETE Column stats: NONE
                           value expressions: _col3 (type: bigint), _col4 
(type: double), _col5 (type: double), _col6 (type: double)
             Execution mode: vectorized

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vectorization_17.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vectorization_17.q.out 
b/ql/src/test/results/clientpositive/spark/vectorization_17.q.out
index 28801e4..ba82b68 100644
--- a/ql/src/test/results/clientpositive/spark/vectorization_17.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorization_17.q.out
@@ -91,10 +91,10 @@ STAGE PLANS:
                         sort order: ++
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkObjectHashOperator
-                            keyColumnNums: [3, 4]
+                            keyColumns: 3:bigint, 4:float
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: [6, 2, 8, 5, 15, 16, 14, 17, 19, 
20, 22, 18]
+                            valueColumns: 6:string, 2:int, 8:timestamp, 
5:double, 15:double, 16:bigint, 14:double, 17:double, 19:double, 20:double, 
22:decimal(11,4), 18:double
                         Statistics: Num rows: 4096 Data size: 969331 Basic 
stats: COMPLETE Column stats: NONE
                         value expressions: _col1 (type: string), _col2 (type: 
int), _col3 (type: timestamp), _col4 (type: double), _col6 (type: double), 
_col7 (type: bigint), _col8 (type: double), _col9 (type: double), _col10 (type: 
double), _col11 (type: double), _col12 (type: decimal(11,4)), _col13 (type: 
double)
             Execution mode: vectorized

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vectorization_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vectorization_2.q.out 
b/ql/src/test/results/clientpositive/spark/vectorization_2.q.out
index b521c5b..641e61e 100644
--- a/ql/src/test/results/clientpositive/spark/vectorization_2.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorization_2.q.out
@@ -100,10 +100,9 @@ STAGE PLANS:
                           sort order: 
                           Reduce Sink Vectorization:
                               className: VectorReduceSinkEmptyKeyOperator
-                              keyColumnNums: []
                               native: true
                               nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                              valueColumnNums: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+                              valueColumns: 0:bigint, 1:bigint, 2:double, 
3:double, 4:double, 5:bigint, 6:bigint, 7:tinyint, 8:double, 9:bigint
                           Statistics: Num rows: 1 Data size: 76 Basic stats: 
COMPLETE Column stats: NONE
                           value expressions: _col0 (type: bigint), _col1 
(type: bigint), _col2 (type: double), _col3 (type: double), _col4 (type: 
double), _col5 (type: bigint), _col6 (type: bigint), _col7 (type: tinyint), 
_col8 (type: double), _col9 (type: bigint)
             Execution mode: vectorized

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vectorization_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vectorization_3.q.out 
b/ql/src/test/results/clientpositive/spark/vectorization_3.q.out
index d329bb8..1baaaf6 100644
--- a/ql/src/test/results/clientpositive/spark/vectorization_3.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorization_3.q.out
@@ -105,10 +105,9 @@ STAGE PLANS:
                           sort order: 
                           Reduce Sink Vectorization:
                               className: VectorReduceSinkEmptyKeyOperator
-                              keyColumnNums: []
                               native: true
                               nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                              valueColumnNums: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
10, 11, 12, 13]
+                              valueColumns: 0:double, 1:double, 2:bigint, 
3:double, 4:double, 5:bigint, 6:double, 7:double, 8:bigint, 9:double, 
10:bigint, 11:bigint, 12:double, 13:double
                           Statistics: Num rows: 1 Data size: 112 Basic stats: 
COMPLETE Column stats: NONE
                           value expressions: _col0 (type: double), _col1 
(type: double), _col2 (type: bigint), _col3 (type: double), _col4 (type: 
double), _col5 (type: bigint), _col6 (type: double), _col7 (type: double), 
_col8 (type: bigint), _col9 (type: double), _col10 (type: bigint), _col11 
(type: bigint), _col12 (type: double), _col13 (type: double)
             Execution mode: vectorized

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vectorization_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vectorization_4.q.out 
b/ql/src/test/results/clientpositive/spark/vectorization_4.q.out
index 28d07dd..c67b97f 100644
--- a/ql/src/test/results/clientpositive/spark/vectorization_4.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorization_4.q.out
@@ -100,10 +100,9 @@ STAGE PLANS:
                           sort order: 
                           Reduce Sink Vectorization:
                               className: VectorReduceSinkEmptyKeyOperator
-                              keyColumnNums: []
                               native: true
                               nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                              valueColumnNums: [0, 1, 2, 3, 4]
+                              valueColumns: 0:bigint, 1:double, 2:double, 
3:bigint, 4:tinyint
                           Statistics: Num rows: 1 Data size: 36 Basic stats: 
COMPLETE Column stats: NONE
                           value expressions: _col0 (type: bigint), _col1 
(type: double), _col2 (type: double), _col3 (type: bigint), _col4 (type: 
tinyint)
             Execution mode: vectorized

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vectorization_5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vectorization_5.q.out 
b/ql/src/test/results/clientpositive/spark/vectorization_5.q.out
index a5e4ade..da9a4d3 100644
--- a/ql/src/test/results/clientpositive/spark/vectorization_5.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorization_5.q.out
@@ -93,10 +93,9 @@ STAGE PLANS:
                           sort order: 
                           Reduce Sink Vectorization:
                               className: VectorReduceSinkEmptyKeyOperator
-                              keyColumnNums: []
                               native: true
                               nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                              valueColumnNums: [0, 1, 2, 3, 4]
+                              valueColumns: 0:smallint, 1:bigint, 2:smallint, 
3:bigint, 4:tinyint
                           Statistics: Num rows: 1 Data size: 28 Basic stats: 
COMPLETE Column stats: NONE
                           value expressions: _col0 (type: smallint), _col1 
(type: bigint), _col2 (type: smallint), _col3 (type: bigint), _col4 (type: 
tinyint)
             Execution mode: vectorized

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vectorization_9.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vectorization_9.q.out 
b/ql/src/test/results/clientpositive/spark/vectorization_9.q.out
index 3ceb751..adb0491 100644
--- a/ql/src/test/results/clientpositive/spark/vectorization_9.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorization_9.q.out
@@ -98,10 +98,10 @@ STAGE PLANS:
                           Map-reduce partition columns: _col0 (type: string), 
_col1 (type: double), _col2 (type: timestamp)
                           Reduce Sink Vectorization:
                               className: VectorReduceSinkMultiKeyOperator
-                              keyColumnNums: [0, 1, 2]
+                              keyColumns: 0:string, 1:double, 2:timestamp
                               native: true
                               nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                              valueColumnNums: [3, 4, 5, 6]
+                              valueColumns: 3:bigint, 4:double, 5:double, 
6:double
                           Statistics: Num rows: 4096 Data size: 969331 Basic 
stats: COMPLETE Column stats: NONE
                           value expressions: _col3 (type: bigint), _col4 
(type: double), _col5 (type: double), _col6 (type: double)
             Execution mode: vectorized

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vectorization_nested_udf.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/spark/vectorization_nested_udf.q.out 
b/ql/src/test/results/clientpositive/spark/vectorization_nested_udf.q.out
index 2871c1a..40e13bb 100644
--- a/ql/src/test/results/clientpositive/spark/vectorization_nested_udf.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorization_nested_udf.q.out
@@ -52,10 +52,9 @@ STAGE PLANS:
                         sort order: 
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkEmptyKeyOperator
-                            keyColumnNums: []
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: [0]
+                            valueColumns: 0:bigint
                         Statistics: Num rows: 1 Data size: 8 Basic stats: 
COMPLETE Column stats: NONE
                         value expressions: _col0 (type: bigint)
             Execution mode: vectorized

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vectorized_case.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vectorized_case.q.out 
b/ql/src/test/results/clientpositive/spark/vectorized_case.q.out
index 8296a65..bfad0b7 100644
--- a/ql/src/test/results/clientpositive/spark/vectorized_case.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorized_case.q.out
@@ -314,10 +314,9 @@ STAGE PLANS:
                         sort order: 
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkEmptyKeyOperator
-                            keyColumnNums: []
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: [0, 1]
+                            valueColumns: 0:bigint, 1:bigint
                         Statistics: Num rows: 1 Data size: 16 Basic stats: 
COMPLETE Column stats: NONE
                         value expressions: _col0 (type: bigint), _col1 (type: 
bigint)
             Execution mode: vectorized
@@ -456,10 +455,9 @@ STAGE PLANS:
                         sort order: 
                         Reduce Sink Vectorization:
                             className: VectorReduceSinkEmptyKeyOperator
-                            keyColumnNums: []
                             native: true
                             nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS 
true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
-                            valueColumnNums: [0, 1]
+                            valueColumns: 0:bigint, 1:bigint
                         Statistics: Num rows: 1 Data size: 16 Basic stats: 
COMPLETE Column stats: NONE
                         value expressions: _col0 (type: bigint), _col1 (type: 
bigint)
             Execution mode: vectorized

http://git-wip-us.apache.org/repos/asf/hive/blob/a37827ec/ql/src/test/results/clientpositive/spark/vectorized_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vectorized_mapjoin.q.out 
b/ql/src/test/results/clientpositive/spark/vectorized_mapjoin.q.out
index 131f692..fdf337d 100644
--- a/ql/src/test/results/clientpositive/spark/vectorized_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorized_mapjoin.q.out
@@ -102,6 +102,7 @@ STAGE PLANS:
                             className: VectorMapJoinInnerBigOnlyLongOperator
                             native: true
                             nativeConditionsMet: 
hive.mapjoin.optimized.hashtable IS true, 
hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine 
spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS 
true, Small table vectorizes IS true, Optimized Table and Supports Key Types IS 
true
+                            hashTableImplementationType: OPTIMIZED
                         outputColumnNames: _col0, _col1
                         input vertices:
                           1 Map 3

Reply via email to