http://git-wip-us.apache.org/repos/asf/hive/blob/92fbe256/ql/src/test/results/clientpositive/llap/vector_decimal_aggregate.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/llap/vector_decimal_aggregate.q.out 
b/ql/src/test/results/clientpositive/llap/vector_decimal_aggregate.q.out
index ab38382..8ea03f7 100644
--- a/ql/src/test/results/clientpositive/llap/vector_decimal_aggregate.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_decimal_aggregate.q.out
@@ -71,9 +71,11 @@ STAGE PLANS:
                       Group By Vectorization:
                           aggregators: VectorUDAFCount(col 1) -> bigint, 
VectorUDAFMaxDecimal(col 1) -> decimal(20,10), VectorUDAFMinDecimal(col 1) -> 
decimal(20,10), VectorUDAFSumDecimal(col 1) -> decimal(38,18), 
VectorUDAFCount(col 2) -> bigint, VectorUDAFMaxDecimal(col 2) -> 
decimal(23,14), VectorUDAFMinDecimal(col 2) -> decimal(23,14), 
VectorUDAFSumDecimal(col 2) -> decimal(38,18), VectorUDAFCountStar(*) -> bigint
                           className: VectorGroupByOperator
+                          groupByMode: HASH
                           vectorOutput: true
                           keyExpressions: col 3
                           native: false
+                          vectorProcessingMode: HASH
                           projectedOutputColumns: [0, 1, 2, 3, 4, 5, 6, 7, 8]
                       keys: cint (type: int)
                       mode: hash
@@ -114,9 +116,11 @@ STAGE PLANS:
                 Group By Vectorization:
                     aggregators: VectorUDAFCountMerge(col 1) -> bigint, 
VectorUDAFMaxDecimal(col 2) -> decimal(20,10), VectorUDAFMinDecimal(col 3) -> 
decimal(20,10), VectorUDAFSumDecimal(col 4) -> decimal(38,18), 
VectorUDAFCountMerge(col 5) -> bigint, VectorUDAFMaxDecimal(col 6) -> 
decimal(23,14), VectorUDAFMinDecimal(col 7) -> decimal(23,14), 
VectorUDAFSumDecimal(col 8) -> decimal(38,18), VectorUDAFCountMerge(col 9) -> 
bigint
                     className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
                     vectorOutput: true
                     keyExpressions: col 0
                     native: false
+                    vectorProcessingMode: MERGE_PARTIAL
                     projectedOutputColumns: [0, 1, 2, 3, 4, 5, 6, 7, 8]
                 keys: KEY._col0 (type: int)
                 mode: mergepartial
@@ -229,13 +233,14 @@ STAGE PLANS:
                     Group By Operator
                       aggregations: count(cdecimal1), max(cdecimal1), 
min(cdecimal1), sum(cdecimal1), avg(cdecimal1), stddev_pop(cdecimal1), 
stddev_samp(cdecimal1), count(cdecimal2), max(cdecimal2), min(cdecimal2), 
sum(cdecimal2), avg(cdecimal2), stddev_pop(cdecimal2), stddev_samp(cdecimal2), 
count()
                       Group By Vectorization:
-                          aggregators: VectorUDAFCount(col 1) -> bigint, 
VectorUDAFMaxDecimal(col 1) -> decimal(20,10), VectorUDAFMinDecimal(col 1) -> 
decimal(20,10), VectorUDAFSumDecimal(col 1) -> decimal(38,18), 
VectorUDAFAvgDecimal(col 1) -> struct<count:bigint,sum:decimal(30,10)>, 
VectorUDAFStdPopDecimal(col 1) -> 
struct<count:bigint,sum:double,variance:double>, VectorUDAFStdSampDecimal(col 
1) -> struct<count:bigint,sum:double,variance:double>, VectorUDAFCount(col 2) 
-> bigint, VectorUDAFMaxDecimal(col 2) -> decimal(23,14), 
VectorUDAFMinDecimal(col 2) -> decimal(23,14), VectorUDAFSumDecimal(col 2) -> 
decimal(38,18), VectorUDAFAvgDecimal(col 2) -> 
struct<count:bigint,sum:decimal(33,14)>, VectorUDAFStdPopDecimal(col 2) -> 
struct<count:bigint,sum:double,variance:double>, VectorUDAFStdSampDecimal(col 
2) -> struct<count:bigint,sum:double,variance:double>, VectorUDAFCountStar(*) 
-> bigint
+                          aggregators: VectorUDAFCount(col 1) -> bigint, 
VectorUDAFMaxDecimal(col 1) -> decimal(20,10), VectorUDAFMinDecimal(col 1) -> 
decimal(20,10), VectorUDAFSumDecimal(col 1) -> decimal(38,18), 
VectorUDAFAvgDecimal(col 1) -> 
struct<count:bigint,sum:decimal(30,10),input:decimal(30,10)>, 
VectorUDAFStdPopDecimal(col 1) -> 
struct<count:bigint,sum:double,variance:double>, VectorUDAFStdSampDecimal(col 
1) -> struct<count:bigint,sum:double,variance:double>, VectorUDAFCount(col 2) 
-> bigint, VectorUDAFMaxDecimal(col 2) -> decimal(23,14), 
VectorUDAFMinDecimal(col 2) -> decimal(23,14), VectorUDAFSumDecimal(col 2) -> 
decimal(38,18), VectorUDAFAvgDecimal(col 2) -> 
struct<count:bigint,sum:decimal(33,14),input:decimal(33,14)>, 
VectorUDAFStdPopDecimal(col 2) -> 
struct<count:bigint,sum:double,variance:double>, VectorUDAFStdSampDecimal(col 
2) -> struct<count:bigint,sum:double,variance:double>, VectorUDAFCountStar(*) 
-> bigint
                           className: VectorGroupByOperator
