You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by vi...@apache.org on 2017/11/29 18:01:25 UTC

[11/29] hive git commit: HIVE-17528 : Add more q-tests for Hive-on-Spark with Parquet vectorized reader (Ferdinand Xu, reviewed by Vihang Karajgaonkar)

http://git-wip-us.apache.org/repos/asf/hive/blob/9a59592e/ql/src/test/results/clientpositive/spark/parquet_vectorization_13.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/parquet_vectorization_13.q.out b/ql/src/test/results/clientpositive/spark/parquet_vectorization_13.q.out
new file mode 100644
index 0000000..292b644
--- /dev/null
+++ b/ql/src/test/results/clientpositive/spark/parquet_vectorization_13.q.out
@@ -0,0 +1,679 @@
+PREHOOK: query: EXPLAIN VECTORIZATION DETAIL
+SELECT   cboolean1,
+         ctinyint,
+         ctimestamp1,
+         cfloat,
+         cstring1,
+         (-(ctinyint)) as c1,
+         MAX(ctinyint) as c2,
+         ((-(ctinyint)) + MAX(ctinyint)) as c3,
+         SUM(cfloat) as c4,
+         (SUM(cfloat) * ((-(ctinyint)) + MAX(ctinyint))) as c5,
+         (-(SUM(cfloat))) as c6,
+         (79.553 * cfloat) as c7,
+         STDDEV_POP(cfloat) as c8,
+         (-(SUM(cfloat))) as c9,
+         STDDEV_POP(ctinyint) as c10,
+         (((-(ctinyint)) + MAX(ctinyint)) - 10.175) as c11,
+         (-((-(SUM(cfloat))))) as c12,
+         (-26.28 / (-((-(SUM(cfloat)))))) as c13,
+         MAX(cfloat) as c14,
+         ((SUM(cfloat) * ((-(ctinyint)) + MAX(ctinyint))) / ctinyint) as c15,
+         MIN(ctinyint) as c16
+FROM     alltypesparquet
+WHERE    (((cfloat < 3569)
+           AND ((10.175 >= cdouble)
+                AND (cboolean1 != 1)))
+          OR ((ctimestamp1 > 11)
+              AND ((ctimestamp2 != 12)
+                   AND (ctinyint < 9763215.5639))))
+GROUP BY cboolean1, ctinyint, ctimestamp1, cfloat, cstring1
+ORDER BY cboolean1, ctinyint, ctimestamp1, cfloat, cstring1, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16
+LIMIT 40
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN VECTORIZATION DETAIL
+SELECT   cboolean1,
+         ctinyint,
+         ctimestamp1,
+         cfloat,
+         cstring1,
+         (-(ctinyint)) as c1,
+         MAX(ctinyint) as c2,
+         ((-(ctinyint)) + MAX(ctinyint)) as c3,
+         SUM(cfloat) as c4,
+         (SUM(cfloat) * ((-(ctinyint)) + MAX(ctinyint))) as c5,
+         (-(SUM(cfloat))) as c6,
+         (79.553 * cfloat) as c7,
+         STDDEV_POP(cfloat) as c8,
+         (-(SUM(cfloat))) as c9,
+         STDDEV_POP(ctinyint) as c10,
+         (((-(ctinyint)) + MAX(ctinyint)) - 10.175) as c11,
+         (-((-(SUM(cfloat))))) as c12,
+         (-26.28 / (-((-(SUM(cfloat)))))) as c13,
+         MAX(cfloat) as c14,
+         ((SUM(cfloat) * ((-(ctinyint)) + MAX(ctinyint))) / ctinyint) as c15,
+         MIN(ctinyint) as c16
+FROM     alltypesparquet
+WHERE    (((cfloat < 3569)
+           AND ((10.175 >= cdouble)
+                AND (cboolean1 != 1)))
+          OR ((ctimestamp1 > 11)
+              AND ((ctimestamp2 != 12)
+                   AND (ctinyint < 9763215.5639))))
+GROUP BY cboolean1, ctinyint, ctimestamp1, cfloat, cstring1
+ORDER BY cboolean1, ctinyint, ctimestamp1, cfloat, cstring1, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16
+LIMIT 40
+POSTHOOK: type: QUERY
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Spark
+      Edges:
+        Reducer 2 <- Map 1 (GROUP, 2)
+        Reducer 3 <- Reducer 2 (SORT, 1)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: alltypesparquet
+                  Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
+                  TableScan Vectorization:
+                      native: true
+                      vectorizationSchemaColumns: [0:ctinyint:tinyint, 1:csmallint:smallint, 2:cint:int, 3:cbigint:bigint, 4:cfloat:float, 5:cdouble:double, 6:cstring1:string, 7:cstring2:string, 8:ctimestamp1:timestamp, 9:ctimestamp2:timestamp, 10:cboolean1:boolean, 11:cboolean2:boolean, 12:ROW__ID:struct<transactionid:bigint,bucketid:int,rowid:bigint>]
+                  Filter Operator
+                    Filter Vectorization:
+                        className: VectorFilterOperator
+                        native: true
+                        predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessDoubleScalar(col 4:float, val 3569.0), FilterDoubleScalarGreaterEqualDoubleColumn(val 10.175, col 5:double), FilterLongColNotEqualLongScalar(col 10:boolean, val 1)), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleScalar(col 13:double, val 11.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterDoubleColNotEqualDoubleScalar(col 13:double, val 12.0)(children: CastTimestampToDouble(col 9:timestamp) -> 13:double), FilterDecimalColLessDecimalScalar(col 14:decimal(11,4), val 9763215.5639)(children: CastLongToDecimal(col 0:tinyint) -> 14:decimal(11,4))))
+                    predicate: (((UDFToDouble(ctimestamp1) > 11.0) and (UDFToDouble(ctimestamp2) <> 12.0) and (CAST( ctinyint AS decimal(11,4)) < 9763215.5639)) or ((cfloat < 3569) and (10.175 >= cdouble) and (cboolean1 <> 1))) (type: boolean)
+                    Statistics: Num rows: 2730 Data size: 32760 Basic stats: COMPLETE Column stats: NONE
+                    Select Operator
+                      expressions: ctinyint (type: tinyint), cfloat (type: float), cstring1 (type: string), ctimestamp1 (type: timestamp), cboolean1 (type: boolean)
+                      outputColumnNames: ctinyint, cfloat, cstring1, ctimestamp1, cboolean1
+                      Select Vectorization:
+                          className: VectorSelectOperator
+                          native: true
+                          projectedOutputColumnNums: [0, 4, 6, 8, 10]
+                      Statistics: Num rows: 2730 Data size: 32760 Basic stats: COMPLETE Column stats: NONE
+                      Group By Operator
+                        aggregations: max(ctinyint), sum(cfloat), stddev_pop(cfloat), stddev_pop(ctinyint), max(cfloat), min(ctinyint)
+                        Group By Vectorization:
+                            aggregators: VectorUDAFMaxLong(col 0:tinyint) -> tinyint, VectorUDAFSumDouble(col 4:float) -> double, VectorUDAFVarDouble(col 4:float) -> struct<count:bigint,sum:double,variance:double> aggregation: stddev_pop, VectorUDAFVarLong(col 0:tinyint) -> struct<count:bigint,sum:double,variance:double> aggregation: stddev_pop, VectorUDAFMaxDouble(col 4:float) -> float, VectorUDAFMinLong(col 0:tinyint) -> tinyint
+                            className: VectorGroupByOperator
+                            groupByMode: HASH
+                            keyExpressions: col 10:boolean, col 0:tinyint, col 8:timestamp, col 4:float, col 6:string
+                            native: false
+                            vectorProcessingMode: HASH
+                            projectedOutputColumnNums: [0, 1, 2, 3, 4, 5]
+                        keys: cboolean1 (type: boolean), ctinyint (type: tinyint), ctimestamp1 (type: timestamp), cfloat (type: float), cstring1 (type: string)
+                        mode: hash
+                        outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
+                        Statistics: Num rows: 2730 Data size: 32760 Basic stats: COMPLETE Column stats: NONE
+                        Reduce Output Operator
+                          key expressions: _col0 (type: boolean), _col1 (type: tinyint), _col2 (type: timestamp), _col3 (type: float), _col4 (type: string)
+                          sort order: +++++
+                          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]
+                              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]
+                          Statistics: Num rows: 2730 Data size: 32760 Basic stats: COMPLETE Column stats: NONE
+                          value expressions: _col5 (type: tinyint), _col6 (type: double), _col7 (type: struct<count:bigint,sum:double,variance:double>), _col8 (type: struct<count:bigint,sum:double,variance:double>), _col9 (type: float), _col10 (type: tinyint)
+            Execution mode: vectorized
+            Map Vectorization:
+                enabled: true
+                enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true
+                inputFormatFeatureSupport: []
+                featureSupportInUse: []
+                inputFileFormats: org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 12
+                    includeColumns: [0, 4, 5, 6, 8, 9, 10]
+                    dataColumns: ctinyint:tinyint, csmallint:smallint, cint:int, cbigint:bigint, cfloat:float, cdouble:double, cstring1:string, cstring2:string, ctimestamp1:timestamp, ctimestamp2:timestamp, cboolean1:boolean, cboolean2:boolean
+                    partitionColumnCount: 0
+                    scratchColumnTypeNames: [double, decimal(11,4)]
+        Reducer 2 
+            Execution mode: vectorized
+            Reduce Vectorization:
+                enabled: true
+                enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true
+                reduceColumnNullOrder: aaaaa
+                reduceColumnSortOrder: +++++
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 11
+                    dataColumns: KEY._col0:boolean, KEY._col1:tinyint, KEY._col2:timestamp, KEY._col3:float, KEY._col4:string, VALUE._col0:tinyint, VALUE._col1:double, VALUE._col2:struct<count:bigint,sum:double,variance:double>, VALUE._col3:struct<count:bigint,sum:double,variance:double>, VALUE._col4:float, VALUE._col5:tinyint
+                    partitionColumnCount: 0
+                    scratchColumnTypeNames: []
+            Reduce Operator Tree:
+              Group By Operator
+                aggregations: max(VALUE._col0), sum(VALUE._col1), stddev_pop(VALUE._col2), stddev_pop(VALUE._col3), max(VALUE._col4), min(VALUE._col5)
+                Group By Vectorization:
+                    aggregators: VectorUDAFMaxLong(col 5:tinyint) -> tinyint, VectorUDAFSumDouble(col 6:double) -> double, VectorUDAFVarFinal(col 7:struct<count:bigint,sum:double,variance:double>) -> double aggregation: stddev_pop, VectorUDAFVarFinal(col 8:struct<count:bigint,sum:double,variance:double>) -> double aggregation: stddev_pop, VectorUDAFMaxDouble(col 9:float) -> float, VectorUDAFMinLong(col 10:tinyint) -> tinyint
+                    className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
+                    keyExpressions: col 0:boolean, col 1:tinyint, col 2:timestamp, col 3:float, col 4:string
+                    native: false
+                    vectorProcessingMode: MERGE_PARTIAL
+                    projectedOutputColumnNums: [0, 1, 2, 3, 4, 5]
+                keys: KEY._col0 (type: boolean), KEY._col1 (type: tinyint), KEY._col2 (type: timestamp), KEY._col3 (type: float), KEY._col4 (type: string)
+                mode: mergepartial
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
+                Statistics: Num rows: 1365 Data size: 16380 Basic stats: COMPLETE Column stats: NONE
+                Select Operator
+                  expressions: _col0 (type: boolean), _col1 (type: tinyint), _col2 (type: timestamp), _col3 (type: float), _col4 (type: string), (- _col1) (type: tinyint), _col5 (type: tinyint), ((- _col1) + _col5) (type: tinyint), _col6 (type: double), (_col6 * UDFToDouble(((- _col1) + _col5))) (type: double), (- _col6) (type: double), (79.553 * _col3) (type: float), _col7 (type: double), (- _col6) (type: double), _col8 (type: double), (CAST( ((- _col1) + _col5) AS decimal(3,0)) - 10.175) (type: decimal(7,3)), (- (- _col6)) (type: double), (-26.28 / (- (- _col6))) (type: double), _col9 (type: float), ((_col6 * UDFToDouble(((- _col1) + _col5))) / UDFToDouble(_col1)) (type: double), _col10 (type: tinyint)
+                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20
+                  Select Vectorization:
+                      className: VectorSelectOperator
+                      native: true
+                      projectedOutputColumnNums: [0, 1, 2, 3, 4, 11, 5, 13, 6, 16, 15, 17, 7, 18, 8, 20, 22, 21, 9, 25, 10]
+                      selectExpressions: LongColUnaryMinus(col 1:tinyint) -> 11:tinyint, LongColAddLongColumn(col 12:tinyint, col 5:tinyint)(children: LongColUnaryMinus(col 1:tinyint) -> 12:tinyint) -> 13:tinyint, DoubleColMultiplyDoubleColumn(col 6:double, col 15:double)(children: CastLongToDouble(col 14:tinyint)(children: LongColAddLongColumn(col 12:tinyint, col 5:tinyint)(children: LongColUnaryMinus(col 1:tinyint) -> 12:tinyint) -> 14:tinyint) -> 15:double) -> 16:double, DoubleColUnaryMinus(col 6:double) -> 15:double, DoubleScalarMultiplyDoubleColumn(val 79.5530014038086, col 3:float) -> 17:float, DoubleColUnaryMinus(col 6:double) -> 18:double, DecimalColSubtractDecimalScalar(col 19:decimal(3,0), val 10.175)(children: CastLongToDecimal(col 14:tinyint)(children: LongColAddLongColumn(col 12:tinyint, col 5:tinyint)(children: LongColUnaryMinus(col 1:tinyint) -> 12:tinyint) -> 14:tinyint) -> 19:decimal(3,0)) -> 20:decimal(7,3), DoubleColUnaryMinus(col 21:double)(children: DoubleColUna
 ryMinus(col 6:double) -> 21:double) -> 22:double, DoubleScalarDivideDoubleColumn(val -26.28, col 23:double)(children: DoubleColUnaryMinus(col 21:double)(children: DoubleColUnaryMinus(col 6:double) -> 21:double) -> 23:double) -> 21:double, DoubleColDivideDoubleColumn(col 24:double, col 23:double)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 23:double)(children: CastLongToDouble(col 14:tinyint)(children: LongColAddLongColumn(col 12:tinyint, col 5:tinyint)(children: LongColUnaryMinus(col 1:tinyint) -> 12:tinyint) -> 14:tinyint) -> 23:double) -> 24:double, CastLongToDouble(col 1:tinyint) -> 23:double) -> 25:double
