| PREHOOK: query: drop table if exists vector_interval_2 |
| PREHOOK: type: DROPTABLE |
| POSTHOOK: query: drop table if exists vector_interval_2 |
| POSTHOOK: type: DROPTABLE |
| PREHOOK: query: create table vector_interval_2 (ts timestamp, dt date, str1 string, str2 string, str3 string, str4 string) stored as orc |
| PREHOOK: type: CREATETABLE |
| PREHOOK: Output: database:default |
| PREHOOK: Output: default@vector_interval_2 |
| POSTHOOK: query: create table vector_interval_2 (ts timestamp, dt date, str1 string, str2 string, str3 string, str4 string) stored as orc |
| POSTHOOK: type: CREATETABLE |
| POSTHOOK: Output: database:default |
| POSTHOOK: Output: default@vector_interval_2 |
| PREHOOK: query: insert into vector_interval_2 |
| select timestamp '2001-01-01 01:02:03', date '2001-01-01', '1-2', '1-3', '1 2:3:4', '1 2:3:5' from src limit 1 |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@src |
| PREHOOK: Output: default@vector_interval_2 |
| POSTHOOK: query: insert into vector_interval_2 |
| select timestamp '2001-01-01 01:02:03', date '2001-01-01', '1-2', '1-3', '1 2:3:4', '1 2:3:5' from src limit 1 |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@src |
| POSTHOOK: Output: default@vector_interval_2 |
| POSTHOOK: Lineage: vector_interval_2.dt SIMPLE [] |
| POSTHOOK: Lineage: vector_interval_2.str1 SIMPLE [] |
| POSTHOOK: Lineage: vector_interval_2.str2 SIMPLE [] |
| POSTHOOK: Lineage: vector_interval_2.str3 SIMPLE [] |
| POSTHOOK: Lineage: vector_interval_2.str4 SIMPLE [] |
| POSTHOOK: Lineage: vector_interval_2.ts SIMPLE [] |
| PREHOOK: query: insert into vector_interval_2 |
| select null, null, null, null, null, null from src limit 1 |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@src |
| PREHOOK: Output: default@vector_interval_2 |
| POSTHOOK: query: insert into vector_interval_2 |
| select null, null, null, null, null, null from src limit 1 |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@src |
| POSTHOOK: Output: default@vector_interval_2 |
| POSTHOOK: Lineage: vector_interval_2.dt EXPRESSION [] |
| POSTHOOK: Lineage: vector_interval_2.str1 EXPRESSION [] |
| POSTHOOK: Lineage: vector_interval_2.str2 EXPRESSION [] |
| POSTHOOK: Lineage: vector_interval_2.str3 EXPRESSION [] |
| POSTHOOK: Lineage: vector_interval_2.str4 EXPRESSION [] |
| POSTHOOK: Lineage: vector_interval_2.ts EXPRESSION [] |
| PREHOOK: query: explain vectorization expression |
| select |
| str1, |
| -- Should all be true |
| interval_year_month(str1) = interval_year_month(str1), |
| interval_year_month(str1) <= interval_year_month(str1), |
| interval_year_month(str1) <= interval_year_month(str2), |
| interval_year_month(str1) < interval_year_month(str2), |
| interval_year_month(str1) >= interval_year_month(str1), |
| interval_year_month(str2) >= interval_year_month(str1), |
| interval_year_month(str2) > interval_year_month(str1), |
| interval_year_month(str1) != interval_year_month(str2), |
| |
| interval_year_month(str1) = interval '1-2' year to month, |
| interval_year_month(str1) <= interval '1-2' year to month, |
| interval_year_month(str1) <= interval '1-3' year to month, |
| interval_year_month(str1) < interval '1-3' year to month, |
| interval_year_month(str1) >= interval '1-2' year to month, |
| interval_year_month(str2) >= interval '1-2' year to month, |
| interval_year_month(str2) > interval '1-2' year to month, |
| interval_year_month(str1) != interval '1-3' year to month, |
| |
| interval '1-2' year to month = interval_year_month(str1), |
| interval '1-2' year to month <= interval_year_month(str1), |
| interval '1-2' year to month <= interval_year_month(str2), |
| interval '1-2' year to month < interval_year_month(str2), |
| interval '1-2' year to month >= interval_year_month(str1), |
| interval '1-3' year to month >= interval_year_month(str1), |
| interval '1-3' year to month > interval_year_month(str1), |
| interval '1-2' year to month != interval_year_month(str2) |
| from vector_interval_2 order by str1 |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: explain vectorization expression |
| select |
| str1, |
| -- Should all be true |
| interval_year_month(str1) = interval_year_month(str1), |
| interval_year_month(str1) <= interval_year_month(str1), |
| interval_year_month(str1) <= interval_year_month(str2), |
| interval_year_month(str1) < interval_year_month(str2), |
| interval_year_month(str1) >= interval_year_month(str1), |
| interval_year_month(str2) >= interval_year_month(str1), |
| interval_year_month(str2) > interval_year_month(str1), |
| interval_year_month(str1) != interval_year_month(str2), |
| |
| interval_year_month(str1) = interval '1-2' year to month, |
| interval_year_month(str1) <= interval '1-2' year to month, |
| interval_year_month(str1) <= interval '1-3' year to month, |
| interval_year_month(str1) < interval '1-3' year to month, |
| interval_year_month(str1) >= interval '1-2' year to month, |
| interval_year_month(str2) >= interval '1-2' year to month, |
| interval_year_month(str2) > interval '1-2' year to month, |
| interval_year_month(str1) != interval '1-3' year to month, |
| |
| interval '1-2' year to month = interval_year_month(str1), |
| interval '1-2' year to month <= interval_year_month(str1), |
| interval '1-2' year to month <= interval_year_month(str2), |
| interval '1-2' year to month < interval_year_month(str2), |
| interval '1-2' year to month >= interval_year_month(str1), |
| interval '1-3' year to month >= interval_year_month(str1), |
| interval '1-3' year to month > interval_year_month(str1), |
| interval '1-2' year to month != interval_year_month(str2) |
| from vector_interval_2 order by str1 |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 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 |
| Tez |
| #### A masked pattern was here #### |
| Edges: |
| Reducer 2 <- Map 1 (SIMPLE_EDGE) |
| #### A masked pattern was here #### |
| Vertices: |
| Map 1 |
| Map Operator Tree: |
| TableScan |
| alias: vector_interval_2 |
| Statistics: Num rows: 2 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE |
| TableScan Vectorization: |
| native: true |
| Select Operator |
| expressions: str1 (type: string), (null or CAST( str1 AS INTERVAL YEAR TO MONTH) is not null) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <= CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) < CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) >= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) > CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <> CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) = INTERVAL'1-2') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <= INTERVAL'1-2') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <= INTERVAL'1-3') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) < INTERVAL'1-3') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) >= INTERVAL'1-2') (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) >= INTERVAL'1-2') (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) > INTERVAL'1-2') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <> INTERVAL'1-3') (type: boolean), (INTERVAL'1-2' = CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' <= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' <= CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' < CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' >= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-3' >= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-3' > CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' <> CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean) |
| outputColumnNames: _col0, _col1, _col3, _col4, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [2, 11, 14, 17, 20, 23, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58] |
| selectExpressions: ScalarNullOrCol(col 10:boolean, val 0:boolean)(children: IsNotNull(col 9:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 9:interval_year_month) -> 10:boolean) -> 11:boolean, LongColLessEqualLongColumn(col 12:interval_year_month, col 13:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 12:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 13:interval_year_month) -> 14:boolean, LongColLessLongColumn(col 15:interval_year_month, col 16:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 15:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 16:interval_year_month) -> 17:boolean, LongColGreaterEqualLongColumn(col 18:interval_year_month, col 19:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 18:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 19:interval_year_month) -> 20:boolean, LongColGreaterLongColumn(col 21:interval_year_month, col 22:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 21:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 22:interval_year_month) -> 23:boolean, LongColNotEqualLongColumn(col 24:interval_year_month, col 25:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 24:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 25:interval_year_month) -> 26:boolean, IntervalYearMonthColEqualIntervalYearMonthScalar(col 27:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 2:string) -> 27:interval_year_month) -> 28:boolean, IntervalYearMonthColLessEqualIntervalYearMonthScalar(col 29:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 2:string) -> 29:interval_year_month) -> 30:boolean, IntervalYearMonthColLessEqualIntervalYearMonthScalar(col 31:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 31:interval_year_month) -> 32:boolean, IntervalYearMonthColLessIntervalYearMonthScalar(col 33:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 33:interval_year_month) -> 34:boolean, IntervalYearMonthColGreaterEqualIntervalYearMonthScalar(col 35:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 2:string) -> 35:interval_year_month) -> 36:boolean, IntervalYearMonthColGreaterEqualIntervalYearMonthScalar(col 37:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 37:interval_year_month) -> 38:boolean, IntervalYearMonthColGreaterIntervalYearMonthScalar(col 39:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 39:interval_year_month) -> 40:boolean, IntervalYearMonthColNotEqualIntervalYearMonthScalar(col 41:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 41:interval_year_month) -> 42:boolean, IntervalYearMonthScalarEqualIntervalYearMonthColumn(val 14, col 43:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 43:interval_year_month) -> 44:boolean, IntervalYearMonthScalarLessEqualIntervalYearMonthColumn(val 14, col 45:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 45:interval_year_month) -> 46:boolean, IntervalYearMonthScalarLessEqualIntervalYearMonthColumn(val 14, col 47:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 47:interval_year_month) -> 48:boolean, IntervalYearMonthScalarLessIntervalYearMonthColumn(val 14, col 49:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 49:interval_year_month) -> 50:boolean, IntervalYearMonthScalarGreaterEqualIntervalYearMonthColumn(val 14, col 51:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 51:interval_year_month) -> 52:boolean, IntervalYearMonthScalarGreaterEqualIntervalYearMonthColumn(val 15, col 53:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 53:interval_year_month) -> 54:boolean, IntervalYearMonthScalarGreaterIntervalYearMonthColumn(val 15, col 55:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 55:interval_year_month) -> 56:boolean, IntervalYearMonthScalarNotEqualIntervalYearMonthColumn(val 14, col 57:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 57:interval_year_month) -> 58:boolean |
| Statistics: Num rows: 2 Data size: 350 Basic stats: COMPLETE Column stats: COMPLETE |
| Reduce Output Operator |
| key expressions: _col0 (type: string) |
| null sort order: z |
| sort order: + |
| Reduce Sink Vectorization: |
| className: VectorReduceSinkObjectHashOperator |
| native: true |
| nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez] 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: 2 Data size: 350 Basic stats: COMPLETE Column stats: COMPLETE |
| value expressions: _col1 (type: boolean), _col3 (type: boolean), _col4 (type: boolean), _col6 (type: boolean), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: boolean), _col10 (type: boolean), _col11 (type: boolean), _col12 (type: boolean), _col13 (type: boolean), _col14 (type: boolean), _col15 (type: boolean), _col16 (type: boolean), _col17 (type: boolean), _col18 (type: boolean), _col19 (type: boolean), _col20 (type: boolean), _col21 (type: boolean), _col22 (type: boolean), _col23 (type: boolean), _col24 (type: boolean) |
| Execution mode: vectorized, llap |
| LLAP IO: all inputs |
| Map Vectorization: |
| enabled: true |
| enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true |
| inputFormatFeatureSupport: [DECIMAL_64] |
| featureSupportInUse: [DECIMAL_64] |
| inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat |
| allNative: true |
| usesVectorUDFAdaptor: false |
| vectorized: true |
| Reducer 2 |
| Execution mode: vectorized, llap |
| Reduce Vectorization: |
| enabled: true |
| enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true, hive.execution.engine tez IN [tez] IS true |
| allNative: false |
| usesVectorUDFAdaptor: false |
| vectorized: true |
| Reduce Operator Tree: |
| Select Operator |
| expressions: KEY.reducesinkkey0 (type: string), VALUE._col0 (type: boolean), VALUE._col0 (type: boolean), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col0 (type: boolean), VALUE._col3 (type: boolean), VALUE._col4 (type: boolean), VALUE._col5 (type: boolean), VALUE._col6 (type: boolean), VALUE._col7 (type: boolean), VALUE._col8 (type: boolean), VALUE._col9 (type: boolean), VALUE._col10 (type: boolean), VALUE._col11 (type: boolean), VALUE._col12 (type: boolean), VALUE._col13 (type: boolean), VALUE._col14 (type: boolean), VALUE._col15 (type: boolean), VALUE._col16 (type: boolean), VALUE._col17 (type: boolean), VALUE._col18 (type: boolean), VALUE._col19 (type: boolean), VALUE._col20 (type: boolean), VALUE._col21 (type: boolean) |
| outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [0, 1, 1, 2, 3, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] |
| Statistics: Num rows: 2 Data size: 366 Basic stats: COMPLETE Column stats: COMPLETE |
| File Output Operator |
| compressed: false |
| File Sink Vectorization: |
| className: VectorFileSinkOperator |
| native: false |
| Statistics: Num rows: 2 Data size: 366 Basic stats: COMPLETE Column stats: COMPLETE |
| table: |
| input format: org.apache.hadoop.mapred.SequenceFileInputFormat |
| output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat |
| serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe |
| |
| Stage: Stage-0 |
| Fetch Operator |
| limit: -1 |
| Processor Tree: |
| ListSink |
| |
| PREHOOK: query: select |
| str1, |
| -- Should all be true |
| interval_year_month(str1) = interval_year_month(str1), |
| interval_year_month(str1) <= interval_year_month(str1), |
| interval_year_month(str1) <= interval_year_month(str2), |
| interval_year_month(str1) < interval_year_month(str2), |
| interval_year_month(str1) >= interval_year_month(str1), |
| interval_year_month(str2) >= interval_year_month(str1), |
| interval_year_month(str2) > interval_year_month(str1), |
| interval_year_month(str1) != interval_year_month(str2), |
| |
| interval_year_month(str1) = interval '1-2' year to month, |
| interval_year_month(str1) <= interval '1-2' year to month, |
| interval_year_month(str1) <= interval '1-3' year to month, |
| interval_year_month(str1) < interval '1-3' year to month, |
| interval_year_month(str1) >= interval '1-2' year to month, |
| interval_year_month(str2) >= interval '1-2' year to month, |
| interval_year_month(str2) > interval '1-2' year to month, |
| interval_year_month(str1) != interval '1-3' year to month, |
| |
| interval '1-2' year to month = interval_year_month(str1), |
| interval '1-2' year to month <= interval_year_month(str1), |
| interval '1-2' year to month <= interval_year_month(str2), |
| interval '1-2' year to month < interval_year_month(str2), |
| interval '1-2' year to month >= interval_year_month(str1), |
| interval '1-3' year to month >= interval_year_month(str1), |
| interval '1-3' year to month > interval_year_month(str1), |
| interval '1-2' year to month != interval_year_month(str2) |
| from vector_interval_2 order by str1 |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select |
| str1, |
| -- Should all be true |
| interval_year_month(str1) = interval_year_month(str1), |
| interval_year_month(str1) <= interval_year_month(str1), |
| interval_year_month(str1) <= interval_year_month(str2), |
| interval_year_month(str1) < interval_year_month(str2), |
| interval_year_month(str1) >= interval_year_month(str1), |
| interval_year_month(str2) >= interval_year_month(str1), |
| interval_year_month(str2) > interval_year_month(str1), |
| interval_year_month(str1) != interval_year_month(str2), |
| |
| interval_year_month(str1) = interval '1-2' year to month, |
| interval_year_month(str1) <= interval '1-2' year to month, |
| interval_year_month(str1) <= interval '1-3' year to month, |
| interval_year_month(str1) < interval '1-3' year to month, |
| interval_year_month(str1) >= interval '1-2' year to month, |
| interval_year_month(str2) >= interval '1-2' year to month, |
| interval_year_month(str2) > interval '1-2' year to month, |
| interval_year_month(str1) != interval '1-3' year to month, |
| |
| interval '1-2' year to month = interval_year_month(str1), |
| interval '1-2' year to month <= interval_year_month(str1), |
| interval '1-2' year to month <= interval_year_month(str2), |
| interval '1-2' year to month < interval_year_month(str2), |
| interval '1-2' year to month >= interval_year_month(str1), |
| interval '1-3' year to month >= interval_year_month(str1), |
| interval '1-3' year to month > interval_year_month(str1), |
| interval '1-2' year to month != interval_year_month(str2) |
| from vector_interval_2 order by str1 |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 1-2 true true true true true true true true true true true true true true true true true true true true true true true true |
| NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL |
| PREHOOK: query: explain vectorization expression |
| select |
| str1, |
| -- Should all be false |
| interval_year_month(str1) != interval_year_month(str1), |
| interval_year_month(str1) >= interval_year_month(str2), |
| interval_year_month(str1) > interval_year_month(str2), |
| interval_year_month(str2) <= interval_year_month(str1), |
| interval_year_month(str2) < interval_year_month(str1), |
| interval_year_month(str1) != interval_year_month(str1), |
| |
| interval_year_month(str1) != interval '1-2' year to month, |
| interval_year_month(str1) >= interval '1-3' year to month, |
| interval_year_month(str1) > interval '1-3' year to month, |
| interval_year_month(str2) <= interval '1-2' year to month, |
| interval_year_month(str2) < interval '1-2' year to month, |
| interval_year_month(str1) != interval '1-2' year to month, |
| |
| interval '1-2' year to month != interval_year_month(str1), |
| interval '1-2' year to month >= interval_year_month(str2), |
| interval '1-2' year to month > interval_year_month(str2), |
| interval '1-3' year to month <= interval_year_month(str1), |
| interval '1-3' year to month < interval_year_month(str1), |
| interval '1-2' year to month != interval_year_month(str1) |
| from vector_interval_2 order by str1 |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: explain vectorization expression |
| select |
| str1, |
| -- Should all be false |
| interval_year_month(str1) != interval_year_month(str1), |
| interval_year_month(str1) >= interval_year_month(str2), |
| interval_year_month(str1) > interval_year_month(str2), |
| interval_year_month(str2) <= interval_year_month(str1), |
| interval_year_month(str2) < interval_year_month(str1), |
| interval_year_month(str1) != interval_year_month(str1), |
| |
| interval_year_month(str1) != interval '1-2' year to month, |
| interval_year_month(str1) >= interval '1-3' year to month, |
| interval_year_month(str1) > interval '1-3' year to month, |
| interval_year_month(str2) <= interval '1-2' year to month, |
| interval_year_month(str2) < interval '1-2' year to month, |
| interval_year_month(str1) != interval '1-2' year to month, |
| |
| interval '1-2' year to month != interval_year_month(str1), |
| interval '1-2' year to month >= interval_year_month(str2), |
| interval '1-2' year to month > interval_year_month(str2), |
| interval '1-3' year to month <= interval_year_month(str1), |
| interval '1-3' year to month < interval_year_month(str1), |
| interval '1-2' year to month != interval_year_month(str1) |
| from vector_interval_2 order by str1 |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 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 |
| Tez |
| #### A masked pattern was here #### |
| Edges: |
| Reducer 2 <- Map 1 (SIMPLE_EDGE) |
| #### A masked pattern was here #### |
| Vertices: |
| Map 1 |
| Map Operator Tree: |
| TableScan |
| alias: vector_interval_2 |
| Statistics: Num rows: 2 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE |
| TableScan Vectorization: |
| native: true |
| Select Operator |
| expressions: str1 (type: string), (null and CAST( str1 AS INTERVAL YEAR TO MONTH) is null) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) >= CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) > CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) <= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) < CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <> INTERVAL'1-2') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) >= INTERVAL'1-3') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) > INTERVAL'1-3') (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) <= INTERVAL'1-2') (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) < INTERVAL'1-2') (type: boolean), (INTERVAL'1-2' <> CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' >= CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' > CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-3' <= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-3' < CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean) |
| outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col7, _col8, _col9, _col10, _col11, _col13, _col14, _col15, _col16, _col17 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [2, 11, 14, 17, 20, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43] |
| selectExpressions: ScalarNullAndCol(col 10:boolean, val 0:boolean)(children: IsNull(col 9:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 9:interval_year_month) -> 10:boolean) -> 11:boolean, LongColGreaterEqualLongColumn(col 12:interval_year_month, col 13:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 12:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 13:interval_year_month) -> 14:boolean, LongColGreaterLongColumn(col 15:interval_year_month, col 16:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 15:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 16:interval_year_month) -> 17:boolean, LongColLessEqualLongColumn(col 18:interval_year_month, col 19:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 18:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 19:interval_year_month) -> 20:boolean, LongColLessLongColumn(col 21:interval_year_month, col 22:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 21:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 22:interval_year_month) -> 23:boolean, IntervalYearMonthColNotEqualIntervalYearMonthScalar(col 24:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 2:string) -> 24:interval_year_month) -> 25:boolean, IntervalYearMonthColGreaterEqualIntervalYearMonthScalar(col 26:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 26:interval_year_month) -> 27:boolean, IntervalYearMonthColGreaterIntervalYearMonthScalar(col 28:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 28:interval_year_month) -> 29:boolean, IntervalYearMonthColLessEqualIntervalYearMonthScalar(col 30:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 30:interval_year_month) -> 31:boolean, IntervalYearMonthColLessIntervalYearMonthScalar(col 32:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 32:interval_year_month) -> 33:boolean, IntervalYearMonthScalarNotEqualIntervalYearMonthColumn(val 14, col 34:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 34:interval_year_month) -> 35:boolean, IntervalYearMonthScalarGreaterEqualIntervalYearMonthColumn(val 14, col 36:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 36:interval_year_month) -> 37:boolean, IntervalYearMonthScalarGreaterIntervalYearMonthColumn(val 14, col 38:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 38:interval_year_month) -> 39:boolean, IntervalYearMonthScalarLessEqualIntervalYearMonthColumn(val 15, col 40:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 40:interval_year_month) -> 41:boolean, IntervalYearMonthScalarLessIntervalYearMonthColumn(val 15, col 42:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 42:interval_year_month) -> 43:boolean |
| Statistics: Num rows: 2 Data size: 294 Basic stats: COMPLETE Column stats: COMPLETE |
| Reduce Output Operator |
| key expressions: _col0 (type: string) |
| null sort order: z |
| sort order: + |
| Reduce Sink Vectorization: |
| className: VectorReduceSinkObjectHashOperator |
| native: true |
| nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez] 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: 2 Data size: 294 Basic stats: COMPLETE Column stats: COMPLETE |
| value expressions: _col1 (type: boolean), _col2 (type: boolean), _col3 (type: boolean), _col4 (type: boolean), _col5 (type: boolean), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: boolean), _col10 (type: boolean), _col11 (type: boolean), _col13 (type: boolean), _col14 (type: boolean), _col15 (type: boolean), _col16 (type: boolean), _col17 (type: boolean) |
| Execution mode: vectorized, llap |
| LLAP IO: all inputs |
| Map Vectorization: |
| enabled: true |
| enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true |
| inputFormatFeatureSupport: [DECIMAL_64] |
| featureSupportInUse: [DECIMAL_64] |
| inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat |
| allNative: true |
| usesVectorUDFAdaptor: false |
| vectorized: true |
| Reducer 2 |
| Execution mode: vectorized, llap |
| Reduce Vectorization: |
| enabled: true |
| enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true, hive.execution.engine tez IN [tez] IS true |
| allNative: false |
| usesVectorUDFAdaptor: false |
| vectorized: true |
| Reduce Operator Tree: |
| Select Operator |
| expressions: KEY.reducesinkkey0 (type: string), VALUE._col0 (type: boolean), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col3 (type: boolean), VALUE._col4 (type: boolean), VALUE._col0 (type: boolean), VALUE._col5 (type: boolean), VALUE._col6 (type: boolean), VALUE._col7 (type: boolean), VALUE._col8 (type: boolean), VALUE._col9 (type: boolean), VALUE._col5 (type: boolean), VALUE._col10 (type: boolean), VALUE._col11 (type: boolean), VALUE._col12 (type: boolean), VALUE._col13 (type: boolean), VALUE._col14 (type: boolean), VALUE._col10 (type: boolean) |
| outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [0, 1, 2, 3, 4, 5, 1, 6, 7, 8, 9, 10, 6, 11, 12, 13, 14, 15, 11] |
| Statistics: Num rows: 2 Data size: 318 Basic stats: COMPLETE Column stats: COMPLETE |
| File Output Operator |
| compressed: false |
| File Sink Vectorization: |
| className: VectorFileSinkOperator |
| native: false |
| Statistics: Num rows: 2 Data size: 318 Basic stats: COMPLETE Column stats: COMPLETE |
| table: |
| input format: org.apache.hadoop.mapred.SequenceFileInputFormat |
| output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat |
| serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe |
| |
| Stage: Stage-0 |
| Fetch Operator |
| limit: -1 |
| Processor Tree: |
| ListSink |
| |
| PREHOOK: query: select |
| str1, |
| -- Should all be false |
| interval_year_month(str1) != interval_year_month(str1), |
| interval_year_month(str1) >= interval_year_month(str2), |
| interval_year_month(str1) > interval_year_month(str2), |
| interval_year_month(str2) <= interval_year_month(str1), |
| interval_year_month(str2) < interval_year_month(str1), |
| interval_year_month(str1) != interval_year_month(str1), |
| |
| interval_year_month(str1) != interval '1-2' year to month, |
| interval_year_month(str1) >= interval '1-3' year to month, |
| interval_year_month(str1) > interval '1-3' year to month, |
| interval_year_month(str2) <= interval '1-2' year to month, |
| interval_year_month(str2) < interval '1-2' year to month, |
| interval_year_month(str1) != interval '1-2' year to month, |
| |
| interval '1-2' year to month != interval_year_month(str1), |
| interval '1-2' year to month >= interval_year_month(str2), |
| interval '1-2' year to month > interval_year_month(str2), |
| interval '1-3' year to month <= interval_year_month(str1), |
| interval '1-3' year to month < interval_year_month(str1), |
| interval '1-2' year to month != interval_year_month(str1) |
| from vector_interval_2 order by str1 |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select |
| str1, |
| -- Should all be false |
| interval_year_month(str1) != interval_year_month(str1), |
| interval_year_month(str1) >= interval_year_month(str2), |
| interval_year_month(str1) > interval_year_month(str2), |
| interval_year_month(str2) <= interval_year_month(str1), |
| interval_year_month(str2) < interval_year_month(str1), |
| interval_year_month(str1) != interval_year_month(str1), |
| |
| interval_year_month(str1) != interval '1-2' year to month, |
| interval_year_month(str1) >= interval '1-3' year to month, |
| interval_year_month(str1) > interval '1-3' year to month, |
| interval_year_month(str2) <= interval '1-2' year to month, |
| interval_year_month(str2) < interval '1-2' year to month, |
| interval_year_month(str1) != interval '1-2' year to month, |
| |
| interval '1-2' year to month != interval_year_month(str1), |
| interval '1-2' year to month >= interval_year_month(str2), |
| interval '1-2' year to month > interval_year_month(str2), |
| interval '1-3' year to month <= interval_year_month(str1), |
| interval '1-3' year to month < interval_year_month(str1), |
| interval '1-2' year to month != interval_year_month(str1) |
| from vector_interval_2 order by str1 |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 1-2 false false false false false false false false false false false false false false false false false false |
| NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL |
| PREHOOK: query: explain vectorization expression |
| select |
| str3, |
| -- Should all be true |
| interval_day_time(str3) = interval_day_time(str3), |
| interval_day_time(str3) <= interval_day_time(str3), |
| interval_day_time(str3) <= interval_day_time(str4), |
| interval_day_time(str3) < interval_day_time(str4), |
| interval_day_time(str3) >= interval_day_time(str3), |
| interval_day_time(str4) >= interval_day_time(str3), |
| interval_day_time(str4) > interval_day_time(str3), |
| interval_day_time(str3) != interval_day_time(str4), |
| |
| interval_day_time(str3) = interval '1 2:3:4' day to second, |
| interval_day_time(str3) <= interval '1 2:3:4' day to second, |
| interval_day_time(str3) <= interval '1 2:3:5' day to second, |
| interval_day_time(str3) < interval '1 2:3:5' day to second, |
| interval_day_time(str3) >= interval '1 2:3:4' day to second, |
| interval_day_time(str4) >= interval '1 2:3:4' day to second, |
| interval_day_time(str4) > interval '1 2:3:4' day to second, |
| interval_day_time(str3) != interval '1 2:3:5' day to second, |
| |
| interval '1 2:3:4' day to second = interval_day_time(str3), |
| interval '1 2:3:4' day to second <= interval_day_time(str3), |
| interval '1 2:3:4' day to second <= interval_day_time(str4), |
| interval '1 2:3:4' day to second < interval_day_time(str4), |
| interval '1 2:3:4' day to second >= interval_day_time(str3), |
| interval '1 2:3:5' day to second >= interval_day_time(str3), |
| interval '1 2:3:5' day to second > interval_day_time(str3), |
| interval '1 2:3:4' day to second != interval_day_time(str4) |
| from vector_interval_2 order by str3 |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: explain vectorization expression |
| select |
| str3, |
| -- Should all be true |
| interval_day_time(str3) = interval_day_time(str3), |
| interval_day_time(str3) <= interval_day_time(str3), |
| interval_day_time(str3) <= interval_day_time(str4), |
| interval_day_time(str3) < interval_day_time(str4), |
| interval_day_time(str3) >= interval_day_time(str3), |
| interval_day_time(str4) >= interval_day_time(str3), |
| interval_day_time(str4) > interval_day_time(str3), |
| interval_day_time(str3) != interval_day_time(str4), |
| |
| interval_day_time(str3) = interval '1 2:3:4' day to second, |
| interval_day_time(str3) <= interval '1 2:3:4' day to second, |
| interval_day_time(str3) <= interval '1 2:3:5' day to second, |
| interval_day_time(str3) < interval '1 2:3:5' day to second, |
| interval_day_time(str3) >= interval '1 2:3:4' day to second, |
| interval_day_time(str4) >= interval '1 2:3:4' day to second, |
| interval_day_time(str4) > interval '1 2:3:4' day to second, |
| interval_day_time(str3) != interval '1 2:3:5' day to second, |
| |
| interval '1 2:3:4' day to second = interval_day_time(str3), |
| interval '1 2:3:4' day to second <= interval_day_time(str3), |
| interval '1 2:3:4' day to second <= interval_day_time(str4), |
| interval '1 2:3:4' day to second < interval_day_time(str4), |
| interval '1 2:3:4' day to second >= interval_day_time(str3), |
| interval '1 2:3:5' day to second >= interval_day_time(str3), |
| interval '1 2:3:5' day to second > interval_day_time(str3), |
| interval '1 2:3:4' day to second != interval_day_time(str4) |
| from vector_interval_2 order by str3 |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 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 |
| Tez |
| #### A masked pattern was here #### |
| Edges: |
| Reducer 2 <- Map 1 (SIMPLE_EDGE) |
| #### A masked pattern was here #### |
| Vertices: |
| Map 1 |
| Map Operator Tree: |
| TableScan |
| alias: vector_interval_2 |
| Statistics: Num rows: 2 Data size: 364 Basic stats: COMPLETE Column stats: COMPLETE |
| TableScan Vectorization: |
| native: true |
| Select Operator |
| expressions: str3 (type: string), (null or CAST( str3 AS INTERVAL DAY TO SECOND) is not null) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <= CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) < CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) >= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) > CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <> CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) = INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <= INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <= INTERVAL'1 02:03:05.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) < INTERVAL'1 02:03:05.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) >= INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) >= INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) > INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <> INTERVAL'1 02:03:05.000000000') (type: boolean), (INTERVAL'1 02:03:04.000000000' = CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' <= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' <= CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' < CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' >= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:05.000000000' >= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:05.000000000' > CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' <> CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean) |
| outputColumnNames: _col0, _col1, _col3, _col4, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [4, 11, 14, 17, 20, 23, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58] |
| selectExpressions: ScalarNullOrCol(col 10:boolean, val 0:boolean)(children: IsNotNull(col 9:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 9:interval_day_time) -> 10:boolean) -> 11:boolean, IntervalDayTimeColLessEqualIntervalDayTimeColumn(col 12:interval_day_time, col 13:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 12:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 13:interval_day_time) -> 14:boolean, IntervalDayTimeColLessIntervalDayTimeColumn(col 15:interval_day_time, col 16:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 15:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 16:interval_day_time) -> 17:boolean, IntervalDayTimeColGreaterEqualIntervalDayTimeColumn(col 18:interval_day_time, col 19:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 18:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 19:interval_day_time) -> 20:boolean, IntervalDayTimeColGreaterIntervalDayTimeColumn(col 21:interval_day_time, col 22:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 21:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 22:interval_day_time) -> 23:boolean, IntervalDayTimeColNotEqualIntervalDayTimeColumn(col 24:interval_day_time, col 25:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 24:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 25:interval_day_time) -> 26:boolean, IntervalDayTimeColEqualIntervalDayTimeScalar(col 27:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 27:interval_day_time) -> 28:boolean, IntervalDayTimeColLessEqualIntervalDayTimeScalar(col 29:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 29:interval_day_time) -> 30:boolean, IntervalDayTimeColLessEqualIntervalDayTimeScalar(col 31:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 31:interval_day_time) -> 32:boolean, IntervalDayTimeColLessIntervalDayTimeScalar(col 33:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 33:interval_day_time) -> 34:boolean, IntervalDayTimeColGreaterEqualIntervalDayTimeScalar(col 35:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 35:interval_day_time) -> 36:boolean, IntervalDayTimeColGreaterEqualIntervalDayTimeScalar(col 37:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 37:interval_day_time) -> 38:boolean, IntervalDayTimeColGreaterIntervalDayTimeScalar(col 39:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 39:interval_day_time) -> 40:boolean, IntervalDayTimeColNotEqualIntervalDayTimeScalar(col 41:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 41:interval_day_time) -> 42:boolean, IntervalDayTimeScalarEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 43:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 43:interval_day_time) -> 44:boolean, IntervalDayTimeScalarLessEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 45:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 45:interval_day_time) -> 46:boolean, IntervalDayTimeScalarLessEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 47:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 47:interval_day_time) -> 48:boolean, IntervalDayTimeScalarLessIntervalDayTimeColumn(val 1 02:03:04.000000000, col 49:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 49:interval_day_time) -> 50:boolean, IntervalDayTimeScalarGreaterEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 51:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 51:interval_day_time) -> 52:boolean, IntervalDayTimeScalarGreaterEqualIntervalDayTimeColumn(val 1 02:03:05.000000000, col 53:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 53:interval_day_time) -> 54:boolean, IntervalDayTimeScalarGreaterIntervalDayTimeColumn(val 1 02:03:05.000000000, col 55:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 55:interval_day_time) -> 56:boolean, IntervalDayTimeScalarNotEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 57:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 57:interval_day_time) -> 58:boolean |
| Statistics: Num rows: 2 Data size: 358 Basic stats: COMPLETE Column stats: COMPLETE |
| Reduce Output Operator |
| key expressions: _col0 (type: string) |
| null sort order: z |
| sort order: + |
| Reduce Sink Vectorization: |
| className: VectorReduceSinkObjectHashOperator |
| native: true |
| nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez] 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: 2 Data size: 358 Basic stats: COMPLETE Column stats: COMPLETE |
| value expressions: _col1 (type: boolean), _col3 (type: boolean), _col4 (type: boolean), _col6 (type: boolean), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: boolean), _col10 (type: boolean), _col11 (type: boolean), _col12 (type: boolean), _col13 (type: boolean), _col14 (type: boolean), _col15 (type: boolean), _col16 (type: boolean), _col17 (type: boolean), _col18 (type: boolean), _col19 (type: boolean), _col20 (type: boolean), _col21 (type: boolean), _col22 (type: boolean), _col23 (type: boolean), _col24 (type: boolean) |
| Execution mode: vectorized, llap |
| LLAP IO: all inputs |
| Map Vectorization: |
| enabled: true |
| enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true |
| inputFormatFeatureSupport: [DECIMAL_64] |
| featureSupportInUse: [DECIMAL_64] |
| inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat |
| allNative: true |
| usesVectorUDFAdaptor: false |
| vectorized: true |
| Reducer 2 |
| Execution mode: vectorized, llap |
| Reduce Vectorization: |
| enabled: true |
| enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true, hive.execution.engine tez IN [tez] IS true |
| allNative: false |
| usesVectorUDFAdaptor: false |
| vectorized: true |
| Reduce Operator Tree: |
| Select Operator |
| expressions: KEY.reducesinkkey0 (type: string), VALUE._col0 (type: boolean), VALUE._col0 (type: boolean), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col0 (type: boolean), VALUE._col3 (type: boolean), VALUE._col4 (type: boolean), VALUE._col5 (type: boolean), VALUE._col6 (type: boolean), VALUE._col7 (type: boolean), VALUE._col8 (type: boolean), VALUE._col9 (type: boolean), VALUE._col10 (type: boolean), VALUE._col11 (type: boolean), VALUE._col12 (type: boolean), VALUE._col13 (type: boolean), VALUE._col14 (type: boolean), VALUE._col15 (type: boolean), VALUE._col16 (type: boolean), VALUE._col17 (type: boolean), VALUE._col18 (type: boolean), VALUE._col19 (type: boolean), VALUE._col20 (type: boolean), VALUE._col21 (type: boolean) |
| outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [0, 1, 1, 2, 3, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] |
| Statistics: Num rows: 2 Data size: 374 Basic stats: COMPLETE Column stats: COMPLETE |
| File Output Operator |
| compressed: false |
| File Sink Vectorization: |
| className: VectorFileSinkOperator |
| native: false |
| Statistics: Num rows: 2 Data size: 374 Basic stats: COMPLETE Column stats: COMPLETE |
| table: |
| input format: org.apache.hadoop.mapred.SequenceFileInputFormat |
| output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat |
| serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe |
| |
| Stage: Stage-0 |
| Fetch Operator |
| limit: -1 |
| Processor Tree: |
| ListSink |
| |
| PREHOOK: query: select |
| str3, |
| -- Should all be true |
| interval_day_time(str3) = interval_day_time(str3), |
| interval_day_time(str3) <= interval_day_time(str3), |
| interval_day_time(str3) <= interval_day_time(str4), |
| interval_day_time(str3) < interval_day_time(str4), |
| interval_day_time(str3) >= interval_day_time(str3), |
| interval_day_time(str4) >= interval_day_time(str3), |
| interval_day_time(str4) > interval_day_time(str3), |
| interval_day_time(str3) != interval_day_time(str4), |
| |
| interval_day_time(str3) = interval '1 2:3:4' day to second, |
| interval_day_time(str3) <= interval '1 2:3:4' day to second, |
| interval_day_time(str3) <= interval '1 2:3:5' day to second, |
| interval_day_time(str3) < interval '1 2:3:5' day to second, |
| interval_day_time(str3) >= interval '1 2:3:4' day to second, |
| interval_day_time(str4) >= interval '1 2:3:4' day to second, |
| interval_day_time(str4) > interval '1 2:3:4' day to second, |
| interval_day_time(str3) != interval '1 2:3:5' day to second, |
| |
| interval '1 2:3:4' day to second = interval_day_time(str3), |
| interval '1 2:3:4' day to second <= interval_day_time(str3), |
| interval '1 2:3:4' day to second <= interval_day_time(str4), |
| interval '1 2:3:4' day to second < interval_day_time(str4), |
| interval '1 2:3:4' day to second >= interval_day_time(str3), |
| interval '1 2:3:5' day to second >= interval_day_time(str3), |
| interval '1 2:3:5' day to second > interval_day_time(str3), |
| interval '1 2:3:4' day to second != interval_day_time(str4) |
| from vector_interval_2 order by str3 |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select |
| str3, |
| -- Should all be true |
| interval_day_time(str3) = interval_day_time(str3), |
| interval_day_time(str3) <= interval_day_time(str3), |
| interval_day_time(str3) <= interval_day_time(str4), |
| interval_day_time(str3) < interval_day_time(str4), |
| interval_day_time(str3) >= interval_day_time(str3), |
| interval_day_time(str4) >= interval_day_time(str3), |
| interval_day_time(str4) > interval_day_time(str3), |
| interval_day_time(str3) != interval_day_time(str4), |
| |
| interval_day_time(str3) = interval '1 2:3:4' day to second, |
| interval_day_time(str3) <= interval '1 2:3:4' day to second, |
| interval_day_time(str3) <= interval '1 2:3:5' day to second, |
| interval_day_time(str3) < interval '1 2:3:5' day to second, |
| interval_day_time(str3) >= interval '1 2:3:4' day to second, |
| interval_day_time(str4) >= interval '1 2:3:4' day to second, |
| interval_day_time(str4) > interval '1 2:3:4' day to second, |
| interval_day_time(str3) != interval '1 2:3:5' day to second, |
| |
| interval '1 2:3:4' day to second = interval_day_time(str3), |
| interval '1 2:3:4' day to second <= interval_day_time(str3), |
| interval '1 2:3:4' day to second <= interval_day_time(str4), |
| interval '1 2:3:4' day to second < interval_day_time(str4), |
| interval '1 2:3:4' day to second >= interval_day_time(str3), |
| interval '1 2:3:5' day to second >= interval_day_time(str3), |
| interval '1 2:3:5' day to second > interval_day_time(str3), |
| interval '1 2:3:4' day to second != interval_day_time(str4) |
| from vector_interval_2 order by str3 |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 1 2:3:4 true true true true true true true true true true true true true true true true true true true true true true true true |
| NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL |
| PREHOOK: query: explain vectorization expression |
| select |
| str3, |
| -- Should all be false |
| interval_day_time(str3) != interval_day_time(str3), |
| interval_day_time(str3) >= interval_day_time(str4), |
| interval_day_time(str3) > interval_day_time(str4), |
| interval_day_time(str4) <= interval_day_time(str3), |
| interval_day_time(str4) < interval_day_time(str3), |
| interval_day_time(str3) != interval_day_time(str3), |
| |
| interval_day_time(str3) != interval '1 2:3:4' day to second, |
| interval_day_time(str3) >= interval '1 2:3:5' day to second, |
| interval_day_time(str3) > interval '1 2:3:5' day to second, |
| interval_day_time(str4) <= interval '1 2:3:4' day to second, |
| interval_day_time(str4) < interval '1 2:3:4' day to second, |
| interval_day_time(str3) != interval '1 2:3:4' day to second, |
| |
| interval '1 2:3:4' day to second != interval_day_time(str3), |
| interval '1 2:3:4' day to second >= interval_day_time(str4), |
| interval '1 2:3:4' day to second > interval_day_time(str4), |
| interval '1 2:3:5' day to second <= interval_day_time(str3), |
| interval '1 2:3:5' day to second < interval_day_time(str3), |
| interval '1 2:3:4' day to second != interval_day_time(str3) |
| from vector_interval_2 order by str3 |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: explain vectorization expression |
| select |
| str3, |
| -- Should all be false |
| interval_day_time(str3) != interval_day_time(str3), |
| interval_day_time(str3) >= interval_day_time(str4), |
| interval_day_time(str3) > interval_day_time(str4), |
| interval_day_time(str4) <= interval_day_time(str3), |
| interval_day_time(str4) < interval_day_time(str3), |
| interval_day_time(str3) != interval_day_time(str3), |
| |
| interval_day_time(str3) != interval '1 2:3:4' day to second, |
| interval_day_time(str3) >= interval '1 2:3:5' day to second, |
| interval_day_time(str3) > interval '1 2:3:5' day to second, |
| interval_day_time(str4) <= interval '1 2:3:4' day to second, |
| interval_day_time(str4) < interval '1 2:3:4' day to second, |
| interval_day_time(str3) != interval '1 2:3:4' day to second, |
| |
| interval '1 2:3:4' day to second != interval_day_time(str3), |
| interval '1 2:3:4' day to second >= interval_day_time(str4), |
| interval '1 2:3:4' day to second > interval_day_time(str4), |
| interval '1 2:3:5' day to second <= interval_day_time(str3), |
| interval '1 2:3:5' day to second < interval_day_time(str3), |
| interval '1 2:3:4' day to second != interval_day_time(str3) |
| from vector_interval_2 order by str3 |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 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 |
| Tez |
| #### A masked pattern was here #### |
| Edges: |
| Reducer 2 <- Map 1 (SIMPLE_EDGE) |
| #### A masked pattern was here #### |
| Vertices: |
| Map 1 |
| Map Operator Tree: |
| TableScan |
| alias: vector_interval_2 |
| Statistics: Num rows: 2 Data size: 364 Basic stats: COMPLETE Column stats: COMPLETE |
| TableScan Vectorization: |
| native: true |
| Select Operator |
| expressions: str3 (type: string), (null and CAST( str3 AS INTERVAL DAY TO SECOND) is null) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) >= CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) > CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) <= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) < CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <> INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) >= INTERVAL'1 02:03:05.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) > INTERVAL'1 02:03:05.000000000') (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) <= INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) < INTERVAL'1 02:03:04.000000000') (type: boolean), (INTERVAL'1 02:03:04.000000000' <> CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' >= CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' > CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:05.000000000' <= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:05.000000000' < CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean) |
| outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col7, _col8, _col9, _col10, _col11, _col13, _col14, _col15, _col16, _col17 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [4, 11, 14, 17, 20, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43] |
| selectExpressions: ScalarNullAndCol(col 10:boolean, val 0:boolean)(children: IsNull(col 9:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 9:interval_day_time) -> 10:boolean) -> 11:boolean, IntervalDayTimeColGreaterEqualIntervalDayTimeColumn(col 12:interval_day_time, col 13:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 12:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 13:interval_day_time) -> 14:boolean, IntervalDayTimeColGreaterIntervalDayTimeColumn(col 15:interval_day_time, col 16:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 15:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 16:interval_day_time) -> 17:boolean, IntervalDayTimeColLessEqualIntervalDayTimeColumn(col 18:interval_day_time, col 19:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 18:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 19:interval_day_time) -> 20:boolean, IntervalDayTimeColLessIntervalDayTimeColumn(col 21:interval_day_time, col 22:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 21:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 22:interval_day_time) -> 23:boolean, IntervalDayTimeColNotEqualIntervalDayTimeScalar(col 24:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 24:interval_day_time) -> 25:boolean, IntervalDayTimeColGreaterEqualIntervalDayTimeScalar(col 26:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 26:interval_day_time) -> 27:boolean, IntervalDayTimeColGreaterIntervalDayTimeScalar(col 28:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 28:interval_day_time) -> 29:boolean, IntervalDayTimeColLessEqualIntervalDayTimeScalar(col 30:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 30:interval_day_time) -> 31:boolean, IntervalDayTimeColLessIntervalDayTimeScalar(col 32:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 32:interval_day_time) -> 33:boolean, IntervalDayTimeScalarNotEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 34:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 34:interval_day_time) -> 35:boolean, IntervalDayTimeScalarGreaterEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 36:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 36:interval_day_time) -> 37:boolean, IntervalDayTimeScalarGreaterIntervalDayTimeColumn(val 1 02:03:04.000000000, col 38:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 38:interval_day_time) -> 39:boolean, IntervalDayTimeScalarLessEqualIntervalDayTimeColumn(val 1 02:03:05.000000000, col 40:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 40:interval_day_time) -> 41:boolean, IntervalDayTimeScalarLessIntervalDayTimeColumn(val 1 02:03:05.000000000, col 42:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 42:interval_day_time) -> 43:boolean |
| Statistics: Num rows: 2 Data size: 302 Basic stats: COMPLETE Column stats: COMPLETE |
| Reduce Output Operator |
| key expressions: _col0 (type: string) |
| null sort order: z |
| sort order: + |
| Reduce Sink Vectorization: |
| className: VectorReduceSinkObjectHashOperator |
| native: true |
| nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez] 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: 2 Data size: 302 Basic stats: COMPLETE Column stats: COMPLETE |
| value expressions: _col1 (type: boolean), _col2 (type: boolean), _col3 (type: boolean), _col4 (type: boolean), _col5 (type: boolean), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: boolean), _col10 (type: boolean), _col11 (type: boolean), _col13 (type: boolean), _col14 (type: boolean), _col15 (type: boolean), _col16 (type: boolean), _col17 (type: boolean) |
| Execution mode: vectorized, llap |
| LLAP IO: all inputs |
| Map Vectorization: |
| enabled: true |
| enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true |
| inputFormatFeatureSupport: [DECIMAL_64] |
| featureSupportInUse: [DECIMAL_64] |
| inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat |
| allNative: true |
| usesVectorUDFAdaptor: false |
| vectorized: true |
| Reducer 2 |
| Execution mode: vectorized, llap |
| Reduce Vectorization: |
| enabled: true |
| enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true, hive.execution.engine tez IN [tez] IS true |
| allNative: false |
| usesVectorUDFAdaptor: false |
| vectorized: true |
| Reduce Operator Tree: |
| Select Operator |
| expressions: KEY.reducesinkkey0 (type: string), VALUE._col0 (type: boolean), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col3 (type: boolean), VALUE._col4 (type: boolean), VALUE._col0 (type: boolean), VALUE._col5 (type: boolean), VALUE._col6 (type: boolean), VALUE._col7 (type: boolean), VALUE._col8 (type: boolean), VALUE._col9 (type: boolean), VALUE._col5 (type: boolean), VALUE._col10 (type: boolean), VALUE._col11 (type: boolean), VALUE._col12 (type: boolean), VALUE._col13 (type: boolean), VALUE._col14 (type: boolean), VALUE._col10 (type: boolean) |
| outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [0, 1, 2, 3, 4, 5, 1, 6, 7, 8, 9, 10, 6, 11, 12, 13, 14, 15, 11] |
| Statistics: Num rows: 2 Data size: 326 Basic stats: COMPLETE Column stats: COMPLETE |
| File Output Operator |
| compressed: false |
| File Sink Vectorization: |
| className: VectorFileSinkOperator |
| native: false |
| Statistics: Num rows: 2 Data size: 326 Basic stats: COMPLETE Column stats: COMPLETE |
| table: |
| input format: org.apache.hadoop.mapred.SequenceFileInputFormat |
| output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat |
| serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe |
| |
| Stage: Stage-0 |
| Fetch Operator |
| limit: -1 |
| Processor Tree: |
| ListSink |
| |
| PREHOOK: query: select |
| str3, |
| -- Should all be false |
| interval_day_time(str3) != interval_day_time(str3), |
| interval_day_time(str3) >= interval_day_time(str4), |
| interval_day_time(str3) > interval_day_time(str4), |
| interval_day_time(str4) <= interval_day_time(str3), |
| interval_day_time(str4) < interval_day_time(str3), |
| interval_day_time(str3) != interval_day_time(str3), |
| |
| interval_day_time(str3) != interval '1 2:3:4' day to second, |
| interval_day_time(str3) >= interval '1 2:3:5' day to second, |
| interval_day_time(str3) > interval '1 2:3:5' day to second, |
| interval_day_time(str4) <= interval '1 2:3:4' day to second, |
| interval_day_time(str4) < interval '1 2:3:4' day to second, |
| interval_day_time(str3) != interval '1 2:3:4' day to second, |
| |
| interval '1 2:3:4' day to second != interval_day_time(str3), |
| interval '1 2:3:4' day to second >= interval_day_time(str4), |
| interval '1 2:3:4' day to second > interval_day_time(str4), |
| interval '1 2:3:5' day to second <= interval_day_time(str3), |
| interval '1 2:3:5' day to second < interval_day_time(str3), |
| interval '1 2:3:4' day to second != interval_day_time(str3) |
| from vector_interval_2 order by str3 |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select |
| str3, |
| -- Should all be false |
| interval_day_time(str3) != interval_day_time(str3), |
| interval_day_time(str3) >= interval_day_time(str4), |
| interval_day_time(str3) > interval_day_time(str4), |
| interval_day_time(str4) <= interval_day_time(str3), |
| interval_day_time(str4) < interval_day_time(str3), |
| interval_day_time(str3) != interval_day_time(str3), |
| |
| interval_day_time(str3) != interval '1 2:3:4' day to second, |
| interval_day_time(str3) >= interval '1 2:3:5' day to second, |
| interval_day_time(str3) > interval '1 2:3:5' day to second, |
| interval_day_time(str4) <= interval '1 2:3:4' day to second, |
| interval_day_time(str4) < interval '1 2:3:4' day to second, |
| interval_day_time(str3) != interval '1 2:3:4' day to second, |
| |
| interval '1 2:3:4' day to second != interval_day_time(str3), |
| interval '1 2:3:4' day to second >= interval_day_time(str4), |
| interval '1 2:3:4' day to second > interval_day_time(str4), |
| interval '1 2:3:5' day to second <= interval_day_time(str3), |
| interval '1 2:3:5' day to second < interval_day_time(str3), |
| interval '1 2:3:4' day to second != interval_day_time(str3) |
| from vector_interval_2 order by str3 |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 1 2:3:4 false false false false false false false false false false false false false false false false false false |
| NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL |
| PREHOOK: query: explain vectorization expression |
| select ts from vector_interval_2 |
| where |
| interval_year_month(str1) = interval_year_month(str1) |
| and interval_year_month(str1) != interval_year_month(str2) |
| and interval_year_month(str1) <= interval_year_month(str2) |
| and interval_year_month(str1) < interval_year_month(str2) |
| and interval_year_month(str2) >= interval_year_month(str1) |
| and interval_year_month(str2) > interval_year_month(str1) |
| |
| and interval_year_month(str1) = interval '1-2' year to month |
| and interval_year_month(str1) != interval '1-3' year to month |
| and interval_year_month(str1) <= interval '1-3' year to month |
| and interval_year_month(str1) < interval '1-3' year to month |
| and interval_year_month(str2) >= interval '1-2' year to month |
| and interval_year_month(str2) > interval '1-2' year to month |
| |
| and interval '1-2' year to month = interval_year_month(str1) |
| and interval '1-2' year to month != interval_year_month(str2) |
| and interval '1-2' year to month <= interval_year_month(str2) |
| and interval '1-2' year to month < interval_year_month(str2) |
| and interval '1-3' year to month >= interval_year_month(str1) |
| and interval '1-3' year to month > interval_year_month(str1) |
| order by ts |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: explain vectorization expression |
| select ts from vector_interval_2 |
| where |
| interval_year_month(str1) = interval_year_month(str1) |
| and interval_year_month(str1) != interval_year_month(str2) |
| and interval_year_month(str1) <= interval_year_month(str2) |
| and interval_year_month(str1) < interval_year_month(str2) |
| and interval_year_month(str2) >= interval_year_month(str1) |
| and interval_year_month(str2) > interval_year_month(str1) |
| |
| and interval_year_month(str1) = interval '1-2' year to month |
| and interval_year_month(str1) != interval '1-3' year to month |
| and interval_year_month(str1) <= interval '1-3' year to month |
| and interval_year_month(str1) < interval '1-3' year to month |
| and interval_year_month(str2) >= interval '1-2' year to month |
| and interval_year_month(str2) > interval '1-2' year to month |
| |
| and interval '1-2' year to month = interval_year_month(str1) |
| and interval '1-2' year to month != interval_year_month(str2) |
| and interval '1-2' year to month <= interval_year_month(str2) |
| and interval '1-2' year to month < interval_year_month(str2) |
| and interval '1-3' year to month >= interval_year_month(str1) |
| and interval '1-3' year to month > interval_year_month(str1) |
| order by ts |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 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 |
| Tez |
| #### A masked pattern was here #### |
| Edges: |
| Reducer 2 <- Map 1 (SIMPLE_EDGE) |
| #### A masked pattern was here #### |
| Vertices: |
| Map 1 |
| Map Operator Tree: |
| TableScan |
| alias: vector_interval_2 |
| filterExpr: ((CAST( str2 AS INTERVAL YEAR TO MONTH) >= INTERVAL'1-2') and (CAST( str2 AS INTERVAL YEAR TO MONTH) > INTERVAL'1-2') and (CAST( str1 AS INTERVAL YEAR TO MONTH) <= CAST( str2 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) < CAST( str2 AS INTERVAL YEAR TO MONTH)) and (CAST( str2 AS INTERVAL YEAR TO MONTH) >= CAST( str1 AS INTERVAL YEAR TO MONTH)) and (CAST( str2 AS INTERVAL YEAR TO MONTH) > CAST( str1 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) = INTERVAL'1-2') and (CAST( str1 AS INTERVAL YEAR TO MONTH) <> CAST( str2 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-2' <> CAST( str2 AS INTERVAL YEAR TO MONTH))) (type: boolean) |
| Statistics: Num rows: 2 Data size: 428 Basic stats: COMPLETE Column stats: COMPLETE |
| TableScan Vectorization: |
| native: true |
| Filter Operator |
| Filter Vectorization: |
| className: VectorFilterOperator |
| native: true |
| predicateExpression: FilterExprAndExpr(children: FilterIntervalYearMonthColGreaterEqualIntervalYearMonthScalar(col 8:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 8:interval_year_month), FilterIntervalYearMonthColGreaterIntervalYearMonthScalar(col 9:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 9:interval_year_month), FilterLongColLessEqualLongColumn(col 10:interval_year_month, col 11:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 10:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 11:interval_year_month), FilterLongColLessLongColumn(col 12:interval_year_month, col 13:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 12:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 13:interval_year_month), FilterLongColGreaterEqualLongColumn(col 14:interval_year_month, col 15:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 14:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 15:interval_year_month), FilterLongColGreaterLongColumn(col 16:interval_year_month, col 17:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 16:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 17:interval_year_month), FilterIntervalYearMonthColEqualIntervalYearMonthScalar(col 18:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 2:string) -> 18:interval_year_month), FilterLongColNotEqualLongColumn(col 19:interval_year_month, col 20:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 19:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 20:interval_year_month), FilterIntervalYearMonthScalarNotEqualIntervalYearMonthColumn(val 14, col 21:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 21:interval_year_month)) |
| predicate: ((CAST( str2 AS INTERVAL YEAR TO MONTH) >= INTERVAL'1-2') and (CAST( str2 AS INTERVAL YEAR TO MONTH) > INTERVAL'1-2') and (CAST( str1 AS INTERVAL YEAR TO MONTH) <= CAST( str2 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) < CAST( str2 AS INTERVAL YEAR TO MONTH)) and (CAST( str2 AS INTERVAL YEAR TO MONTH) >= CAST( str1 AS INTERVAL YEAR TO MONTH)) and (CAST( str2 AS INTERVAL YEAR TO MONTH) > CAST( str1 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) = INTERVAL'1-2') and (CAST( str1 AS INTERVAL YEAR TO MONTH) <> CAST( str2 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-2' <> CAST( str2 AS INTERVAL YEAR TO MONTH))) (type: boolean) |
| Statistics: Num rows: 1 Data size: 214 Basic stats: COMPLETE Column stats: COMPLETE |
| Select Operator |
| expressions: ts (type: timestamp) |
| outputColumnNames: _col0 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [0] |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| Reduce Output Operator |
| key expressions: _col0 (type: timestamp) |
| null sort order: z |
| sort order: + |
| Reduce Sink Vectorization: |
| className: VectorReduceSinkObjectHashOperator |
| native: true |
| nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez] 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: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| Execution mode: vectorized, llap |
| LLAP IO: all inputs |
| Map Vectorization: |
| enabled: true |
| enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true |
| inputFormatFeatureSupport: [DECIMAL_64] |
| featureSupportInUse: [DECIMAL_64] |
| inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat |
| allNative: true |
| usesVectorUDFAdaptor: false |
| vectorized: true |
| Reducer 2 |
| Execution mode: vectorized, llap |
| Reduce Vectorization: |
| enabled: true |
| enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true, hive.execution.engine tez IN [tez] IS true |
| allNative: false |
| usesVectorUDFAdaptor: false |
| vectorized: true |
| Reduce Operator Tree: |
| Select Operator |
| expressions: KEY.reducesinkkey0 (type: timestamp) |
| outputColumnNames: _col0 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [0] |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| File Output Operator |
| compressed: false |
| File Sink Vectorization: |
| className: VectorFileSinkOperator |
| native: false |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| table: |
| input format: org.apache.hadoop.mapred.SequenceFileInputFormat |
| output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat |
| serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe |
| |
| Stage: Stage-0 |
| Fetch Operator |
| limit: -1 |
| Processor Tree: |
| ListSink |
| |
| PREHOOK: query: select ts from vector_interval_2 |
| where |
| interval_year_month(str1) = interval_year_month(str1) |
| and interval_year_month(str1) != interval_year_month(str2) |
| and interval_year_month(str1) <= interval_year_month(str2) |
| and interval_year_month(str1) < interval_year_month(str2) |
| and interval_year_month(str2) >= interval_year_month(str1) |
| and interval_year_month(str2) > interval_year_month(str1) |
| |
| and interval_year_month(str1) = interval '1-2' year to month |
| and interval_year_month(str1) != interval '1-3' year to month |
| and interval_year_month(str1) <= interval '1-3' year to month |
| and interval_year_month(str1) < interval '1-3' year to month |
| and interval_year_month(str2) >= interval '1-2' year to month |
| and interval_year_month(str2) > interval '1-2' year to month |
| |
| and interval '1-2' year to month = interval_year_month(str1) |
| and interval '1-2' year to month != interval_year_month(str2) |
| and interval '1-2' year to month <= interval_year_month(str2) |
| and interval '1-2' year to month < interval_year_month(str2) |
| and interval '1-3' year to month >= interval_year_month(str1) |
| and interval '1-3' year to month > interval_year_month(str1) |
| order by ts |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select ts from vector_interval_2 |
| where |
| interval_year_month(str1) = interval_year_month(str1) |
| and interval_year_month(str1) != interval_year_month(str2) |
| and interval_year_month(str1) <= interval_year_month(str2) |
| and interval_year_month(str1) < interval_year_month(str2) |
| and interval_year_month(str2) >= interval_year_month(str1) |
| and interval_year_month(str2) > interval_year_month(str1) |
| |
| and interval_year_month(str1) = interval '1-2' year to month |
| and interval_year_month(str1) != interval '1-3' year to month |
| and interval_year_month(str1) <= interval '1-3' year to month |
| and interval_year_month(str1) < interval '1-3' year to month |
| and interval_year_month(str2) >= interval '1-2' year to month |
| and interval_year_month(str2) > interval '1-2' year to month |
| |
| and interval '1-2' year to month = interval_year_month(str1) |
| and interval '1-2' year to month != interval_year_month(str2) |
| and interval '1-2' year to month <= interval_year_month(str2) |
| and interval '1-2' year to month < interval_year_month(str2) |
| and interval '1-3' year to month >= interval_year_month(str1) |
| and interval '1-3' year to month > interval_year_month(str1) |
| order by ts |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 2001-01-01 01:02:03 |
| PREHOOK: query: explain vectorization expression |
| select ts from vector_interval_2 |
| where |
| interval_day_time(str3) = interval_day_time(str3) |
| and interval_day_time(str3) != interval_day_time(str4) |
| and interval_day_time(str3) <= interval_day_time(str4) |
| and interval_day_time(str3) < interval_day_time(str4) |
| and interval_day_time(str4) >= interval_day_time(str3) |
| and interval_day_time(str4) > interval_day_time(str3) |
| |
| and interval_day_time(str3) = interval '1 2:3:4' day to second |
| and interval_day_time(str3) != interval '1 2:3:5' day to second |
| and interval_day_time(str3) <= interval '1 2:3:5' day to second |
| and interval_day_time(str3) < interval '1 2:3:5' day to second |
| and interval_day_time(str4) >= interval '1 2:3:4' day to second |
| and interval_day_time(str4) > interval '1 2:3:4' day to second |
| |
| and interval '1 2:3:4' day to second = interval_day_time(str3) |
| and interval '1 2:3:4' day to second != interval_day_time(str4) |
| and interval '1 2:3:4' day to second <= interval_day_time(str4) |
| and interval '1 2:3:4' day to second < interval_day_time(str4) |
| and interval '1 2:3:5' day to second >= interval_day_time(str3) |
| and interval '1 2:3:5' day to second > interval_day_time(str3) |
| order by ts |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: explain vectorization expression |
| select ts from vector_interval_2 |
| where |
| interval_day_time(str3) = interval_day_time(str3) |
| and interval_day_time(str3) != interval_day_time(str4) |
| and interval_day_time(str3) <= interval_day_time(str4) |
| and interval_day_time(str3) < interval_day_time(str4) |
| and interval_day_time(str4) >= interval_day_time(str3) |
| and interval_day_time(str4) > interval_day_time(str3) |
| |
| and interval_day_time(str3) = interval '1 2:3:4' day to second |
| and interval_day_time(str3) != interval '1 2:3:5' day to second |
| and interval_day_time(str3) <= interval '1 2:3:5' day to second |
| and interval_day_time(str3) < interval '1 2:3:5' day to second |
| and interval_day_time(str4) >= interval '1 2:3:4' day to second |
| and interval_day_time(str4) > interval '1 2:3:4' day to second |
| |
| and interval '1 2:3:4' day to second = interval_day_time(str3) |
| and interval '1 2:3:4' day to second != interval_day_time(str4) |
| and interval '1 2:3:4' day to second <= interval_day_time(str4) |
| and interval '1 2:3:4' day to second < interval_day_time(str4) |
| and interval '1 2:3:5' day to second >= interval_day_time(str3) |
| and interval '1 2:3:5' day to second > interval_day_time(str3) |
| order by ts |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 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 |
| Tez |
| #### A masked pattern was here #### |
| Edges: |
| Reducer 2 <- Map 1 (SIMPLE_EDGE) |
| #### A masked pattern was here #### |
| Vertices: |
| Map 1 |
| Map Operator Tree: |
| TableScan |
| alias: vector_interval_2 |
| filterExpr: ((CAST( str4 AS INTERVAL DAY TO SECOND) >= INTERVAL'1 02:03:04.000000000') and (CAST( str4 AS INTERVAL DAY TO SECOND) > INTERVAL'1 02:03:04.000000000') and (CAST( str3 AS INTERVAL DAY TO SECOND) <= CAST( str4 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) < CAST( str4 AS INTERVAL DAY TO SECOND)) and (CAST( str4 AS INTERVAL DAY TO SECOND) >= CAST( str3 AS INTERVAL DAY TO SECOND)) and (CAST( str4 AS INTERVAL DAY TO SECOND) > CAST( str3 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) = INTERVAL'1 02:03:04.000000000') and (CAST( str3 AS INTERVAL DAY TO SECOND) <> CAST( str4 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:04.000000000' <> CAST( str4 AS INTERVAL DAY TO SECOND))) (type: boolean) |
| Statistics: Num rows: 2 Data size: 444 Basic stats: COMPLETE Column stats: COMPLETE |
| TableScan Vectorization: |
| native: true |
| Filter Operator |
| Filter Vectorization: |
| className: VectorFilterOperator |
| native: true |
| predicateExpression: FilterExprAndExpr(children: FilterIntervalDayTimeColGreaterEqualIntervalDayTimeScalar(col 8:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 8:interval_day_time), FilterIntervalDayTimeColGreaterIntervalDayTimeScalar(col 9:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 9:interval_day_time), FilterIntervalDayTimeColLessEqualIntervalDayTimeColumn(col 10:interval_day_time, col 11:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 10:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 11:interval_day_time), FilterIntervalDayTimeColLessIntervalDayTimeColumn(col 12:interval_day_time, col 13:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 12:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 13:interval_day_time), FilterIntervalDayTimeColGreaterEqualIntervalDayTimeColumn(col 14:interval_day_time, col 15:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 14:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 15:interval_day_time), FilterIntervalDayTimeColGreaterIntervalDayTimeColumn(col 16:interval_day_time, col 17:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 16:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 17:interval_day_time), FilterIntervalDayTimeColEqualIntervalDayTimeScalar(col 18:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 18:interval_day_time), FilterIntervalDayTimeColNotEqualIntervalDayTimeColumn(col 19:interval_day_time, col 20:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 19:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 20:interval_day_time), FilterIntervalDayTimeScalarNotEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 21:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 21:interval_day_time)) |
| predicate: ((CAST( str4 AS INTERVAL DAY TO SECOND) >= INTERVAL'1 02:03:04.000000000') and (CAST( str4 AS INTERVAL DAY TO SECOND) > INTERVAL'1 02:03:04.000000000') and (CAST( str3 AS INTERVAL DAY TO SECOND) <= CAST( str4 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) < CAST( str4 AS INTERVAL DAY TO SECOND)) and (CAST( str4 AS INTERVAL DAY TO SECOND) >= CAST( str3 AS INTERVAL DAY TO SECOND)) and (CAST( str4 AS INTERVAL DAY TO SECOND) > CAST( str3 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) = INTERVAL'1 02:03:04.000000000') and (CAST( str3 AS INTERVAL DAY TO SECOND) <> CAST( str4 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:04.000000000' <> CAST( str4 AS INTERVAL DAY TO SECOND))) (type: boolean) |
| Statistics: Num rows: 1 Data size: 222 Basic stats: COMPLETE Column stats: COMPLETE |
| Select Operator |
| expressions: ts (type: timestamp) |
| outputColumnNames: _col0 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [0] |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| Reduce Output Operator |
| key expressions: _col0 (type: timestamp) |
| null sort order: z |
| sort order: + |
| Reduce Sink Vectorization: |
| className: VectorReduceSinkObjectHashOperator |
| native: true |
| nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez] 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: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| Execution mode: vectorized, llap |
| LLAP IO: all inputs |
| Map Vectorization: |
| enabled: true |
| enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true |
| inputFormatFeatureSupport: [DECIMAL_64] |
| featureSupportInUse: [DECIMAL_64] |
| inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat |
| allNative: true |
| usesVectorUDFAdaptor: false |
| vectorized: true |
| Reducer 2 |
| Execution mode: vectorized, llap |
| Reduce Vectorization: |
| enabled: true |
| enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true, hive.execution.engine tez IN [tez] IS true |
| allNative: false |
| usesVectorUDFAdaptor: false |
| vectorized: true |
| Reduce Operator Tree: |
| Select Operator |
| expressions: KEY.reducesinkkey0 (type: timestamp) |
| outputColumnNames: _col0 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [0] |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| File Output Operator |
| compressed: false |
| File Sink Vectorization: |
| className: VectorFileSinkOperator |
| native: false |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| table: |
| input format: org.apache.hadoop.mapred.SequenceFileInputFormat |
| output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat |
| serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe |
| |
| Stage: Stage-0 |
| Fetch Operator |
| limit: -1 |
| Processor Tree: |
| ListSink |
| |
| PREHOOK: query: select ts from vector_interval_2 |
| where |
| interval_day_time(str3) = interval_day_time(str3) |
| and interval_day_time(str3) != interval_day_time(str4) |
| and interval_day_time(str3) <= interval_day_time(str4) |
| and interval_day_time(str3) < interval_day_time(str4) |
| and interval_day_time(str4) >= interval_day_time(str3) |
| and interval_day_time(str4) > interval_day_time(str3) |
| |
| and interval_day_time(str3) = interval '1 2:3:4' day to second |
| and interval_day_time(str3) != interval '1 2:3:5' day to second |
| and interval_day_time(str3) <= interval '1 2:3:5' day to second |
| and interval_day_time(str3) < interval '1 2:3:5' day to second |
| and interval_day_time(str4) >= interval '1 2:3:4' day to second |
| and interval_day_time(str4) > interval '1 2:3:4' day to second |
| |
| and interval '1 2:3:4' day to second = interval_day_time(str3) |
| and interval '1 2:3:4' day to second != interval_day_time(str4) |
| and interval '1 2:3:4' day to second <= interval_day_time(str4) |
| and interval '1 2:3:4' day to second < interval_day_time(str4) |
| and interval '1 2:3:5' day to second >= interval_day_time(str3) |
| and interval '1 2:3:5' day to second > interval_day_time(str3) |
| order by ts |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select ts from vector_interval_2 |
| where |
| interval_day_time(str3) = interval_day_time(str3) |
| and interval_day_time(str3) != interval_day_time(str4) |
| and interval_day_time(str3) <= interval_day_time(str4) |
| and interval_day_time(str3) < interval_day_time(str4) |
| and interval_day_time(str4) >= interval_day_time(str3) |
| and interval_day_time(str4) > interval_day_time(str3) |
| |
| and interval_day_time(str3) = interval '1 2:3:4' day to second |
| and interval_day_time(str3) != interval '1 2:3:5' day to second |
| and interval_day_time(str3) <= interval '1 2:3:5' day to second |
| and interval_day_time(str3) < interval '1 2:3:5' day to second |
| and interval_day_time(str4) >= interval '1 2:3:4' day to second |
| and interval_day_time(str4) > interval '1 2:3:4' day to second |
| |
| and interval '1 2:3:4' day to second = interval_day_time(str3) |
| and interval '1 2:3:4' day to second != interval_day_time(str4) |
| and interval '1 2:3:4' day to second <= interval_day_time(str4) |
| and interval '1 2:3:4' day to second < interval_day_time(str4) |
| and interval '1 2:3:5' day to second >= interval_day_time(str3) |
| and interval '1 2:3:5' day to second > interval_day_time(str3) |
| order by ts |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 2001-01-01 01:02:03 |
| PREHOOK: query: explain vectorization expression |
| select ts from vector_interval_2 |
| where |
| date '2002-03-01' = dt + interval_year_month(str1) |
| and date '2002-03-01' <= dt + interval_year_month(str1) |
| and date '2002-03-01' >= dt + interval_year_month(str1) |
| and dt + interval_year_month(str1) = date '2002-03-01' |
| and dt + interval_year_month(str1) <= date '2002-03-01' |
| and dt + interval_year_month(str1) >= date '2002-03-01' |
| and dt != dt + interval_year_month(str1) |
| |
| and date '2002-03-01' = dt + interval '1-2' year to month |
| and date '2002-03-01' <= dt + interval '1-2' year to month |
| and date '2002-03-01' >= dt + interval '1-2' year to month |
| and dt + interval '1-2' year to month = date '2002-03-01' |
| and dt + interval '1-2' year to month <= date '2002-03-01' |
| and dt + interval '1-2' year to month >= date '2002-03-01' |
| and dt != dt + interval '1-2' year to month |
| order by ts |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: explain vectorization expression |
| select ts from vector_interval_2 |
| where |
| date '2002-03-01' = dt + interval_year_month(str1) |
| and date '2002-03-01' <= dt + interval_year_month(str1) |
| and date '2002-03-01' >= dt + interval_year_month(str1) |
| and dt + interval_year_month(str1) = date '2002-03-01' |
| and dt + interval_year_month(str1) <= date '2002-03-01' |
| and dt + interval_year_month(str1) >= date '2002-03-01' |
| and dt != dt + interval_year_month(str1) |
| |
| and date '2002-03-01' = dt + interval '1-2' year to month |
| and date '2002-03-01' <= dt + interval '1-2' year to month |
| and date '2002-03-01' >= dt + interval '1-2' year to month |
| and dt + interval '1-2' year to month = date '2002-03-01' |
| and dt + interval '1-2' year to month <= date '2002-03-01' |
| and dt + interval '1-2' year to month >= date '2002-03-01' |
| and dt != dt + interval '1-2' year to month |
| order by ts |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 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 |
| Tez |
| #### A masked pattern was here #### |
| Edges: |
| Reducer 2 <- Map 1 (SIMPLE_EDGE) |
| #### A masked pattern was here #### |
| Vertices: |
| Map 1 |
| Map Operator Tree: |
| TableScan |
| alias: vector_interval_2 |
| filterExpr: (CAST( str1 AS INTERVAL YEAR TO MONTH) is not null and ((dt + CAST( str1 AS INTERVAL YEAR TO MONTH)) = DATE'2002-03-01') and ((dt + INTERVAL'1-2') = DATE'2002-03-01') and (dt <> (dt + CAST( str1 AS INTERVAL YEAR TO MONTH))) and (dt <> (dt + INTERVAL'1-2'))) (type: boolean) |
| Statistics: Num rows: 2 Data size: 366 Basic stats: COMPLETE Column stats: COMPLETE |
| TableScan Vectorization: |
| native: true |
| Filter Operator |
| Filter Vectorization: |
| className: VectorFilterOperator |
| native: true |
| predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 8:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 8:interval_year_month), FilterDateColEqualDateScalar(col 10:date, val 11747)(children: DateColAddIntervalYearMonthColumn(col 1:date, col 9:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 9:interval_year_month) -> 10:date), FilterDateColEqualDateScalar(col 11:date, val 11747)(children: DateColAddIntervalYearMonthScalar(col 1:date, val 1-2) -> 11:date), FilterLongColNotEqualLongColumn(col 1:date, col 13:date)(children: DateColAddIntervalYearMonthColumn(col 1:date, col 12:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 12:interval_year_month) -> 13:date), FilterLongColNotEqualLongColumn(col 1:date, col 14:date)(children: DateColAddIntervalYearMonthScalar(col 1:date, val 1-2) -> 14:date)) |
| predicate: (CAST( str1 AS INTERVAL YEAR TO MONTH) is not null and ((dt + CAST( str1 AS INTERVAL YEAR TO MONTH)) = DATE'2002-03-01') and ((dt + INTERVAL'1-2') = DATE'2002-03-01') and (dt <> (dt + CAST( str1 AS INTERVAL YEAR TO MONTH))) and (dt <> (dt + INTERVAL'1-2'))) (type: boolean) |
| Statistics: Num rows: 1 Data size: 183 Basic stats: COMPLETE Column stats: COMPLETE |
| Select Operator |
| expressions: ts (type: timestamp) |
| outputColumnNames: _col0 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [0] |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| Reduce Output Operator |
| key expressions: _col0 (type: timestamp) |
| null sort order: z |
| sort order: + |
| Reduce Sink Vectorization: |
| className: VectorReduceSinkObjectHashOperator |
| native: true |
| nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez] 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: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| Execution mode: vectorized, llap |
| LLAP IO: all inputs |
| Map Vectorization: |
| enabled: true |
| enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true |
| inputFormatFeatureSupport: [DECIMAL_64] |
| featureSupportInUse: [DECIMAL_64] |
| inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat |
| allNative: true |
| usesVectorUDFAdaptor: false |
| vectorized: true |
| Reducer 2 |
| Execution mode: vectorized, llap |
| Reduce Vectorization: |
| enabled: true |
| enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true, hive.execution.engine tez IN [tez] IS true |
| allNative: false |
| usesVectorUDFAdaptor: false |
| vectorized: true |
| Reduce Operator Tree: |
| Select Operator |
| expressions: KEY.reducesinkkey0 (type: timestamp) |
| outputColumnNames: _col0 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [0] |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| File Output Operator |
| compressed: false |
| File Sink Vectorization: |
| className: VectorFileSinkOperator |
| native: false |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| table: |
| input format: org.apache.hadoop.mapred.SequenceFileInputFormat |
| output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat |
| serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe |
| |
| Stage: Stage-0 |
| Fetch Operator |
| limit: -1 |
| Processor Tree: |
| ListSink |
| |
| PREHOOK: query: select ts from vector_interval_2 |
| where |
| date '2002-03-01' = dt + interval_year_month(str1) |
| and date '2002-03-01' <= dt + interval_year_month(str1) |
| and date '2002-03-01' >= dt + interval_year_month(str1) |
| and dt + interval_year_month(str1) = date '2002-03-01' |
| and dt + interval_year_month(str1) <= date '2002-03-01' |
| and dt + interval_year_month(str1) >= date '2002-03-01' |
| and dt != dt + interval_year_month(str1) |
| |
| and date '2002-03-01' = dt + interval '1-2' year to month |
| and date '2002-03-01' <= dt + interval '1-2' year to month |
| and date '2002-03-01' >= dt + interval '1-2' year to month |
| and dt + interval '1-2' year to month = date '2002-03-01' |
| and dt + interval '1-2' year to month <= date '2002-03-01' |
| and dt + interval '1-2' year to month >= date '2002-03-01' |
| and dt != dt + interval '1-2' year to month |
| order by ts |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select ts from vector_interval_2 |
| where |
| date '2002-03-01' = dt + interval_year_month(str1) |
| and date '2002-03-01' <= dt + interval_year_month(str1) |
| and date '2002-03-01' >= dt + interval_year_month(str1) |
| and dt + interval_year_month(str1) = date '2002-03-01' |
| and dt + interval_year_month(str1) <= date '2002-03-01' |
| and dt + interval_year_month(str1) >= date '2002-03-01' |
| and dt != dt + interval_year_month(str1) |
| |
| and date '2002-03-01' = dt + interval '1-2' year to month |
| and date '2002-03-01' <= dt + interval '1-2' year to month |
| and date '2002-03-01' >= dt + interval '1-2' year to month |
| and dt + interval '1-2' year to month = date '2002-03-01' |
| and dt + interval '1-2' year to month <= date '2002-03-01' |
| and dt + interval '1-2' year to month >= date '2002-03-01' |
| and dt != dt + interval '1-2' year to month |
| order by ts |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 2001-01-01 01:02:03 |
| PREHOOK: query: explain vectorization expression |
| select ts from vector_interval_2 |
| where |
| timestamp '2002-03-01 01:02:03' = ts + interval '1-2' year to month |
| and timestamp '2002-03-01 01:02:03' <= ts + interval '1-2' year to month |
| and timestamp '2002-03-01 01:02:03' >= ts + interval '1-2' year to month |
| and timestamp '2002-04-01 01:02:03' != ts + interval '1-2' year to month |
| and timestamp '2002-02-01 01:02:03' < ts + interval '1-2' year to month |
| and timestamp '2002-04-01 01:02:03' > ts + interval '1-2' year to month |
| |
| and ts + interval '1-2' year to month = timestamp '2002-03-01 01:02:03' |
| and ts + interval '1-2' year to month >= timestamp '2002-03-01 01:02:03' |
| and ts + interval '1-2' year to month <= timestamp '2002-03-01 01:02:03' |
| and ts + interval '1-2' year to month != timestamp '2002-04-01 01:02:03' |
| and ts + interval '1-2' year to month > timestamp '2002-02-01 01:02:03' |
| and ts + interval '1-2' year to month < timestamp '2002-04-01 01:02:03' |
| |
| and ts = ts + interval '0' year |
| and ts != ts + interval '1' year |
| and ts <= ts + interval '1' year |
| and ts < ts + interval '1' year |
| and ts >= ts - interval '1' year |
| and ts > ts - interval '1' year |
| order by ts |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: explain vectorization expression |
| select ts from vector_interval_2 |
| where |
| timestamp '2002-03-01 01:02:03' = ts + interval '1-2' year to month |
| and timestamp '2002-03-01 01:02:03' <= ts + interval '1-2' year to month |
| and timestamp '2002-03-01 01:02:03' >= ts + interval '1-2' year to month |
| and timestamp '2002-04-01 01:02:03' != ts + interval '1-2' year to month |
| and timestamp '2002-02-01 01:02:03' < ts + interval '1-2' year to month |
| and timestamp '2002-04-01 01:02:03' > ts + interval '1-2' year to month |
| |
| and ts + interval '1-2' year to month = timestamp '2002-03-01 01:02:03' |
| and ts + interval '1-2' year to month >= timestamp '2002-03-01 01:02:03' |
| and ts + interval '1-2' year to month <= timestamp '2002-03-01 01:02:03' |
| and ts + interval '1-2' year to month != timestamp '2002-04-01 01:02:03' |
| and ts + interval '1-2' year to month > timestamp '2002-02-01 01:02:03' |
| and ts + interval '1-2' year to month < timestamp '2002-04-01 01:02:03' |
| |
| and ts = ts + interval '0' year |
| and ts != ts + interval '1' year |
| and ts <= ts + interval '1' year |
| and ts < ts + interval '1' year |
| and ts >= ts - interval '1' year |
| and ts > ts - interval '1' year |
| order by ts |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 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 |
| Tez |
| #### A masked pattern was here #### |
| Edges: |
| Reducer 2 <- Map 1 (SIMPLE_EDGE) |
| #### A masked pattern was here #### |
| Vertices: |
| Map 1 |
| Map Operator Tree: |
| TableScan |
| alias: vector_interval_2 |
| filterExpr: ((ts < (ts + INTERVAL'1-0')) and (ts > (ts - INTERVAL'1-0')) and ((ts + INTERVAL'1-2') = TIMESTAMP'2002-03-01 01:02:03') and (ts = (ts + INTERVAL'0-0')) and (ts <> (ts + INTERVAL'1-0')) and ts BETWEEN (ts - INTERVAL'1-0') AND (ts + INTERVAL'1-0')) (type: boolean) |
| Statistics: Num rows: 2 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE |
| TableScan Vectorization: |
| native: true |
| Filter Operator |
| Filter Vectorization: |
| className: VectorFilterOperator |
| native: true |
| predicateExpression: FilterExprAndExpr(children: FilterTimestampColLessTimestampColumn(col 0:timestamp, col 8:timestamp)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-0) -> 8:timestamp), FilterTimestampColGreaterTimestampColumn(col 0:timestamp, col 9:timestamp)(children: TimestampColSubtractIntervalYearMonthScalar(col 0:timestamp, val 1-0) -> 9:timestamp), FilterTimestampColEqualTimestampScalar(col 10:timestamp, val 2002-03-01 01:02:03)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 10:timestamp), FilterTimestampColEqualTimestampColumn(col 0:timestamp, col 11:timestamp)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 0-0) -> 11:timestamp), FilterTimestampColNotEqualTimestampColumn(col 0:timestamp, col 12:timestamp)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-0) -> 12:timestamp), SelectColumnIsTrue(col 15:boolean)(children: VectorUDFAdaptor(ts BETWEEN (ts - INTERVAL'1-0') AND (ts + INTERVAL'1-0'))(children: TimestampColSubtractIntervalYearMonthScalar(col 0:timestamp, val 1-0) -> 13:timestamp, TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-0) -> 14:timestamp) -> 15:boolean)) |
| predicate: ((ts < (ts + INTERVAL'1-0')) and (ts > (ts - INTERVAL'1-0')) and ((ts + INTERVAL'1-2') = TIMESTAMP'2002-03-01 01:02:03') and (ts = (ts + INTERVAL'0-0')) and (ts <> (ts + INTERVAL'1-0')) and ts BETWEEN (ts - INTERVAL'1-0') AND (ts + INTERVAL'1-0')) (type: boolean) |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| Select Operator |
| expressions: ts (type: timestamp) |
| outputColumnNames: _col0 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [0] |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| Reduce Output Operator |
| key expressions: _col0 (type: timestamp) |
| null sort order: z |
| sort order: + |
| Reduce Sink Vectorization: |
| className: VectorReduceSinkObjectHashOperator |
| native: true |
| nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez] 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: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| Execution mode: vectorized, llap |
| LLAP IO: all inputs |
| Map Vectorization: |
| enabled: true |
| enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true |
| inputFormatFeatureSupport: [DECIMAL_64] |
| featureSupportInUse: [DECIMAL_64] |
| inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat |
| allNative: true |
| usesVectorUDFAdaptor: true |
| vectorized: true |
| Reducer 2 |
| Execution mode: vectorized, llap |
| Reduce Vectorization: |
| enabled: true |
| enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true, hive.execution.engine tez IN [tez] IS true |
| allNative: false |
| usesVectorUDFAdaptor: false |
| vectorized: true |
| Reduce Operator Tree: |
| Select Operator |
| expressions: KEY.reducesinkkey0 (type: timestamp) |
| outputColumnNames: _col0 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [0] |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| File Output Operator |
| compressed: false |
| File Sink Vectorization: |
| className: VectorFileSinkOperator |
| native: false |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| table: |
| input format: org.apache.hadoop.mapred.SequenceFileInputFormat |
| output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat |
| serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe |
| |
| Stage: Stage-0 |
| Fetch Operator |
| limit: -1 |
| Processor Tree: |
| ListSink |
| |
| PREHOOK: query: select ts from vector_interval_2 |
| where |
| timestamp '2002-03-01 01:02:03' = ts + interval '1-2' year to month |
| and timestamp '2002-03-01 01:02:03' <= ts + interval '1-2' year to month |
| and timestamp '2002-03-01 01:02:03' >= ts + interval '1-2' year to month |
| and timestamp '2002-04-01 01:02:03' != ts + interval '1-2' year to month |
| and timestamp '2002-02-01 01:02:03' < ts + interval '1-2' year to month |
| and timestamp '2002-04-01 01:02:03' > ts + interval '1-2' year to month |
| |
| and ts + interval '1-2' year to month = timestamp '2002-03-01 01:02:03' |
| and ts + interval '1-2' year to month >= timestamp '2002-03-01 01:02:03' |
| and ts + interval '1-2' year to month <= timestamp '2002-03-01 01:02:03' |
| and ts + interval '1-2' year to month != timestamp '2002-04-01 01:02:03' |
| and ts + interval '1-2' year to month > timestamp '2002-02-01 01:02:03' |
| and ts + interval '1-2' year to month < timestamp '2002-04-01 01:02:03' |
| |
| and ts = ts + interval '0' year |
| and ts != ts + interval '1' year |
| and ts <= ts + interval '1' year |
| and ts < ts + interval '1' year |
| and ts >= ts - interval '1' year |
| and ts > ts - interval '1' year |
| order by ts |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select ts from vector_interval_2 |
| where |
| timestamp '2002-03-01 01:02:03' = ts + interval '1-2' year to month |
| and timestamp '2002-03-01 01:02:03' <= ts + interval '1-2' year to month |
| and timestamp '2002-03-01 01:02:03' >= ts + interval '1-2' year to month |
| and timestamp '2002-04-01 01:02:03' != ts + interval '1-2' year to month |
| and timestamp '2002-02-01 01:02:03' < ts + interval '1-2' year to month |
| and timestamp '2002-04-01 01:02:03' > ts + interval '1-2' year to month |
| |
| and ts + interval '1-2' year to month = timestamp '2002-03-01 01:02:03' |
| and ts + interval '1-2' year to month >= timestamp '2002-03-01 01:02:03' |
| and ts + interval '1-2' year to month <= timestamp '2002-03-01 01:02:03' |
| and ts + interval '1-2' year to month != timestamp '2002-04-01 01:02:03' |
| and ts + interval '1-2' year to month > timestamp '2002-02-01 01:02:03' |
| and ts + interval '1-2' year to month < timestamp '2002-04-01 01:02:03' |
| |
| and ts = ts + interval '0' year |
| and ts != ts + interval '1' year |
| and ts <= ts + interval '1' year |
| and ts < ts + interval '1' year |
| and ts >= ts - interval '1' year |
| and ts > ts - interval '1' year |
| order by ts |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 2001-01-01 01:02:03 |
| PREHOOK: query: explain vectorization expression |
| select ts from vector_interval_2 |
| where |
| timestamp '2001-01-01 01:02:03' = dt + interval '0 1:2:3' day to second |
| and timestamp '2001-01-01 01:02:03' != dt + interval '0 1:2:4' day to second |
| and timestamp '2001-01-01 01:02:03' <= dt + interval '0 1:2:3' day to second |
| and timestamp '2001-01-01 01:02:03' < dt + interval '0 1:2:4' day to second |
| and timestamp '2001-01-01 01:02:03' >= dt - interval '0 1:2:3' day to second |
| and timestamp '2001-01-01 01:02:03' > dt - interval '0 1:2:4' day to second |
| |
| and dt + interval '0 1:2:3' day to second = timestamp '2001-01-01 01:02:03' |
| and dt + interval '0 1:2:4' day to second != timestamp '2001-01-01 01:02:03' |
| and dt + interval '0 1:2:3' day to second >= timestamp '2001-01-01 01:02:03' |
| and dt + interval '0 1:2:4' day to second > timestamp '2001-01-01 01:02:03' |
| and dt - interval '0 1:2:3' day to second <= timestamp '2001-01-01 01:02:03' |
| and dt - interval '0 1:2:4' day to second < timestamp '2001-01-01 01:02:03' |
| |
| and ts = dt + interval '0 1:2:3' day to second |
| and ts != dt + interval '0 1:2:4' day to second |
| and ts <= dt + interval '0 1:2:3' day to second |
| and ts < dt + interval '0 1:2:4' day to second |
| and ts >= dt - interval '0 1:2:3' day to second |
| and ts > dt - interval '0 1:2:4' day to second |
| order by ts |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: explain vectorization expression |
| select ts from vector_interval_2 |
| where |
| timestamp '2001-01-01 01:02:03' = dt + interval '0 1:2:3' day to second |
| and timestamp '2001-01-01 01:02:03' != dt + interval '0 1:2:4' day to second |
| and timestamp '2001-01-01 01:02:03' <= dt + interval '0 1:2:3' day to second |
| and timestamp '2001-01-01 01:02:03' < dt + interval '0 1:2:4' day to second |
| and timestamp '2001-01-01 01:02:03' >= dt - interval '0 1:2:3' day to second |
| and timestamp '2001-01-01 01:02:03' > dt - interval '0 1:2:4' day to second |
| |
| and dt + interval '0 1:2:3' day to second = timestamp '2001-01-01 01:02:03' |
| and dt + interval '0 1:2:4' day to second != timestamp '2001-01-01 01:02:03' |
| and dt + interval '0 1:2:3' day to second >= timestamp '2001-01-01 01:02:03' |
| and dt + interval '0 1:2:4' day to second > timestamp '2001-01-01 01:02:03' |
| and dt - interval '0 1:2:3' day to second <= timestamp '2001-01-01 01:02:03' |
| and dt - interval '0 1:2:4' day to second < timestamp '2001-01-01 01:02:03' |
| |
| and ts = dt + interval '0 1:2:3' day to second |
| and ts != dt + interval '0 1:2:4' day to second |
| and ts <= dt + interval '0 1:2:3' day to second |
| and ts < dt + interval '0 1:2:4' day to second |
| and ts >= dt - interval '0 1:2:3' day to second |
| and ts > dt - interval '0 1:2:4' day to second |
| order by ts |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 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 |
| Tez |
| #### A masked pattern was here #### |
| Edges: |
| Reducer 2 <- Map 1 (SIMPLE_EDGE) |
| #### A masked pattern was here #### |
| Vertices: |
| Map 1 |
| Map Operator Tree: |
| TableScan |
| alias: vector_interval_2 |
| filterExpr: (dt is not null and (TIMESTAMP'2001-01-01 01:02:03' < (dt + INTERVAL'0 01:02:04.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' >= (dt - INTERVAL'0 01:02:03.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' > (dt - INTERVAL'0 01:02:04.000000000')) and ((dt + INTERVAL'0 01:02:04.000000000') > TIMESTAMP'2001-01-01 01:02:03') and ((dt - INTERVAL'0 01:02:04.000000000') < TIMESTAMP'2001-01-01 01:02:03') and (ts < (dt + INTERVAL'0 01:02:04.000000000')) and (ts > (dt - INTERVAL'0 01:02:04.000000000')) and ((dt + INTERVAL'0 01:02:03.000000000') = TIMESTAMP'2001-01-01 01:02:03') and (TIMESTAMP'2001-01-01 01:02:03' <> (dt + INTERVAL'0 01:02:04.000000000')) and ((dt + INTERVAL'0 01:02:04.000000000') <> TIMESTAMP'2001-01-01 01:02:03') and (ts = (dt + INTERVAL'0 01:02:03.000000000')) and (ts <> (dt + INTERVAL'0 01:02:04.000000000')) and ts BETWEEN (dt - INTERVAL'0 01:02:03.000000000') AND (dt + INTERVAL'0 01:02:03.000000000')) (type: boolean) |
| Statistics: Num rows: 2 Data size: 192 Basic stats: COMPLETE Column stats: COMPLETE |
| TableScan Vectorization: |
| native: true |
| Filter Operator |
| Filter Vectorization: |
| className: VectorFilterOperator |
| native: true |
| predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 1:date), FilterTimestampScalarLessTimestampColumn(val 2001-01-01 01:02:03, col 8:timestamp)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 8:timestamp), FilterTimestampScalarGreaterEqualTimestampColumn(val 2001-01-01 01:02:03, col 9:timestamp)(children: DateColSubtractIntervalDayTimeScalar(col 1:date, val 0 01:02:03.000000000) -> 9:timestamp), FilterTimestampScalarGreaterTimestampColumn(val 2001-01-01 01:02:03, col 10:timestamp)(children: DateColSubtractIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 10:timestamp), FilterTimestampColGreaterTimestampScalar(col 11:timestamp, val 2001-01-01 01:02:03)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 11:timestamp), FilterTimestampColLessTimestampScalar(col 12:timestamp, val 2001-01-01 01:02:03)(children: DateColSubtractIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 12:timestamp), FilterTimestampColLessTimestampColumn(col 0:timestamp, col 13:timestamp)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 13:timestamp), FilterTimestampColGreaterTimestampColumn(col 0:timestamp, col 14:timestamp)(children: DateColSubtractIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 14:timestamp), FilterTimestampColEqualTimestampScalar(col 15:timestamp, val 2001-01-01 01:02:03)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:03.000000000) -> 15:timestamp), FilterTimestampScalarNotEqualTimestampColumn(val 2001-01-01 01:02:03, col 16:timestamp)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 16:timestamp), FilterTimestampColNotEqualTimestampScalar(col 17:timestamp, val 2001-01-01 01:02:03)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 17:timestamp), FilterTimestampColEqualTimestampColumn(col 0:timestamp, col 18:timestamp)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:03.000000000) -> 18:timestamp), FilterTimestampColNotEqualTimestampColumn(col 0:timestamp, col 19:timestamp)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 19:timestamp), SelectColumnIsTrue(col 22:boolean)(children: VectorUDFAdaptor(ts BETWEEN (dt - INTERVAL'0 01:02:03.000000000') AND (dt + INTERVAL'0 01:02:03.000000000'))(children: DateColSubtractIntervalDayTimeScalar(col 1:date, val 0 01:02:03.000000000) -> 20:timestamp, DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:03.000000000) -> 21:timestamp) -> 22:boolean)) |
| predicate: (dt is not null and (TIMESTAMP'2001-01-01 01:02:03' < (dt + INTERVAL'0 01:02:04.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' >= (dt - INTERVAL'0 01:02:03.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' > (dt - INTERVAL'0 01:02:04.000000000')) and ((dt + INTERVAL'0 01:02:04.000000000') > TIMESTAMP'2001-01-01 01:02:03') and ((dt - INTERVAL'0 01:02:04.000000000') < TIMESTAMP'2001-01-01 01:02:03') and (ts < (dt + INTERVAL'0 01:02:04.000000000')) and (ts > (dt - INTERVAL'0 01:02:04.000000000')) and ((dt + INTERVAL'0 01:02:03.000000000') = TIMESTAMP'2001-01-01 01:02:03') and (TIMESTAMP'2001-01-01 01:02:03' <> (dt + INTERVAL'0 01:02:04.000000000')) and ((dt + INTERVAL'0 01:02:04.000000000') <> TIMESTAMP'2001-01-01 01:02:03') and (ts = (dt + INTERVAL'0 01:02:03.000000000')) and (ts <> (dt + INTERVAL'0 01:02:04.000000000')) and ts BETWEEN (dt - INTERVAL'0 01:02:03.000000000') AND (dt + INTERVAL'0 01:02:03.000000000')) (type: boolean) |
| Statistics: Num rows: 1 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE |
| Select Operator |
| expressions: ts (type: timestamp) |
| outputColumnNames: _col0 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [0] |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| Reduce Output Operator |
| key expressions: _col0 (type: timestamp) |
| null sort order: z |
| sort order: + |
| Reduce Sink Vectorization: |
| className: VectorReduceSinkObjectHashOperator |
| native: true |
| nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez] 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: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| Execution mode: vectorized, llap |
| LLAP IO: all inputs |
| Map Vectorization: |
| enabled: true |
| enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true |
| inputFormatFeatureSupport: [DECIMAL_64] |
| featureSupportInUse: [DECIMAL_64] |
| inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat |
| allNative: true |
| usesVectorUDFAdaptor: true |
| vectorized: true |
| Reducer 2 |
| Execution mode: vectorized, llap |
| Reduce Vectorization: |
| enabled: true |
| enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true, hive.execution.engine tez IN [tez] IS true |
| allNative: false |
| usesVectorUDFAdaptor: false |
| vectorized: true |
| Reduce Operator Tree: |
| Select Operator |
| expressions: KEY.reducesinkkey0 (type: timestamp) |
| outputColumnNames: _col0 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [0] |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| File Output Operator |
| compressed: false |
| File Sink Vectorization: |
| className: VectorFileSinkOperator |
| native: false |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| table: |
| input format: org.apache.hadoop.mapred.SequenceFileInputFormat |
| output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat |
| serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe |
| |
| Stage: Stage-0 |
| Fetch Operator |
| limit: -1 |
| Processor Tree: |
| ListSink |
| |
| PREHOOK: query: select ts from vector_interval_2 |
| where |
| timestamp '2001-01-01 01:02:03' = dt + interval '0 1:2:3' day to second |
| and timestamp '2001-01-01 01:02:03' != dt + interval '0 1:2:4' day to second |
| and timestamp '2001-01-01 01:02:03' <= dt + interval '0 1:2:3' day to second |
| and timestamp '2001-01-01 01:02:03' < dt + interval '0 1:2:4' day to second |
| and timestamp '2001-01-01 01:02:03' >= dt - interval '0 1:2:3' day to second |
| and timestamp '2001-01-01 01:02:03' > dt - interval '0 1:2:4' day to second |
| |
| and dt + interval '0 1:2:3' day to second = timestamp '2001-01-01 01:02:03' |
| and dt + interval '0 1:2:4' day to second != timestamp '2001-01-01 01:02:03' |
| and dt + interval '0 1:2:3' day to second >= timestamp '2001-01-01 01:02:03' |
| and dt + interval '0 1:2:4' day to second > timestamp '2001-01-01 01:02:03' |
| and dt - interval '0 1:2:3' day to second <= timestamp '2001-01-01 01:02:03' |
| and dt - interval '0 1:2:4' day to second < timestamp '2001-01-01 01:02:03' |
| |
| and ts = dt + interval '0 1:2:3' day to second |
| and ts != dt + interval '0 1:2:4' day to second |
| and ts <= dt + interval '0 1:2:3' day to second |
| and ts < dt + interval '0 1:2:4' day to second |
| and ts >= dt - interval '0 1:2:3' day to second |
| and ts > dt - interval '0 1:2:4' day to second |
| order by ts |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select ts from vector_interval_2 |
| where |
| timestamp '2001-01-01 01:02:03' = dt + interval '0 1:2:3' day to second |
| and timestamp '2001-01-01 01:02:03' != dt + interval '0 1:2:4' day to second |
| and timestamp '2001-01-01 01:02:03' <= dt + interval '0 1:2:3' day to second |
| and timestamp '2001-01-01 01:02:03' < dt + interval '0 1:2:4' day to second |
| and timestamp '2001-01-01 01:02:03' >= dt - interval '0 1:2:3' day to second |
| and timestamp '2001-01-01 01:02:03' > dt - interval '0 1:2:4' day to second |
| |
| and dt + interval '0 1:2:3' day to second = timestamp '2001-01-01 01:02:03' |
| and dt + interval '0 1:2:4' day to second != timestamp '2001-01-01 01:02:03' |
| and dt + interval '0 1:2:3' day to second >= timestamp '2001-01-01 01:02:03' |
| and dt + interval '0 1:2:4' day to second > timestamp '2001-01-01 01:02:03' |
| and dt - interval '0 1:2:3' day to second <= timestamp '2001-01-01 01:02:03' |
| and dt - interval '0 1:2:4' day to second < timestamp '2001-01-01 01:02:03' |
| |
| and ts = dt + interval '0 1:2:3' day to second |
| and ts != dt + interval '0 1:2:4' day to second |
| and ts <= dt + interval '0 1:2:3' day to second |
| and ts < dt + interval '0 1:2:4' day to second |
| and ts >= dt - interval '0 1:2:3' day to second |
| and ts > dt - interval '0 1:2:4' day to second |
| order by ts |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 2001-01-01 01:02:03 |
| PREHOOK: query: explain vectorization expression |
| select ts from vector_interval_2 |
| where |
| timestamp '2001-01-01 01:02:03' = ts + interval '0' day |
| and timestamp '2001-01-01 01:02:03' != ts + interval '1' day |
| and timestamp '2001-01-01 01:02:03' <= ts + interval '1' day |
| and timestamp '2001-01-01 01:02:03' < ts + interval '1' day |
| and timestamp '2001-01-01 01:02:03' >= ts - interval '1' day |
| and timestamp '2001-01-01 01:02:03' > ts - interval '1' day |
| |
| and ts + interval '0' day = timestamp '2001-01-01 01:02:03' |
| and ts + interval '1' day != timestamp '2001-01-01 01:02:03' |
| and ts + interval '1' day >= timestamp '2001-01-01 01:02:03' |
| and ts + interval '1' day > timestamp '2001-01-01 01:02:03' |
| and ts - interval '1' day <= timestamp '2001-01-01 01:02:03' |
| and ts - interval '1' day < timestamp '2001-01-01 01:02:03' |
| |
| and ts = ts + interval '0' day |
| and ts != ts + interval '1' day |
| and ts <= ts + interval '1' day |
| and ts < ts + interval '1' day |
| and ts >= ts - interval '1' day |
| and ts > ts - interval '1' day |
| order by ts |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: explain vectorization expression |
| select ts from vector_interval_2 |
| where |
| timestamp '2001-01-01 01:02:03' = ts + interval '0' day |
| and timestamp '2001-01-01 01:02:03' != ts + interval '1' day |
| and timestamp '2001-01-01 01:02:03' <= ts + interval '1' day |
| and timestamp '2001-01-01 01:02:03' < ts + interval '1' day |
| and timestamp '2001-01-01 01:02:03' >= ts - interval '1' day |
| and timestamp '2001-01-01 01:02:03' > ts - interval '1' day |
| |
| and ts + interval '0' day = timestamp '2001-01-01 01:02:03' |
| and ts + interval '1' day != timestamp '2001-01-01 01:02:03' |
| and ts + interval '1' day >= timestamp '2001-01-01 01:02:03' |
| and ts + interval '1' day > timestamp '2001-01-01 01:02:03' |
| and ts - interval '1' day <= timestamp '2001-01-01 01:02:03' |
| and ts - interval '1' day < timestamp '2001-01-01 01:02:03' |
| |
| and ts = ts + interval '0' day |
| and ts != ts + interval '1' day |
| and ts <= ts + interval '1' day |
| and ts < ts + interval '1' day |
| and ts >= ts - interval '1' day |
| and ts > ts - interval '1' day |
| order by ts |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 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 |
| Tez |
| #### A masked pattern was here #### |
| Edges: |
| Reducer 2 <- Map 1 (SIMPLE_EDGE) |
| #### A masked pattern was here #### |
| Vertices: |
| Map 1 |
| Map Operator Tree: |
| TableScan |
| alias: vector_interval_2 |
| filterExpr: ((TIMESTAMP'2001-01-01 01:02:03' < (ts + INTERVAL'1 00:00:00.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' > (ts - INTERVAL'1 00:00:00.000000000')) and ((ts + INTERVAL'1 00:00:00.000000000') > TIMESTAMP'2001-01-01 01:02:03') and ((ts - INTERVAL'1 00:00:00.000000000') < TIMESTAMP'2001-01-01 01:02:03') and (ts < (ts + INTERVAL'1 00:00:00.000000000')) and (ts > (ts - INTERVAL'1 00:00:00.000000000')) and ((ts + INTERVAL'0 00:00:00.000000000') = TIMESTAMP'2001-01-01 01:02:03') and (TIMESTAMP'2001-01-01 01:02:03' <> (ts + INTERVAL'1 00:00:00.000000000')) and TIMESTAMP'2001-01-01 01:02:03' BETWEEN (ts - INTERVAL'1 00:00:00.000000000') AND (ts + INTERVAL'1 00:00:00.000000000') and ((ts + INTERVAL'1 00:00:00.000000000') <> TIMESTAMP'2001-01-01 01:02:03') and (ts = (ts + INTERVAL'0 00:00:00.000000000')) and (ts <> (ts + INTERVAL'1 00:00:00.000000000')) and ts BETWEEN (ts - INTERVAL'1 00:00:00.000000000') AND (ts + INTERVAL'1 00:00:00.000000000')) (type: boolean) |
| Statistics: Num rows: 2 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE |
| TableScan Vectorization: |
| native: true |
| Filter Operator |
| Filter Vectorization: |
| className: VectorFilterOperator |
| native: true |
| predicateExpression: FilterExprAndExpr(children: FilterTimestampScalarLessTimestampColumn(val 2001-01-01 01:02:03, col 8:timestamp)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 8:timestamp), FilterTimestampScalarGreaterTimestampColumn(val 2001-01-01 01:02:03, col 9:timestamp)(children: TimestampColSubtractIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 9:timestamp), FilterTimestampColGreaterTimestampScalar(col 10:timestamp, val 2001-01-01 01:02:03)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 10:timestamp), FilterTimestampColLessTimestampScalar(col 11:timestamp, val 2001-01-01 01:02:03)(children: TimestampColSubtractIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 11:timestamp), FilterTimestampColLessTimestampColumn(col 0:timestamp, col 12:timestamp)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 12:timestamp), FilterTimestampColGreaterTimestampColumn(col 0:timestamp, col 13:timestamp)(children: TimestampColSubtractIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 13:timestamp), FilterTimestampColEqualTimestampScalar(col 14:timestamp, val 2001-01-01 01:02:03)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 0 00:00:00.000000000) -> 14:timestamp), FilterTimestampScalarNotEqualTimestampColumn(val 2001-01-01 01:02:03, col 15:timestamp)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 15:timestamp), SelectColumnIsTrue(col 18:boolean)(children: VectorUDFAdaptor(TIMESTAMP'2001-01-01 01:02:03' BETWEEN (ts - INTERVAL'1 00:00:00.000000000') AND (ts + INTERVAL'1 00:00:00.000000000'))(children: TimestampColSubtractIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 16:timestamp, TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 17:timestamp) -> 18:boolean), FilterTimestampColNotEqualTimestampScalar(col 19:timestamp, val 2001-01-01 01:02:03)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 19:timestamp), FilterTimestampColEqualTimestampColumn(col 0:timestamp, col 20:timestamp)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 0 00:00:00.000000000) -> 20:timestamp), FilterTimestampColNotEqualTimestampColumn(col 0:timestamp, col 21:timestamp)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 21:timestamp), SelectColumnIsTrue(col 24:boolean)(children: VectorUDFAdaptor(ts BETWEEN (ts - INTERVAL'1 00:00:00.000000000') AND (ts + INTERVAL'1 00:00:00.000000000'))(children: TimestampColSubtractIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 22:timestamp, TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 23:timestamp) -> 24:boolean)) |
| predicate: ((TIMESTAMP'2001-01-01 01:02:03' < (ts + INTERVAL'1 00:00:00.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' > (ts - INTERVAL'1 00:00:00.000000000')) and ((ts + INTERVAL'1 00:00:00.000000000') > TIMESTAMP'2001-01-01 01:02:03') and ((ts - INTERVAL'1 00:00:00.000000000') < TIMESTAMP'2001-01-01 01:02:03') and (ts < (ts + INTERVAL'1 00:00:00.000000000')) and (ts > (ts - INTERVAL'1 00:00:00.000000000')) and ((ts + INTERVAL'0 00:00:00.000000000') = TIMESTAMP'2001-01-01 01:02:03') and (TIMESTAMP'2001-01-01 01:02:03' <> (ts + INTERVAL'1 00:00:00.000000000')) and TIMESTAMP'2001-01-01 01:02:03' BETWEEN (ts - INTERVAL'1 00:00:00.000000000') AND (ts + INTERVAL'1 00:00:00.000000000') and ((ts + INTERVAL'1 00:00:00.000000000') <> TIMESTAMP'2001-01-01 01:02:03') and (ts = (ts + INTERVAL'0 00:00:00.000000000')) and (ts <> (ts + INTERVAL'1 00:00:00.000000000')) and ts BETWEEN (ts - INTERVAL'1 00:00:00.000000000') AND (ts + INTERVAL'1 00:00:00.000000000')) (type: boolean) |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| Select Operator |
| expressions: ts (type: timestamp) |
| outputColumnNames: _col0 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [0] |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| Reduce Output Operator |
| key expressions: _col0 (type: timestamp) |
| null sort order: z |
| sort order: + |
| Reduce Sink Vectorization: |
| className: VectorReduceSinkObjectHashOperator |
| native: true |
| nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez] 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: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| Execution mode: vectorized, llap |
| LLAP IO: all inputs |
| Map Vectorization: |
| enabled: true |
| enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true |
| inputFormatFeatureSupport: [DECIMAL_64] |
| featureSupportInUse: [DECIMAL_64] |
| inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat |
| allNative: true |
| usesVectorUDFAdaptor: true |
| vectorized: true |
| Reducer 2 |
| Execution mode: vectorized, llap |
| Reduce Vectorization: |
| enabled: true |
| enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true, hive.execution.engine tez IN [tez] IS true |
| allNative: false |
| usesVectorUDFAdaptor: false |
| vectorized: true |
| Reduce Operator Tree: |
| Select Operator |
| expressions: KEY.reducesinkkey0 (type: timestamp) |
| outputColumnNames: _col0 |
| Select Vectorization: |
| className: VectorSelectOperator |
| native: true |
| projectedOutputColumnNums: [0] |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| File Output Operator |
| compressed: false |
| File Sink Vectorization: |
| className: VectorFileSinkOperator |
| native: false |
| Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| table: |
| input format: org.apache.hadoop.mapred.SequenceFileInputFormat |
| output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat |
| serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe |
| |
| Stage: Stage-0 |
| Fetch Operator |
| limit: -1 |
| Processor Tree: |
| ListSink |
| |
| PREHOOK: query: select ts from vector_interval_2 |
| where |
| timestamp '2001-01-01 01:02:03' = ts + interval '0' day |
| and timestamp '2001-01-01 01:02:03' != ts + interval '1' day |
| and timestamp '2001-01-01 01:02:03' <= ts + interval '1' day |
| and timestamp '2001-01-01 01:02:03' < ts + interval '1' day |
| and timestamp '2001-01-01 01:02:03' >= ts - interval '1' day |
| and timestamp '2001-01-01 01:02:03' > ts - interval '1' day |
| |
| and ts + interval '0' day = timestamp '2001-01-01 01:02:03' |
| and ts + interval '1' day != timestamp '2001-01-01 01:02:03' |
| and ts + interval '1' day >= timestamp '2001-01-01 01:02:03' |
| and ts + interval '1' day > timestamp '2001-01-01 01:02:03' |
| and ts - interval '1' day <= timestamp '2001-01-01 01:02:03' |
| and ts - interval '1' day < timestamp '2001-01-01 01:02:03' |
| |
| and ts = ts + interval '0' day |
| and ts != ts + interval '1' day |
| and ts <= ts + interval '1' day |
| and ts < ts + interval '1' day |
| and ts >= ts - interval '1' day |
| and ts > ts - interval '1' day |
| order by ts |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select ts from vector_interval_2 |
| where |
| timestamp '2001-01-01 01:02:03' = ts + interval '0' day |
| and timestamp '2001-01-01 01:02:03' != ts + interval '1' day |
| and timestamp '2001-01-01 01:02:03' <= ts + interval '1' day |
| and timestamp '2001-01-01 01:02:03' < ts + interval '1' day |
| and timestamp '2001-01-01 01:02:03' >= ts - interval '1' day |
| and timestamp '2001-01-01 01:02:03' > ts - interval '1' day |
| |
| and ts + interval '0' day = timestamp '2001-01-01 01:02:03' |
| and ts + interval '1' day != timestamp '2001-01-01 01:02:03' |
| and ts + interval '1' day >= timestamp '2001-01-01 01:02:03' |
| and ts + interval '1' day > timestamp '2001-01-01 01:02:03' |
| and ts - interval '1' day <= timestamp '2001-01-01 01:02:03' |
| and ts - interval '1' day < timestamp '2001-01-01 01:02:03' |
| |
| and ts = ts + interval '0' day |
| and ts != ts + interval '1' day |
| and ts <= ts + interval '1' day |
| and ts < ts + interval '1' day |
| and ts >= ts - interval '1' day |
| and ts > ts - interval '1' day |
| order by ts |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@vector_interval_2 |
| #### A masked pattern was here #### |
| 2001-01-01 01:02:03 |
| PREHOOK: query: drop table vector_interval_2 |
| PREHOOK: type: DROPTABLE |
| PREHOOK: Input: default@vector_interval_2 |
| PREHOOK: Output: default@vector_interval_2 |
| POSTHOOK: query: drop table vector_interval_2 |
| POSTHOOK: type: DROPTABLE |
| POSTHOOK: Input: default@vector_interval_2 |
| POSTHOOK: Output: default@vector_interval_2 |