-                          vectorOutput: false
+                          groupByMode: HASH
+                          vectorOutput: true
                           keyExpressions: col 3
                           native: false
+                          vectorProcessingMode: HASH
                           projectedOutputColumns: [0, 1, 2, 3, 4, 5, 6, 7, 8, 
9, 10, 11, 12, 13, 14]
-                          vectorOutputConditionsNotMet: Vector output of 
VectorUDAFAvgDecimal(col 1) -> struct<count:bigint,sum:decimal(30,10)> output 
type STRUCT requires PRIMITIVE IS false, Vector output of 
VectorUDAFStdPopDecimal(col 1) -> 
struct<count:bigint,sum:double,variance:double> output type STRUCT requires 
PRIMITIVE IS false, Vector output of VectorUDAFStdSampDecimal(col 1) -> 
struct<count:bigint,sum:double,variance:double> output type STRUCT requires 
PRIMITIVE IS false, Vector output of VectorUDAFAvgDecimal(col 2) -> 
struct<count:bigint,sum:decimal(33,14)> output type STRUCT requires PRIMITIVE 
IS false, Vector output of VectorUDAFStdPopDecimal(col 2) -> 
struct<count:bigint,sum:double,variance:double> output type STRUCT requires 
PRIMITIVE IS false, Vector output of VectorUDAFStdSampDecimal(col 2) -> 
struct<count:bigint,sum:double,variance:double> output type STRUCT requires 
PRIMITIVE IS false
                       keys: cint (type: int)
                       mode: hash
                       outputColumnNames: _col0, _col1, _col2, _col3, _col4, 
_col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, 
_col15
@@ -244,6 +249,10 @@ STAGE PLANS:
                         key expressions: _col0 (type: int)
                         sort order: +
                         Map-reduce partition columns: _col0 (type: int)
+                        Reduce Sink Vectorization:
+                            className: VectorReduceSinkLongOperator
+                            native: true
+                            nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez 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
                         Statistics: Num rows: 12288 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: struct<count:bigint,sum:decimal(30,10),input:decimal(20,10)>), 
_col6 (type: struct<count:bigint,sum:double,variance:double>), _col7 (type: 
struct<count:bigint,sum:double,variance:double>), _col8 (type: bigint), _col9 
(type: decimal(23,14)), _col10 (type: decimal(23,14)), _col11 (type: 
decimal(33,14)), _col12 (type: 
struct<count:bigint,sum:decimal(33,14),input:decimal(23,14)>), _col13 (type: 
struct<count:bigint,sum:double,variance:double>), _col14 (type: 
struct<count:bigint,sum:double,variance:double>), _col15 (type: bigint)
             Execution mode: vectorized, llap
@@ -251,34 +260,56 @@ STAGE PLANS:
             Map Vectorization:
                 enabled: true
                 enabledConditionsMet: 
hive.vectorized.use.vectorized.input.format IS true
-                groupByVectorOutput: false
+                groupByVectorOutput: true
                 inputFileFormats: 
org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                 allNative: false
                 usesVectorUDFAdaptor: false
                 vectorized: true
         Reducer 2 
-            Execution mode: llap
+            Execution mode: vectorized, llap
             Reduce Vectorization:
                 enabled: true
                 enableConditionsMet: hive.vectorized.execution.reduce.enabled 