+                  Statistics: Num rows: 1365 Data size: 16380 Basic stats: COMPLETE Column stats: NONE
+                  Reduce Output Operator
+                    key expressions: _col0 (type: boolean), _col1 (type: tinyint), _col2 (type: timestamp), _col3 (type: float), _col4 (type: string), _col5 (type: tinyint), _col6 (type: tinyint), _col7 (type: tinyint), _col8 (type: double), _col9 (type: double), _col10 (type: double), _col11 (type: float), _col12 (type: double), _col13 (type: double), _col14 (type: double), _col15 (type: decimal(7,3)), _col16 (type: double), _col17 (type: double), _col18 (type: float), _col19 (type: double), _col20 (type: tinyint)
+                    sort order: +++++++++++++++++++++
+                    Reduce Sink Vectorization:
+                        className: VectorReduceSinkObjectHashOperator
+                        keyColumnNums: [0, 1, 2, 3, 4, 11, 5, 13, 6, 16, 15, 17, 7, 18, 8, 20, 22, 21, 9, 25, 10]
+                        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: 16380 Basic stats: COMPLETE Column stats: NONE
+                    TopN Hash Memory Usage: 0.1
+        Reducer 3 
+            Execution mode: vectorized
+            Reduce Vectorization:
+                enabled: true
+                enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true
+                reduceColumnNullOrder: aaaaaaaaaaaaaaaaaaaaa
+                reduceColumnSortOrder: +++++++++++++++++++++
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 21
+                    dataColumns: KEY.reducesinkkey0:boolean, KEY.reducesinkkey1:tinyint, KEY.reducesinkkey2:timestamp, KEY.reducesinkkey3:float, KEY.reducesinkkey4:string, KEY.reducesinkkey5:tinyint, KEY.reducesinkkey6:tinyint, KEY.reducesinkkey7:tinyint, KEY.reducesinkkey8:double, KEY.reducesinkkey9:double, KEY.reducesinkkey10:double, KEY.reducesinkkey11:float, KEY.reducesinkkey12:double, KEY.reducesinkkey13:double, KEY.reducesinkkey14:double, KEY.reducesinkkey15:decimal(7,3), KEY.reducesinkkey16:double, KEY.reducesinkkey17:double, KEY.reducesinkkey18:float, KEY.reducesinkkey19:double, KEY.reducesinkkey20:tinyint
+                    partitionColumnCount: 0
+                    scratchColumnTypeNames: []
+            Reduce Operator Tree:
+              Select Operator
+                expressions: KEY.reducesinkkey0 (type: boolean), KEY.reducesinkkey1 (type: tinyint), KEY.reducesinkkey2 (type: timestamp), KEY.reducesinkkey3 (type: float), KEY.reducesinkkey4 (type: string), KEY.reducesinkkey5 (type: tinyint), KEY.reducesinkkey6 (type: tinyint), KEY.reducesinkkey7 (type: tinyint), KEY.reducesinkkey8 (type: double), KEY.reducesinkkey9 (type: double), KEY.reducesinkkey10 (type: double), KEY.reducesinkkey11 (type: float), KEY.reducesinkkey12 (type: double), KEY.reducesinkkey10 (type: double), KEY.reducesinkkey14 (type: double), KEY.reducesinkkey15 (type: decimal(7,3)), KEY.reducesinkkey16 (type: double), KEY.reducesinkkey17 (type: double), KEY.reducesinkkey18 (type: float), KEY.reducesinkkey19 (type: double), KEY.reducesinkkey20 (type: tinyint)
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20
+                Select Vectorization:
+                    className: VectorSelectOperator
+                    native: true
+                    projectedOutputColumnNums: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 10, 14, 15, 16, 17, 18, 19, 20]
+                Statistics: Num rows: 1365 Data size: 16380 Basic stats: COMPLETE Column stats: NONE
+                Limit
+                  Number of rows: 40
+                  Limit Vectorization:
+                      className: VectorLimitOperator
+                      native: true
+                  Statistics: Num rows: 40 Data size: 480 Basic stats: COMPLETE Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    File Sink Vectorization:
+                        className: VectorFileSinkOperator
+                        native: false
+                    Statistics: Num rows: 40 Data size: 480 Basic stats: COMPLETE Column stats: NONE
+                    table:
+                        input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+                        output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                        serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: 40
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: SELECT   cboolean1,
+         ctinyint,
+         ctimestamp1,
+         cfloat,
+         cstring1,
+         (-(ctinyint)) as c1,
+         MAX(ctinyint) as c2,
+         ((-(ctinyint)) + MAX(ctinyint)) as c3,
+         SUM(cfloat) as c4,
+         (SUM(cfloat) * ((-(ctinyint)) + MAX(ctinyint))) as c5,
+         (-(SUM(cfloat))) as c6,
+         (79.553 * cfloat) as c7,
+         STDDEV_POP(cfloat) as c8,
+         (-(SUM(cfloat))) as c9,
+         STDDEV_POP(ctinyint) as c10,
+         (((-(ctinyint)) + MAX(ctinyint)) - 10.175) as c11,
+         (-((-(SUM(cfloat))))) as c12,
+         (-26.28 / (-((-(SUM(cfloat)))))) as c13,
+         MAX(cfloat) as c14,
+         ((SUM(cfloat) * ((-(ctinyint)) + MAX(ctinyint))) / ctinyint) as c15,
+         MIN(ctinyint) as c16
+FROM     alltypesparquet
+WHERE    (((cfloat < 3569)
+           AND ((10.175 >= cdouble)
+                AND (cboolean1 != 1)))
+          OR ((ctimestamp1 > 11)
+              AND ((ctimestamp2 != 12)
+                   AND (ctinyint < 9763215.5639))))
+GROUP BY cboolean1, ctinyint, ctimestamp1, cfloat, cstring1
+ORDER BY cboolean1, ctinyint, ctimestamp1, cfloat, cstring1, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16
+LIMIT 40
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesparquet
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT   cboolean1,
+         ctinyint,
+         ctimestamp1,
+         cfloat,
+         cstring1,
+         (-(ctinyint)) as c1,
+         MAX(ctinyint) as c2,
+         ((-(ctinyint)) + MAX(ctinyint)) as c3,
+         SUM(cfloat) as c4,
+         (SUM(cfloat) * ((-(ctinyint)) + MAX(ctinyint))) as c5,
+         (-(SUM(cfloat))) as c6,
+         (79.553 * cfloat) as c7,
+         STDDEV_POP(cfloat) as c8,
+         (-(SUM(cfloat))) as c9,
+         STDDEV_POP(ctinyint) as c10,
+         (((-(ctinyint)) + MAX(ctinyint)) - 10.175) as c11,
+         (-((-(SUM(cfloat))))) as c12,
+         (-26.28 / (-((-(SUM(cfloat)))))) as c13,
+         MAX(cfloat) as c14,
+         ((SUM(cfloat) * ((-(ctinyint)) + MAX(ctinyint))) / ctinyint) as c15,
+         MIN(ctinyint) as c16
+FROM     alltypesparquet
+WHERE    (((cfloat < 3569)
+           AND ((10.175 >= cdouble)
+                AND (cboolean1 != 1)))
+          OR ((ctimestamp1 > 11)
+              AND ((ctimestamp2 != 12)
+                   AND (ctinyint < 9763215.5639))))
+GROUP BY cboolean1, ctinyint, ctimestamp1, cfloat, cstring1
+ORDER BY cboolean1, ctinyint, ctimestamp1, cfloat, cstring1, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16
+LIMIT 40
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesparquet
+#### A masked pattern was here ####
+NULL	-55	1969-12-31 16:00:11.38	-55.0	NULL	55	-55	0	-55.0	-0.0	55.0	-4375.415	0.0	55.0	0.0	-10.175	-55.0	0.47781818181818186	-55.0	0.0	-55
+NULL	-55	1969-12-31 16:00:11.751	-55.0	NULL	55	-55	0	-55.0	-0.0	55.0	-4375.415	0.0	55.0	0.0	-10.175	-55.0	0.47781818181818186	-55.0	0.0	-55
+NULL	-56	1969-12-31 16:00:13.602	-56.0	NULL	56	-56	0	-56.0	-0.0	56.0	-4454.9683	0.0	56.0	0.0	-10.175	-56.0	0.4692857142857143	-56.0	0.0	-56
+NULL	-56	1969-12-31 16:00:13.958	-56.0	NULL	56	-56	0	-56.0	-0.0	56.0	-4454.9683	0.0	56.0	0.0	-10.175	-56.0	0.4692857142857143	-56.0	0.0	-56
+NULL	-56	1969-12-31 16:00:15.038	-56.0	NULL	56	-56	0	-56.0	-0.0	56.0	-4454.9683	0.0	56.0	0.0	-10.175	-56.0	0.4692857142857143	-56.0	0.0	-56
+NULL	-57	1969-12-31 16:00:11.451	-57.0	NULL	57	-57	0	-57.0	-0.0	57.0	-4534.521	0.0	57.0	0.0	-10.175	-57.0	0.4610526315789474	-57.0	0.0	-57
+NULL	-57	1969-12-31 16:00:11.883	-57.0	NULL	57	-57	0	-57.0	-0.0	57.0	-4534.521	0.0	57.0	0.0	-10.175	-57.0	0.4610526315789474	-57.0	0.0	-57
+NULL	-57	1969-12-31 16:00:12.626	-57.0	NULL	57	-57	0	-57.0	-0.0	57.0	-4534.521	0.0	57.0	0.0	-10.175	-57.0	0.4610526315789474	-57.0	0.0	-57
+NULL	-57	1969-12-31 16:00:13.578	-57.0	NULL	57	-57	0	-57.0	-0.0	57.0	-4534.521	0.0	57.0	0.0	-10.175	-57.0	0.4610526315789474	-57.0	0.0	-57
+NULL	-57	1969-12-31 16:00:15.39	-57.0	NULL	57	-57	0	-57.0	-0.0	57.0	-4534.521	0.0	57.0	0.0	-10.175	-57.0	0.4610526315789474	-57.0	0.0	-57
+NULL	-58	1969-12-31 16:00:12.065	-58.0	NULL	58	-58	0	-58.0	-0.0	58.0	-4614.074	0.0	58.0	0.0	-10.175	-58.0	0.4531034482758621	-58.0	0.0	-58
+NULL	-58	1969-12-31 16:00:12.683	-58.0	NULL	58	-58	0	-58.0	-0.0	58.0	-4614.074	0.0	58.0	0.0	-10.175	-58.0	0.4531034482758621	-58.0	0.0	-58
+NULL	-58	1969-12-31 16:00:12.948	-58.0	NULL	58	-58	0	-58.0	-0.0	58.0	-4614.074	0.0	58.0	0.0	-10.175	-58.0	0.4531034482758621	-58.0	0.0	-58
+NULL	-58	1969-12-31 16:00:14.066	-58.0	NULL	58	-58	0	-58.0	-0.0	58.0	-4614.074	0.0	58.0	0.0	-10.175	-58.0	0.4531034482758621	-58.0	0.0	-58
+NULL	-58	1969-12-31 16:00:15.658	-58.0	NULL	58	-58	0	-58.0	-0.0	58.0	-4614.074	0.0	58.0	0.0	-10.175	-58.0	0.4531034482758621	-58.0	0.0	-58
+NULL	-59	1969-12-31 16:00:12.008	-59.0	NULL	59	-59	0	-59.0	-0.0	59.0	-4693.627	0.0	59.0	0.0	-10.175	-59.0	0.44542372881355935	-59.0	0.0	-59
+NULL	-59	1969-12-31 16:00:13.15	-59.0	NULL	59	-59	0	-59.0	-0.0	59.0	-4693.627	0.0	59.0	0.0	-10.175	-59.0	0.44542372881355935	-59.0	0.0	-59
+NULL	-59	1969-12-31 16:00:13.625	-59.0	NULL	59	-59	0	-59.0	-0.0	59.0	-4693.627	0.0	59.0	0.0	-10.175	-59.0	0.44542372881355935	-59.0	0.0	-59
+NULL	-59	1969-12-31 16:00:15.296	-59.0	NULL	59	-59	0	-59.0	-0.0	59.0	-4693.627	0.0	59.0	0.0	-10.175	-59.0	0.44542372881355935	-59.0	0.0	-59
+NULL	-59	1969-12-31 16:00:15.861	-59.0	NULL	59	-59	0	-59.0	-0.0	59.0	-4693.627	0.0	59.0	0.0	-10.175	-59.0	0.44542372881355935	-59.0	0.0	-59
+NULL	-60	1969-12-31 16:00:11.504	-60.0	NULL	60	-60	0	-60.0	-0.0	60.0	-4773.18	0.0	60.0	0.0	-10.175	-60.0	0.438	-60.0	0.0	-60
+NULL	-60	1969-12-31 16:00:11.641	-60.0	NULL	60	-60	0	-60.0	-0.0	60.0	-4773.18	0.0	60.0	0.0	-10.175	-60.0	0.438	-60.0	0.0	-60
+NULL	-60	1969-12-31 16:00:11.996	-60.0	NULL	60	-60	0	-60.0	-0.0	60.0	-4773.18	0.0	60.0	0.0	-10.175	-60.0	0.438	-60.0	0.0	-60
+NULL	-60	1969-12-31 16:00:12.779	-60.0	NULL	60	-60	0	-60.0	-0.0	60.0	-4773.18	0.0	60.0	0.0	-10.175	-60.0	0.438	-60.0	0.0	-60
+NULL	-61	1969-12-31 16:00:11.842	-61.0	NULL	61	-61	0	-61.0	-0.0	61.0	-4852.733	0.0	61.0	0.0	-10.175	-61.0	0.4308196721311476	-61.0	0.0	-61
+NULL	-61	1969-12-31 16:00:12.454	-61.0	NULL	61	-61	0	-61.0	-0.0	61.0	-4852.733	0.0	61.0	0.0	-10.175	-61.0	0.4308196721311476	-61.0	0.0	-61
+NULL	-61	1969-12-31 16:00:14.192	-61.0	NULL	61	-61	0	-61.0	-0.0	61.0	-4852.733	0.0	61.0	0.0	-10.175	-61.0	0.4308196721311476	-61.0	0.0	-61
+NULL	-61	1969-12-31 16:00:16.558	-61.0	NULL	61	-61	0	-61.0	-0.0	61.0	-4852.733	0.0	61.0	0.0	-10.175	-61.0	0.4308196721311476	-61.0	0.0	-61
+NULL	-62	1969-12-31 16:00:12.388	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:12.591	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:14.154	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:14.247	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:14.517	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:14.965	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-63	1969-12-31 16:00:11.946	-63.0	NULL	63	-63	0	-63.0	-0.0	63.0	-5011.839	0.0	63.0	0.0	-10.175	-63.0	0.41714285714285715	-63.0	0.0	-63
+NULL	-63	1969-12-31 16:00:12.188	-63.0	NULL	63	-63	0	-63.0	-0.0	63.0	-5011.839	0.0	63.0	0.0	-10.175	-63.0	0.41714285714285715	-63.0	0.0	-63
+NULL	-63	1969-12-31 16:00:15.436	-63.0	NULL	63	-63	0	-63.0	-0.0	63.0	-5011.839	0.0	63.0	0.0	-10.175	-63.0	0.41714285714285715	-63.0	0.0	-63
+NULL	-64	1969-12-31 16:00:11.912	-64.0	NULL	64	-64	0	-64.0	-0.0	64.0	-5091.392	0.0	64.0	0.0	-10.175	-64.0	0.410625	-64.0	0.0	-64
+NULL	-64	1969-12-31 16:00:12.339	-64.0	NULL	64	-64	0	-64.0	-0.0	64.0	-5091.392	0.0	64.0	0.0	-10.175	-64.0	0.410625	-64.0	0.0	-64
+NULL	-64	1969-12-31 16:00:13.274	-64.0	NULL	64	-64	0	-64.0	-0.0	64.0	-5091.392	0.0	64.0	0.0	-10.175	-64.0	0.410625	-64.0	0.0	-64
+PREHOOK: query: EXPLAIN VECTORIZATION EXPRESSION
+SELECT   cboolean1,
+         ctinyint,
+         ctimestamp1,
+         cfloat,
+         cstring1,
+         (-(ctinyint)) as c1,
+         MAX(ctinyint) as c2,
+         ((-(ctinyint)) + MAX(ctinyint)) as c3,
+         SUM(cfloat) as c4,
+         (SUM(cfloat) * ((-(ctinyint)) + MAX(ctinyint))) as c5,
+         (-(SUM(cfloat))) as c6,
+         (79.553 * cfloat) as c7,
+         STDDEV_POP(cfloat) as c8,
+         (-(SUM(cfloat))) as c9,
+         STDDEV_POP(ctinyint) as c10,
+         (((-(ctinyint)) + MAX(ctinyint)) - 10.175) as c11,
+         (-((-(SUM(cfloat))))) as c12,
+         (-26.28 / (-((-(SUM(cfloat)))))) as c13,
+         MAX(cfloat) as c14,
+         ((SUM(cfloat) * ((-(ctinyint)) + MAX(ctinyint))) / ctinyint) as c15,
+         MIN(ctinyint) as c16
+FROM     alltypesparquet
+WHERE    (((cfloat < 3569)
+           AND ((10.175 >= cdouble)
+                AND (cboolean1 != 1)))
+          OR ((ctimestamp1 > -1.388)
+              AND ((ctimestamp2 != -1.3359999999999999)
+                   AND (ctinyint < 9763215.5639))))
+GROUP BY cboolean1, ctinyint, ctimestamp1, cfloat, cstring1
+ORDER BY cboolean1, ctinyint, ctimestamp1, cfloat, cstring1, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16
+LIMIT 40
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN VECTORIZATION EXPRESSION
+SELECT   cboolean1,
+         ctinyint,
+         ctimestamp1,
+         cfloat,
+         cstring1,
+         (-(ctinyint)) as c1,
+         MAX(ctinyint) as c2,
+         ((-(ctinyint)) + MAX(ctinyint)) as c3,
+         SUM(cfloat) as c4,
+         (SUM(cfloat) * ((-(ctinyint)) + MAX(ctinyint))) as c5,
+         (-(SUM(cfloat))) as c6,
+         (79.553 * cfloat) as c7,
+         STDDEV_POP(cfloat) as c8,
+         (-(SUM(cfloat))) as c9,
+         STDDEV_POP(ctinyint) as c10,
+         (((-(ctinyint)) + MAX(ctinyint)) - 10.175) as c11,
+         (-((-(SUM(cfloat))))) as c12,
+         (-26.28 / (-((-(SUM(cfloat)))))) as c13,
+         MAX(cfloat) as c14,
+         ((SUM(cfloat) * ((-(ctinyint)) + MAX(ctinyint))) / ctinyint) as c15,
+         MIN(ctinyint) as c16
+FROM     alltypesparquet
+WHERE    (((cfloat < 3569)
+           AND ((10.175 >= cdouble)
+                AND (cboolean1 != 1)))
+          OR ((ctimestamp1 > -1.388)
+              AND ((ctimestamp2 != -1.3359999999999999)
+                   AND (ctinyint < 9763215.5639))))
+GROUP BY cboolean1, ctinyint, ctimestamp1, cfloat, cstring1
+ORDER BY cboolean1, ctinyint, ctimestamp1, cfloat, cstring1, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16
+LIMIT 40
+POSTHOOK: type: QUERY
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Spark
+      Edges:
+        Reducer 2 <- Map 1 (GROUP, 2)
+        Reducer 3 <- Reducer 2 (SORT, 1)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: alltypesparquet
+                  Statistics: Num rows: 12288 Data size: 147456 Basic stats: COMPLETE Column stats: NONE
+                  TableScan Vectorization:
+                      native: true
+                  Filter Operator
+                    Filter Vectorization:
+                        className: VectorFilterOperator
+                        native: true
+                        predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessDoubleScalar(col 4:float, val 3569.0), FilterDoubleScalarGreaterEqualDoubleColumn(val 10.175, col 5:double), FilterLongColNotEqualLongScalar(col 10:boolean, val 1)), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleScalar(col 13:double, val -1.388)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterDoubleColNotEqualDoubleScalar(col 13:double, val -1.3359999999999999)(children: CastTimestampToDouble(col 9:timestamp) -> 13:double), FilterDecimalColLessDecimalScalar(col 14:decimal(11,4), val 9763215.5639)(children: CastLongToDecimal(col 0:tinyint) -> 14:decimal(11,4))))
+                    predicate: (((UDFToDouble(ctimestamp1) > -1.388) and (UDFToDouble(ctimestamp2) <> -1.3359999999999999) and (CAST( ctinyint AS decimal(11,4)) < 9763215.5639)) or ((cfloat < 3569) and (10.175 >= cdouble) and (cboolean1 <> 1))) (type: boolean)
+                    Statistics: Num rows: 2730 Data size: 32760 Basic stats: COMPLETE Column stats: NONE
+                    Select Operator
+                      expressions: ctinyint (type: tinyint), cfloat (type: float), cstring1 (type: string), ctimestamp1 (type: timestamp), cboolean1 (type: boolean)
+                      outputColumnNames: ctinyint, cfloat, cstring1, ctimestamp1, cboolean1
+                      Select Vectorization:
+                          className: VectorSelectOperator
+                          native: true
+                          projectedOutputColumnNums: [0, 4, 6, 8, 10]
+                      Statistics: Num rows: 2730 Data size: 32760 Basic stats: COMPLETE Column stats: NONE
+                      Group By Operator
+                        aggregations: max(ctinyint), sum(cfloat), stddev_pop(cfloat), stddev_pop(ctinyint), max(cfloat), min(ctinyint)
+                        Group By Vectorization:
+                            aggregators: VectorUDAFMaxLong(col 0:tinyint) -> tinyint, VectorUDAFSumDouble(col 4:float) -> double, VectorUDAFVarDouble(col 4:float) -> struct<count:bigint,sum:double,variance:double> aggregation: stddev_pop, VectorUDAFVarLong(col 0:tinyint) -> struct<count:bigint,sum:double,variance:double> aggregation: stddev_pop, VectorUDAFMaxDouble(col 4:float) -> float, VectorUDAFMinLong(col 0:tinyint) -> tinyint
+                            className: VectorGroupByOperator
+                            groupByMode: HASH
+                            keyExpressions: col 10:boolean, col 0:tinyint, col 8:timestamp, col 4:float, col 6:string
+                            native: false
+                            vectorProcessingMode: HASH
+                            projectedOutputColumnNums: [0, 1, 2, 3, 4, 5]
+                        keys: cboolean1 (type: boolean), ctinyint (type: tinyint), ctimestamp1 (type: timestamp), cfloat (type: float), cstring1 (type: string)
+                        mode: hash
+                        outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
+                        Statistics: Num rows: 2730 Data size: 32760 Basic stats: COMPLETE Column stats: NONE
+                        Reduce Output Operator
+                          key expressions: _col0 (type: boolean), _col1 (type: tinyint), _col2 (type: timestamp), _col3 (type: float), _col4 (type: string)
+                          sort order: +++++
+                          Map-reduce partition columns: _col0 (type: boolean), _col1 (type: tinyint), _col2 (type: timestamp), _col3 (type: float), _col4 (type: string)
+                          Reduce Sink Vectorization:
+                              className: VectorReduceSinkMultiKeyOperator
+                              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
+                          Statistics: Num rows: 2730 Data size: 32760 Basic stats: COMPLETE Column stats: NONE
+                          value expressions: _col5 (type: tinyint), _col6 (type: double), _col7 (type: struct<count:bigint,sum:double,variance:double>), _col8 (type: struct<count:bigint,sum:double,variance:double>), _col9 (type: float), _col10 (type: tinyint)
+            Execution mode: vectorized
+            Map Vectorization:
+                enabled: true
+                enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true
+                inputFormatFeatureSupport: []
+                featureSupportInUse: []
+                inputFileFormats: org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
+        Reducer 2 
+            Execution mode: vectorized
+            Reduce Vectorization:
+                enabled: true
+                enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
+            Reduce Operator Tree:
+              Group By Operator
+                aggregations: max(VALUE._col0), sum(VALUE._col1), stddev_pop(VALUE._col2), stddev_pop(VALUE._col3), max(VALUE._col4), min(VALUE._col5)
+                Group By Vectorization:
+                    aggregators: VectorUDAFMaxLong(col 5:tinyint) -> tinyint, VectorUDAFSumDouble(col 6:double) -> double, VectorUDAFVarFinal(col 7:struct<count:bigint,sum:double,variance:double>) -> double aggregation: stddev_pop, VectorUDAFVarFinal(col 8:struct<count:bigint,sum:double,variance:double>) -> double aggregation: stddev_pop, VectorUDAFMaxDouble(col 9:float) -> float, VectorUDAFMinLong(col 10:tinyint) -> tinyint
+                    className: VectorGroupByOperator
+                    groupByMode: MERGEPARTIAL
+                    keyExpressions: col 0:boolean, col 1:tinyint, col 2:timestamp, col 3:float, col 4:string
+                    native: false
+                    vectorProcessingMode: MERGE_PARTIAL
+                    projectedOutputColumnNums: [0, 1, 2, 3, 4, 5]
+                keys: KEY._col0 (type: boolean), KEY._col1 (type: tinyint), KEY._col2 (type: timestamp), KEY._col3 (type: float), KEY._col4 (type: string)
+                mode: mergepartial
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
+                Statistics: Num rows: 1365 Data size: 16380 Basic stats: COMPLETE Column stats: NONE
+                Select Operator
+                  expressions: _col0 (type: boolean), _col1 (type: tinyint), _col2 (type: timestamp), _col3 (type: float), _col4 (type: string), (- _col1) (type: tinyint), _col5 (type: tinyint), ((- _col1) + _col5) (type: tinyint), _col6 (type: double), (_col6 * UDFToDouble(((- _col1) + _col5))) (type: double), (- _col6) (type: double), (79.553 * _col3) (type: float), _col7 (type: double), (- _col6) (type: double), _col8 (type: double), (CAST( ((- _col1) + _col5) AS decimal(3,0)) - 10.175) (type: decimal(7,3)), (- (- _col6)) (type: double), (-26.28 / (- (- _col6))) (type: double), _col9 (type: float), ((_col6 * UDFToDouble(((- _col1) + _col5))) / UDFToDouble(_col1)) (type: double), _col10 (type: tinyint)
+                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20
+                  Select Vectorization:
+                      className: VectorSelectOperator
+                      native: true
+                      projectedOutputColumnNums: [0, 1, 2, 3, 4, 11, 5, 13, 6, 16, 15, 17, 7, 18, 8, 20, 22, 21, 9, 25, 10]
+                      selectExpressions: LongColUnaryMinus(col 1:tinyint) -> 11:tinyint, LongColAddLongColumn(col 12:tinyint, col 5:tinyint)(children: LongColUnaryMinus(col 1:tinyint) -> 12:tinyint) -> 13:tinyint, DoubleColMultiplyDoubleColumn(col 6:double, col 15:double)(children: CastLongToDouble(col 14:tinyint)(children: LongColAddLongColumn(col 12:tinyint, col 5:tinyint)(children: LongColUnaryMinus(col 1:tinyint) -> 12:tinyint) -> 14:tinyint) -> 15:double) -> 16:double, DoubleColUnaryMinus(col 6:double) -> 15:double, DoubleScalarMultiplyDoubleColumn(val 79.5530014038086, col 3:float) -> 17:float, DoubleColUnaryMinus(col 6:double) -> 18:double, DecimalColSubtractDecimalScalar(col 19:decimal(3,0), val 10.175)(children: CastLongToDecimal(col 14:tinyint)(children: LongColAddLongColumn(col 12:tinyint, col 5:tinyint)(children: LongColUnaryMinus(col 1:tinyint) -> 12:tinyint) -> 14:tinyint) -> 19:decimal(3,0)) -> 20:decimal(7,3), DoubleColUnaryMinus(col 21:double)(children: DoubleColUna
 ryMinus(col 6:double) -> 21:double) -> 22:double, DoubleScalarDivideDoubleColumn(val -26.28, col 23:double)(children: DoubleColUnaryMinus(col 21:double)(children: DoubleColUnaryMinus(col 6:double) -> 21:double) -> 23:double) -> 21:double, DoubleColDivideDoubleColumn(col 24:double, col 23:double)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 23:double)(children: CastLongToDouble(col 14:tinyint)(children: LongColAddLongColumn(col 12:tinyint, col 5:tinyint)(children: LongColUnaryMinus(col 1:tinyint) -> 12:tinyint) -> 14:tinyint) -> 23:double) -> 24:double, CastLongToDouble(col 1:tinyint) -> 23:double) -> 25:double