IS true, hive.execution.engine tez IN [tez, spark] IS true
-                notVectorizedReason: Aggregation Function UDF avg parameter 
expression for GROUPBY operator: Data type 
struct<count:bigint,sum:decimal(30,10),input:decimal(20,10)> of 
Column[VALUE._col4] not supported
-                vectorized: false
+                groupByVectorOutput: true
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
             Reduce Operator Tree:
               Group By Operator
                 aggregations: count(VALUE._col0), max(VALUE._col1), 
min(VALUE._col2), sum(VALUE._col3), avg(VALUE._col4), stddev_pop(VALUE._col5), 
stddev_samp(VALUE._col6), count(VALUE._col7), max(VALUE._col8), 
min(VALUE._col9), sum(VALUE._col10), avg(VALUE._col11), 
stddev_pop(VALUE._col12), stddev_samp(VALUE._col13), count(VALUE._col14)
+                Group By Vectorization:
+                    aggregators: VectorUDAFCountMerge(col 1) -> bigint, 
VectorUDAFMaxDecimal(col 2) -> decimal(20,10), VectorUDAFMinDecimal(col 3) -> 
decimal(20,10), VectorUDAFSumDecimal(col 4) -> decimal(38,18), 
VectorUDAFAvgDecimalFinal(col 5) -> decimal(34,14), VectorUDAFStdPopFinal(col 
6) -> double, VectorUDAFStdSampFinal(col 7) -> double, VectorUDAFCountMerge(col 
8) -> bigint, VectorUDAFMaxDecimal(col 9) -> decimal(23,14), 
VectorUDAFMinDecimal(col 10) -> decimal(23,14), VectorUDAFSumDecimal(col 11) -> 
decimal(38,18), VectorUDAFAvgDecimalFinal(col 12) -> decimal(37,18), 
VectorUDAFStdPopFinal(col 13) -> double, VectorUDAFStdSampFinal(col 14) -> 
double, VectorUDAFCountMerge(col 15) -> bigint
+                    className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
+                    vectorOutput: true
+                    keyExpressions: col 0
+                    native: false
+                    vectorProcessingMode: MERGE_PARTIAL
+                    projectedOutputColumns: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 
11, 12, 13, 14]
                 keys: KEY._col0 (type: int)
                 mode: mergepartial
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15
                 Statistics: Num rows: 6144 Data size: 1082530 Basic stats: 
COMPLETE Column stats: NONE
                 Filter Operator
+                  Filter Vectorization:
+                      className: VectorFilterOperator
+                      native: true
+                      predicateExpression: FilterLongColGreaterLongScalar(col 
15, val 1) -> boolean
                   predicate: (_col15 > 1) (type: boolean)
                   Statistics: Num rows: 2048 Data size: 360843 Basic stats: 
COMPLETE Column stats: NONE
                   Select Operator
                     expressions: _col0 (type: int), _col1 (type: bigint), 
_col2 (type: decimal(20,10)), _col3 (type: decimal(20,10)), _col4 (type: 
decimal(30,10)), _col5 (type: decimal(24,14)), _col6 (type: double), _col7 
(type: double), _col8 (type: bigint), _col9 (type: decimal(23,14)), _col10 
(type: decimal(23,14)), _col11 (type: decimal(33,14)), _col12 (type: 
decimal(27,18)), _col13 (type: double), _col14 (type: double)
                     outputColumnNames: _col0, _col1, _col2, _col3, _col4, 
_col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14
+                    Select Vectorization:
+                        className: VectorSelectOperator
+                        native: true
+                        projectedOutputColumns: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
10, 11, 12, 13, 14]
                     Statistics: Num rows: 2048 Data size: 360843 Basic stats: 
COMPLETE Column stats: NONE
                     File Output Operator
                       compressed: false
+                      File Sink Vectorization:
+                          className: VectorFileSinkOperator
+                          native: false
                       Statistics: Num rows: 2048 Data size: 360843 Basic 
stats: COMPLETE Column stats: NONE
                       table:
                           input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat

http://git-wip-us.apache.org/repos/asf/hive/blob/92fbe256/ql/src/test/results/clientpositive/llap/vector_decimal_precision.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/llap/vector_decimal_precision.q.out 
b/ql/src/test/results/clientpositive/llap/vector_decimal_precision.q.out
index 5d62086..3f32eb2 100644
--- a/ql/src/test/results/clientpositive/llap/vector_decimal_precision.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_decimal_precision.q.out
@@ -584,17 +584,22 @@ STAGE PLANS:
                     Group By Operator
                       aggregations: avg(dec), sum(dec)
                       Group By Vectorization:
-                          aggregators: VectorUDAFAvgDecimal(col 0) -> 
struct<count:bigint,sum:decimal(30,10)>, VectorUDAFSumDecimal(col 0) -> 
decimal(38,18)
+                          aggregators: VectorUDAFAvgDecimal(col 0) -> 
struct<count:bigint,sum:decimal(30,10),input:decimal(30,10)>, 
VectorUDAFSumDecimal(col 0) -> decimal(38,18)
                           className: VectorGroupByOperator
-                          vectorOutput: false
+                          groupByMode: HASH
+                          vectorOutput: true
                           native: false
+                          vectorProcessingMode: HASH
                           projectedOutputColumns: [0, 1]
-                          vectorOutputConditionsNotMet: Vector output of 
VectorUDAFAvgDecimal(col 0) -> struct<count:bigint,sum:decimal(30,10)> output 
type STRUCT requires PRIMITIVE IS false
                       mode: hash
                       outputColumnNames: _col0, _col1
                       Statistics: Num rows: 1 Data size: 400 Basic stats: 
COMPLETE Column stats: NONE
                       Reduce Output Operator
                         sort order: 
+                        Reduce Sink Vectorization:
+                            className: VectorReduceSinkEmptyKeyOperator
+                            native: true
+                            nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez 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
                         Statistics: Num rows: 1 Data size: 400 Basic stats: 
COMPLETE Column stats: NONE
                         value expressions: _col0 (type: 
struct<count:bigint,sum:decimal(30,10),input:decimal(20,10)>), _col1 (type: 
decimal(30,10))
             Execution mode: vectorized, llap
@@ -602,26 +607,39 @@ STAGE PLANS:
             Map Vectorization:
                 enabled: true
                 enabledConditionsMet: 
hive.vectorized.use.vectorized.input.format IS true
-                groupByVectorOutput: false
+                groupByVectorOutput: true
                 inputFileFormats: 
org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
                 allNative: false
                 usesVectorUDFAdaptor: false
                 vectorized: true
         Reducer 2 
-            Execution mode: llap
+            Execution mode: vectorized, llap
             Reduce Vectorization:
                 enabled: true
                 enableConditionsMet: hive.vectorized.execution.reduce.enabled 
IS true, hive.execution.engine tez IN [tez, spark] IS true
-                notVectorizedReason: Aggregation Function UDF avg parameter 
expression for GROUPBY operator: Data type 
struct<count:bigint,sum:decimal(30,10),input:decimal(20,10)> of 
Column[VALUE._col0] not supported
-                vectorized: false
+                groupByVectorOutput: true
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
             Reduce Operator Tree:
               Group By Operator
                 aggregations: avg(VALUE._col0), sum(VALUE._col1)
+                Group By Vectorization:
+                    aggregators: VectorUDAFAvgDecimalFinal(col 0) -> 
decimal(34,14), VectorUDAFSumDecimal(col 1) -> decimal(38,18)
+                    className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
+                    vectorOutput: true
+                    native: false
+                    vectorProcessingMode: GLOBAL
+                    projectedOutputColumns: [0, 1]
                 mode: mergepartial
                 outputColumnNames: _col0, _col1
                 Statistics: Num rows: 1 Data size: 400 Basic stats: COMPLETE 
Column stats: NONE
                 File Output Operator
                   compressed: false
+                  File Sink Vectorization:
+                      className: VectorFileSinkOperator
+                      native: false
                   Statistics: Num rows: 1 Data size: 400 Basic stats: COMPLETE 
Column stats: NONE
                   table:
                       input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat

http://git-wip-us.apache.org/repos/asf/hive/blob/92fbe256/ql/src/test/results/clientpositive/llap/vector_decimal_udf.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_decimal_udf.q.out 
b/ql/src/test/results/clientpositive/llap/vector_decimal_udf.q.out
index c271b82..56127a5 100644
--- a/ql/src/test/results/clientpositive/llap/vector_decimal_udf.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_decimal_udf.q.out
@@ -1666,7 +1666,7 @@ STAGE PLANS:
             Execution mode: vectorized, llap
             LLAP IO: all inputs
         Reducer 2 
-            Execution mode: llap
+            Execution mode: vectorized, llap
             Reduce Operator Tree:
               Group By Operator
                 aggregations: sum(VALUE._col0), count(VALUE._col1), 
avg(VALUE._col2)
@@ -2338,7 +2338,7 @@ STAGE PLANS:
             Execution mode: vectorized, llap
             LLAP IO: all inputs
         Reducer 2 