+                  Statistics: Num rows: 1365 Data size: 16380 Basic stats: COMPLETE Column stats: NONE
+                  Reduce Output Operator
+                    key expressions: _col0 (type: boolean), _col1 (type: tinyint), _col2 (type: timestamp), _col3 (type: float), _col4 (type: string), _col5 (type: tinyint), _col6 (type: tinyint), _col7 (type: tinyint), _col8 (type: double), _col9 (type: double), _col10 (type: double), _col11 (type: float), _col12 (type: double), _col13 (type: double), _col14 (type: double), _col15 (type: decimal(7,3)), _col16 (type: double), _col17 (type: double), _col18 (type: float), _col19 (type: double), _col20 (type: tinyint)
+                    sort order: +++++++++++++++++++++
+                    Reduce Sink Vectorization:
+                        className: VectorReduceSinkObjectHashOperator
+                        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
+                    Statistics: Num rows: 1365 Data size: 16380 Basic stats: COMPLETE Column stats: NONE
+                    TopN Hash Memory Usage: 0.1
+        Reducer 3 
+            Execution mode: vectorized
+            Reduce Vectorization:
+                enabled: true
+                enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
+            Reduce Operator Tree:
+              Select Operator
+                expressions: KEY.reducesinkkey0 (type: boolean), KEY.reducesinkkey1 (type: tinyint), KEY.reducesinkkey2 (type: timestamp), KEY.reducesinkkey3 (type: float), KEY.reducesinkkey4 (type: string), KEY.reducesinkkey5 (type: tinyint), KEY.reducesinkkey6 (type: tinyint), KEY.reducesinkkey7 (type: tinyint), KEY.reducesinkkey8 (type: double), KEY.reducesinkkey9 (type: double), KEY.reducesinkkey10 (type: double), KEY.reducesinkkey11 (type: float), KEY.reducesinkkey12 (type: double), KEY.reducesinkkey10 (type: double), KEY.reducesinkkey14 (type: double), KEY.reducesinkkey15 (type: decimal(7,3)), KEY.reducesinkkey16 (type: double), KEY.reducesinkkey17 (type: double), KEY.reducesinkkey18 (type: float), KEY.reducesinkkey19 (type: double), KEY.reducesinkkey20 (type: tinyint)
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20
+                Select Vectorization:
+                    className: VectorSelectOperator
+                    native: true
+                    projectedOutputColumnNums: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 10, 14, 15, 16, 17, 18, 19, 20]
+                Statistics: Num rows: 1365 Data size: 16380 Basic stats: COMPLETE Column stats: NONE
+                Limit
+                  Number of rows: 40
+                  Limit Vectorization:
+                      className: VectorLimitOperator
+                      native: true
+                  Statistics: Num rows: 40 Data size: 480 Basic stats: COMPLETE Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    File Sink Vectorization:
+                        className: VectorFileSinkOperator
+                        native: false
+                    Statistics: Num rows: 40 Data size: 480 Basic stats: COMPLETE Column stats: NONE
+                    table:
+                        input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+                        output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                        serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: 40
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: SELECT   cboolean1,
+         ctinyint,
+         ctimestamp1,
+         cfloat,
+         cstring1,
+         (-(ctinyint)) as c1,
+         MAX(ctinyint) as c2,
+         ((-(ctinyint)) + MAX(ctinyint)) as c3,
+         SUM(cfloat) as c4,
+         (SUM(cfloat) * ((-(ctinyint)) + MAX(ctinyint))) as c5,
+         (-(SUM(cfloat))) as c6,
+         (79.553 * cfloat) as c7,
+         STDDEV_POP(cfloat) as c8,
+         (-(SUM(cfloat))) as c9,
+         STDDEV_POP(ctinyint) as c10,
+         (((-(ctinyint)) + MAX(ctinyint)) - 10.175) as c11,
+         (-((-(SUM(cfloat))))) as c12,
+         (-26.28 / (-((-(SUM(cfloat)))))) as c13,
+         MAX(cfloat) as c14,
+         ((SUM(cfloat) * ((-(ctinyint)) + MAX(ctinyint))) / ctinyint) as c15,
+         MIN(ctinyint) as c16
+FROM     alltypesparquet
+WHERE    (((cfloat < 3569)
+           AND ((10.175 >= cdouble)
+                AND (cboolean1 != 1)))
+          OR ((ctimestamp1 > -1.388)
+              AND ((ctimestamp2 != -1.3359999999999999)
+                   AND (ctinyint < 9763215.5639))))
+GROUP BY cboolean1, ctinyint, ctimestamp1, cfloat, cstring1
+ORDER BY cboolean1, ctinyint, ctimestamp1, cfloat, cstring1, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16
+LIMIT 40
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesparquet
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT   cboolean1,
+         ctinyint,
+         ctimestamp1,
+         cfloat,
+         cstring1,
+         (-(ctinyint)) as c1,
+         MAX(ctinyint) as c2,
+         ((-(ctinyint)) + MAX(ctinyint)) as c3,
+         SUM(cfloat) as c4,
+         (SUM(cfloat) * ((-(ctinyint)) + MAX(ctinyint))) as c5,
+         (-(SUM(cfloat))) as c6,
+         (79.553 * cfloat) as c7,
+         STDDEV_POP(cfloat) as c8,
+         (-(SUM(cfloat))) as c9,
+         STDDEV_POP(ctinyint) as c10,
+         (((-(ctinyint)) + MAX(ctinyint)) - 10.175) as c11,
+         (-((-(SUM(cfloat))))) as c12,
+         (-26.28 / (-((-(SUM(cfloat)))))) as c13,
+         MAX(cfloat) as c14,
+         ((SUM(cfloat) * ((-(ctinyint)) + MAX(ctinyint))) / ctinyint) as c15,
+         MIN(ctinyint) as c16
+FROM     alltypesparquet
+WHERE    (((cfloat < 3569)
+           AND ((10.175 >= cdouble)
+                AND (cboolean1 != 1)))
+          OR ((ctimestamp1 > -1.388)
+              AND ((ctimestamp2 != -1.3359999999999999)
+                   AND (ctinyint < 9763215.5639))))
+GROUP BY cboolean1, ctinyint, ctimestamp1, cfloat, cstring1
+ORDER BY cboolean1, ctinyint, ctimestamp1, cfloat, cstring1, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16
+LIMIT 40
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesparquet
+#### A masked pattern was here ####
+NULL	-61	1969-12-31 16:00:00.142	-61.0	NULL	61	-61	0	-61.0	-0.0	61.0	-4852.733	0.0	61.0	0.0	-10.175	-61.0	0.4308196721311476	-61.0	0.0	-61
+NULL	-61	1969-12-31 16:00:02.698	-61.0	NULL	61	-61	0	-61.0	-0.0	61.0	-4852.733	0.0	61.0	0.0	-10.175	-61.0	0.4308196721311476	-61.0	0.0	-61
+NULL	-61	1969-12-31 16:00:03.049	-61.0	NULL	61	-61	0	-61.0	-0.0	61.0	-4852.733	0.0	61.0	0.0	-10.175	-61.0	0.4308196721311476	-61.0	0.0	-61
+NULL	-61	1969-12-31 16:00:04.165	-61.0	NULL	61	-61	0	-61.0	-0.0	61.0	-4852.733	0.0	61.0	0.0	-10.175	-61.0	0.4308196721311476	-61.0	0.0	-61
+NULL	-61	1969-12-31 16:00:04.977	-61.0	NULL	61	-61	0	-61.0	-0.0	61.0	-4852.733	0.0	61.0	0.0	-10.175	-61.0	0.4308196721311476	-61.0	0.0	-61
+NULL	-62	1969-12-31 16:00:00.037	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:01.22	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:01.515	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:01.734	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:02.373	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:03.85	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:08.198	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:09.025	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:09.889	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:10.069	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:10.225	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:10.485	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:12.388	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:12.591	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:14.154	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:14.247	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:14.517	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-62	1969-12-31 16:00:14.965	-62.0	NULL	62	-62	0	-62.0	-0.0	62.0	-4932.286	0.0	62.0	0.0	-10.175	-62.0	0.4238709677419355	-62.0	0.0	-62
+NULL	-63	1969-12-31 16:00:01.843	-63.0	NULL	63	-63	0	-63.0	-0.0	63.0	-5011.839	0.0	63.0	0.0	-10.175	-63.0	0.41714285714285715	-63.0	0.0	-63
+NULL	-63	1969-12-31 16:00:03.552	-63.0	NULL	63	-63	0	-63.0	-0.0	63.0	-5011.839	0.0	63.0	0.0	-10.175	-63.0	0.41714285714285715	-63.0	0.0	-63
+NULL	-63	1969-12-31 16:00:06.852	-63.0	NULL	63	-63	0	-63.0	-0.0	63.0	-5011.839	0.0	63.0	0.0	-10.175	-63.0	0.41714285714285715	-63.0	0.0	-63
+NULL	-63	1969-12-31 16:00:07.375	-63.0	NULL	63	-63	0	-63.0	-0.0	63.0	-5011.839	0.0	63.0	0.0	-10.175	-63.0	0.41714285714285715	-63.0	0.0	-63
+NULL	-63	1969-12-31 16:00:10.205	-63.0	NULL	63	-63	0	-63.0	-0.0	63.0	-5011.839	0.0	63.0	0.0	-10.175	-63.0	0.41714285714285715	-63.0	0.0	-63
+NULL	-63	1969-12-31 16:00:11.946	-63.0	NULL	63	-63	0	-63.0	-0.0	63.0	-5011.839	0.0	63.0	0.0	-10.175	-63.0	0.41714285714285715	-63.0	0.0	-63
+NULL	-63	1969-12-31 16:00:12.188	-63.0	NULL	63	-63	0	-63.0	-0.0	63.0	-5011.839	0.0	63.0	0.0	-10.175	-63.0	0.41714285714285715	-63.0	0.0	-63
+NULL	-63	1969-12-31 16:00:15.436	-63.0	NULL	63	-63	0	-63.0	-0.0	63.0	-5011.839	0.0	63.0	0.0	-10.175	-63.0	0.41714285714285715	-63.0	0.0	-63
+NULL	-64	1969-12-31 16:00:00.199	-64.0	NULL	64	-64	0	-64.0	-0.0	64.0	-5091.392	0.0	64.0	0.0	-10.175	-64.0	0.410625	-64.0	0.0	-64
+NULL	-64	1969-12-31 16:00:00.29	-64.0	NULL	64	-64	0	-64.0	-0.0	64.0	-5091.392	0.0	64.0	0.0	-10.175	-64.0	0.410625	-64.0	0.0	-64
+NULL	-64	1969-12-31 16:00:01.785	-64.0	NULL	64	-64	0	-64.0	-0.0	64.0	-5091.392	0.0	64.0	0.0	-10.175	-64.0	0.410625	-64.0	0.0	-64
+NULL	-64	1969-12-31 16:00:03.944	-64.0	NULL	64	-64	0	-64.0	-0.0	64.0	-5091.392	0.0	64.0	0.0	-10.175	-64.0	0.410625	-64.0	0.0	-64
+NULL	-64	1969-12-31 16:00:05.997	-64.0	NULL	64	-64	0	-64.0	-0.0	64.0	-5091.392	0.0	64.0	0.0	-10.175	-64.0	0.410625	-64.0	0.0	-64
+NULL	-64	1969-12-31 16:00:10.858	-64.0	NULL	64	-64	0	-64.0	-0.0	64.0	-5091.392	0.0	64.0	0.0	-10.175	-64.0	0.410625	-64.0	0.0	-64
+NULL	-64	1969-12-31 16:00:11.912	-64.0	NULL	64	-64	0	-64.0	-0.0	64.0	-5091.392	0.0	64.0	0.0	-10.175	-64.0	0.410625	-64.0	0.0	-64
+NULL	-64	1969-12-31 16:00:12.339	-64.0	NULL	64	-64	0	-64.0	-0.0	64.0	-5091.392	0.0	64.0	0.0	-10.175	-64.0	0.410625	-64.0	0.0	-64
+NULL	-64	1969-12-31 16:00:13.274	-64.0	NULL	64	-64	0	-64.0	-0.0	64.0	-5091.392	0.0	64.0	0.0	-10.175	-64.0	0.410625	-64.0	0.0	-64