-            Execution mode: llap
+            Execution mode: vectorized, llap
             Reduce Operator Tree:
               Group By Operator
                 aggregations: stddev(VALUE._col0), variance(VALUE._col1)
@@ -2425,7 +2425,7 @@ STAGE PLANS:
             Execution mode: vectorized, llap
             LLAP IO: all inputs
         Reducer 2 
-            Execution mode: llap
+            Execution mode: vectorized, llap
             Reduce Operator Tree:
               Group By Operator
                 aggregations: stddev_samp(VALUE._col0), var_samp(VALUE._col1)

http://git-wip-us.apache.org/repos/asf/hive/blob/92fbe256/ql/src/test/results/clientpositive/llap/vector_distinct_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_distinct_2.q.out 
b/ql/src/test/results/clientpositive/llap/vector_distinct_2.q.out
index f17583f..b7f6a80 100644
--- a/ql/src/test/results/clientpositive/llap/vector_distinct_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_distinct_2.q.out
@@ -142,9 +142,11 @@ STAGE PLANS:
                     Group By Operator
                       Group By Vectorization:
                           className: VectorGroupByOperator
+                          groupByMode: HASH
                           vectorOutput: true
                           keyExpressions: col 0, col 8
                           native: false
+                          vectorProcessingMode: HASH
                           projectedOutputColumns: []
                       keys: t (type: tinyint), s (type: string)
                       mode: hash
@@ -182,9 +184,11 @@ STAGE PLANS:
               Group By Operator
                 Group By Vectorization:
                     className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
                     vectorOutput: true
                     keyExpressions: col 0, col 1
                     native: false
+                    vectorProcessingMode: MERGE_PARTIAL
                     projectedOutputColumns: []
                 keys: KEY._col0 (type: tinyint), KEY._col1 (type: string)
                 mode: mergepartial

http://git-wip-us.apache.org/repos/asf/hive/blob/92fbe256/ql/src/test/results/clientpositive/llap/vector_empty_where.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_empty_where.q.out 
b/ql/src/test/results/clientpositive/llap/vector_empty_where.q.out
index f2bc0a5..b250332 100644
--- a/ql/src/test/results/clientpositive/llap/vector_empty_where.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_empty_where.q.out
@@ -47,9 +47,11 @@ STAGE PLANS:
                       Group By Operator
                         Group By Vectorization:
                             className: VectorGroupByOperator
+                            groupByMode: HASH
                             vectorOutput: true
                             keyExpressions: col 2
                             native: false
+                            vectorProcessingMode: HASH
                             projectedOutputColumns: []
                         keys: cint (type: int)
                         mode: hash
@@ -87,9 +89,11 @@ STAGE PLANS:
               Group By Operator
                 Group By Vectorization:
                     className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
                     vectorOutput: true
                     keyExpressions: col 0
                     native: false
+                    vectorProcessingMode: MERGE_PARTIAL
                     projectedOutputColumns: []
                 keys: KEY._col0 (type: int)
                 mode: mergepartial
@@ -100,8 +104,10 @@ STAGE PLANS:
                   Group By Vectorization:
                       aggregators: VectorUDAFCount(col 0) -> bigint
                       className: VectorGroupByOperator
+                      groupByMode: HASH
                       vectorOutput: true
                       native: false
+                      vectorProcessingMode: HASH
                       projectedOutputColumns: [0]
                   mode: hash
                   outputColumnNames: _col0
@@ -129,8 +135,10 @@ STAGE PLANS:
                 Group By Vectorization:
                     aggregators: VectorUDAFCountMerge(col 0) -> bigint
                     className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
                     vectorOutput: true
                     native: false
+                    vectorProcessingMode: GLOBAL
                     projectedOutputColumns: [0]
                 mode: mergepartial
                 outputColumnNames: _col0
@@ -202,9 +210,11 @@ STAGE PLANS:
                     Group By Operator
                       Group By Vectorization:
                           className: VectorGroupByOperator
+                          groupByMode: HASH
                           vectorOutput: true
                           keyExpressions: col 2
                           native: false
+                          vectorProcessingMode: HASH
                           projectedOutputColumns: []
                       keys: cint (type: int)
                       mode: hash
@@ -242,9 +252,11 @@ STAGE PLANS:
               Group By Operator
                 Group By Vectorization:
                     className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
                     vectorOutput: true
                     keyExpressions: col 0
                     native: false
+                    vectorProcessingMode: MERGE_PARTIAL
                     projectedOutputColumns: []
                 keys: KEY._col0 (type: int)
                 mode: mergepartial
@@ -255,8 +267,10 @@ STAGE PLANS:
                   Group By Vectorization:
                       aggregators: VectorUDAFCount(col 0) -> bigint
                       className: VectorGroupByOperator
+                      groupByMode: HASH
                       vectorOutput: true
                       native: false
+                      vectorProcessingMode: HASH
                       projectedOutputColumns: [0]
                   mode: hash
                   outputColumnNames: _col0
@@ -284,8 +298,10 @@ STAGE PLANS:
                 Group By Vectorization:
                     aggregators: VectorUDAFCountMerge(col 0) -> bigint
                     className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
                     vectorOutput: true
                     native: false
+                    vectorProcessingMode: GLOBAL
                     projectedOutputColumns: [0]
                 mode: mergepartial
                 outputColumnNames: _col0
@@ -365,9 +381,11 @@ STAGE PLANS:
                       Group By Operator
                         Group By Vectorization:
                             className: VectorGroupByOperator
+                            groupByMode: HASH
                             vectorOutput: true
                             keyExpressions: col 2
                             native: false
+                            vectorProcessingMode: HASH
                             projectedOutputColumns: []
                         keys: cint (type: int)
                         mode: hash
@@ -405,9 +423,11 @@ STAGE PLANS:
               Group By Operator
                 Group By Vectorization:
                     className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
                     vectorOutput: true
                     keyExpressions: col 0
                     native: false
+                    vectorProcessingMode: MERGE_PARTIAL
                     projectedOutputColumns: []
                 keys: KEY._col0 (type: int)
                 mode: mergepartial
@@ -418,8 +438,10 @@ STAGE PLANS:
                   Group By Vectorization:
                       aggregators: VectorUDAFCount(col 0) -> bigint
                       className: VectorGroupByOperator
+                      groupByMode: HASH
                       vectorOutput: true
                       native: false
+                      vectorProcessingMode: HASH
                       projectedOutputColumns: [0]
                   mode: hash
                   outputColumnNames: _col0
@@ -447,8 +469,10 @@ STAGE PLANS:
                 Group By Vectorization:
                     aggregators: VectorUDAFCountMerge(col 0) -> bigint
                     className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
                     vectorOutput: true
                     native: false
+                    vectorProcessingMode: GLOBAL
                     projectedOutputColumns: [0]
                 mode: mergepartial
                 outputColumnNames: _col0
@@ -528,9 +552,11 @@ STAGE PLANS:
                       Group By Operator
                         Group By Vectorization:
                             className: VectorGroupByOperator
+                            groupByMode: HASH
                             vectorOutput: true
                             keyExpressions: col 2
                             native: false
+                            vectorProcessingMode: HASH
                             projectedOutputColumns: []
                         keys: cint (type: int)
                         mode: hash
@@ -568,9 +594,11 @@ STAGE PLANS:
               Group By Operator
                 Group By Vectorization:
                     className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
                     vectorOutput: true
                     keyExpressions: col 0
                     native: false
+                    vectorProcessingMode: MERGE_PARTIAL
                     projectedOutputColumns: []
                 keys: KEY._col0 (type: int)
                 mode: mergepartial
@@ -581,8 +609,10 @@ STAGE PLANS:
                   Group By Vectorization:
                       aggregators: VectorUDAFCount(col 0) -> bigint
                       className: VectorGroupByOperator
+                      groupByMode: HASH
                       vectorOutput: true
                       native: false
+                      vectorProcessingMode: HASH
                       projectedOutputColumns: [0]
                   mode: hash
                   outputColumnNames: _col0
@@ -610,8 +640,10 @@ STAGE PLANS:
                 Group By Vectorization:
                     aggregators: VectorUDAFCountMerge(col 0) -> bigint
                     className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
                     vectorOutput: true
                     native: false
+                    vectorProcessingMode: GLOBAL
                     projectedOutputColumns: [0]
                 mode: mergepartial
                 outputColumnNames: _col0

http://git-wip-us.apache.org/repos/asf/hive/blob/92fbe256/ql/src/test/results/clientpositive/llap/vector_groupby4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_groupby4.q.out 
b/ql/src/test/results/clientpositive/llap/vector_groupby4.q.out
index ffeab2c..4399554 100644
--- a/ql/src/test/results/clientpositive/llap/vector_groupby4.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_groupby4.q.out
@@ -94,9 +94,11 @@ STAGE PLANS:
               Group By Operator
                 Group By Vectorization:
                     className: VectorGroupByOperator
+                    groupByMode: PARTIAL1
                     vectorOutput: true
                     keyExpressions: col 0
                     native: false
+                    vectorProcessingMode: STREAMING
                     projectedOutputColumns: []
                 keys: KEY._col0 (type: string)
                 mode: partial1
@@ -124,9 +126,11 @@ STAGE PLANS:
               Group By Operator
                 Group By Vectorization:
                     className: VectorGroupByOperator
+                    groupByMode: FINAL
                     vectorOutput: true
                     keyExpressions: col 0
                     native: false
+                    vectorProcessingMode: STREAMING
                     projectedOutputColumns: []
                 keys: KEY._col0 (type: string)
                 mode: final

http://git-wip-us.apache.org/repos/asf/hive/blob/92fbe256/ql/src/test/results/clientpositive/llap/vector_groupby6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_groupby6.q.out 
b/ql/src/test/results/clientpositive/llap/vector_groupby6.q.out
index 5bfa9b5..a91b715 100644
--- a/ql/src/test/results/clientpositive/llap/vector_groupby6.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_groupby6.q.out
@@ -94,9 +94,11 @@ STAGE PLANS:
               Group By Operator
                 Group By Vectorization:
                     className: VectorGroupByOperator
+                    groupByMode: PARTIAL1
                     vectorOutput: true
                     keyExpressions: col 0
                     native: false
+                    vectorProcessingMode: STREAMING
                     projectedOutputColumns: []
                 keys: KEY._col0 (type: string)
                 mode: partial1
@@ -124,9 +126,11 @@ STAGE PLANS:
               Group By Operator
                 Group By Vectorization:
                     className: VectorGroupByOperator
+                    groupByMode: FINAL
                     vectorOutput: true
                     keyExpressions: col 0
                     native: false
+                    vectorProcessingMode: STREAMING
                     projectedOutputColumns: []
                 keys: KEY._col0 (type: string)
                 mode: final

http://git-wip-us.apache.org/repos/asf/hive/blob/92fbe256/ql/src/test/results/clientpositive/llap/vector_groupby_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_groupby_3.q.out 
b/ql/src/test/results/clientpositive/llap/vector_groupby_3.q.out
index 0242cbd..cd9ff27 100644
--- a/ql/src/test/results/clientpositive/llap/vector_groupby_3.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_groupby_3.q.out
@@ -144,9 +144,11 @@ STAGE PLANS:
                       Group By Vectorization:
                           aggregators: VectorUDAFMaxLong(col 3) -> bigint
                           className: VectorGroupByOperator
+                          groupByMode: HASH
                           vectorOutput: true
                           keyExpressions: col 0, col 8
                           native: false
+                          vectorProcessingMode: HASH
                           projectedOutputColumns: [0]
                       keys: t (type: tinyint), s (type: string)
                       mode: hash
@@ -187,9 +189,11 @@ STAGE PLANS:
                 Group By Vectorization:
                     aggregators: VectorUDAFMaxLong(col 2) -> bigint
                     className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
                     vectorOutput: true
                     keyExpressions: col 0, col 1
                     native: false
+                    vectorProcessingMode: MERGE_PARTIAL
                     projectedOutputColumns: [0]
                 keys: KEY._col0 (type: tinyint), KEY._col1 (type: string)
                 mode: mergepartial

http://git-wip-us.apache.org/repos/asf/hive/blob/92fbe256/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_id3.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_id3.q.out 
b/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_id3.q.out
index a4ef2e7..22a71e4 100644
--- a/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_id3.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_id3.q.out
@@ -79,9 +79,11 @@ STAGE PLANS:
                       Group By Vectorization:
                           aggregators: VectorUDAFCountStar(*) -> bigint
                           className: VectorGroupByOperator
+                          groupByMode: HASH
                           vectorOutput: true
                           keyExpressions: col 0, col 1, 
ConstantVectorExpression(val 0) -> 2:long
                           native: false
+                          vectorProcessingMode: HASH
                           projectedOutputColumns: [0]
                       keys: key (type: int), value (type: int), 0 (type: int)
                       mode: hash
@@ -145,9 +147,11 @@ STAGE PLANS:
                 Group By Vectorization:
                     aggregators: VectorUDAFCountMerge(col 3) -> bigint
                     className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
                     vectorOutput: true
                     keyExpressions: col 0, col 1, ConstantVectorExpression(val 
1) -> 4:long
                     native: false
+                    vectorProcessingMode: MERGE_PARTIAL
                     projectedOutputColumns: [0]
                 keys: KEY._col0 (type: int), KEY._col1 (type: int), 1 (type: 
int)
                 mode: mergepartial
@@ -253,9 +257,11 @@ STAGE PLANS:
                       Group By Vectorization:
                           aggregators: VectorUDAFCountStar(*) -> bigint
                           className: VectorGroupByOperator
+                          groupByMode: HASH
                           vectorOutput: true
                           keyExpressions: col 0, col 1, 
ConstantVectorExpression(val 0) -> 2:long
                           native: false
+                          vectorProcessingMode: HASH
                           projectedOutputColumns: [0]
                       keys: _col0 (type: int), _col1 (type: int), 0 (type: int)
                       mode: hash
@@ -310,9 +316,11 @@ STAGE PLANS:
                 Group By Vectorization:
                     aggregators: VectorUDAFCountMerge(col 3) -> bigint
                     className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
                     vectorOutput: true
                     keyExpressions: col 0, col 1, col 2
                     native: false
+                    vectorProcessingMode: MERGE_PARTIAL
                     projectedOutputColumns: [0]
                 keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 
(type: int)
                 mode: mergepartial

http://git-wip-us.apache.org/repos/asf/hive/blob/92fbe256/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets3.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets3.q.out 
b/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets3.q.out
index b30aabd..9596415 100644
--- 
a/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets3.q.out
+++ 
b/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets3.q.out
@@ -79,7 +79,7 @@ STAGE PLANS:
             Execution mode: llap
             LLAP IO: all inputs
         Reducer 2 
-            Execution mode: llap
+            Execution mode: vectorized, llap
             Reduce Operator Tree:
               Group By Operator
                 aggregations: avg(VALUE._col0), count(VALUE._col1)
@@ -149,7 +149,7 @@ STAGE PLANS:
             Execution mode: llap
             LLAP IO: all inputs
         Reducer 2 
-            Execution mode: llap
+            Execution mode: vectorized, llap
             Reduce Operator Tree:
               Group By Operator
                 aggregations: avg(VALUE._col0), count(VALUE._col1)
@@ -245,7 +245,7 @@ STAGE PLANS:
             Execution mode: llap
             LLAP IO: all inputs
         Reducer 2 
-            Execution mode: llap
+            Execution mode: vectorized, llap
             Reduce Operator Tree:
               Group By Operator
                 aggregations: avg(VALUE._col0), count(VALUE._col1)
@@ -260,7 +260,7 @@ STAGE PLANS:
                   Statistics: Num rows: 48 Data size: 12240 Basic stats: 
COMPLETE Column stats: NONE
                   value expressions: _col3 (type: 
struct<count:bigint,sum:double,input:string>), _col4 (type: bigint)
         Reducer 3 
-            Execution mode: llap
+            Execution mode: vectorized, llap
             Reduce Operator Tree:
               Group By Operator
                 aggregations: avg(VALUE._col0), count(VALUE._col1)

http://git-wip-us.apache.org/repos/asf/hive/blob/92fbe256/ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out 
b/ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out
index bfa87bb..16b716c 100644
--- a/ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out
@@ -131,8 +131,10 @@ STAGE PLANS:
                       Group By Vectorization:
                           aggregators: VectorUDAFCountStar(*) -> bigint, 
VectorUDAFCount(col 0) -> bigint
                           className: VectorGroupByOperator
+                          groupByMode: HASH
                           vectorOutput: true
                           native: false
+                          vectorProcessingMode: HASH
                           projectedOutputColumns: [0, 1]
                       mode: hash
                       outputColumnNames: _col0, _col1
@@ -148,9 +150,11 @@ STAGE PLANS:
                   Group By Operator
                     Group By Vectorization:
                         className: VectorGroupByOperator
+                        groupByMode: HASH
                         vectorOutput: true
                         keyExpressions: col 0
                         native: false
+                        vectorProcessingMode: HASH
                         projectedOutputColumns: []
                     keys: key (type: string)
                     mode: hash
@@ -218,8 +222,10 @@ STAGE PLANS:
                 Group By Vectorization:
                     aggregators: VectorUDAFCountMerge(col 0) -> bigint, 
VectorUDAFCountMerge(col 1) -> bigint
                     className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
                     vectorOutput: true
                     native: false
+                    vectorProcessingMode: GLOBAL
                     projectedOutputColumns: [0, 1]
                 mode: mergepartial
                 outputColumnNames: _col0, _col1
@@ -245,9 +251,11 @@ STAGE PLANS:
               Group By Operator
                 Group By Vectorization:
                     className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
                     vectorOutput: true
                     keyExpressions: col 0
                     native: false
+                    vectorProcessingMode: MERGE_PARTIAL
                     projectedOutputColumns: []
                 keys: KEY._col0 (type: string)
                 mode: mergepartial

Reply via email to