| set hive.mapred.mode=nonstrict; |
| set hive.explain.user=false; |
| SET hive.vectorized.execution.enabled=true; |
| SET hive.auto.convert.join=true; |
| set hive.fetch.task.conversion=none; |
| |
| create table vectortab_a_1k( |
| t tinyint, |
| si smallint, |
| i int, |
| b bigint, |
| f float, |
| d double, |
| dc decimal(38,18), |
| bo boolean, |
| s string, |
| s2 string, |
| ts timestamp, |
| ts2 timestamp, |
| dt date) |
| ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' |
| STORED AS TEXTFILE; |
| |
| LOAD DATA LOCAL INPATH '../../data/files/vectortab_a_1k' OVERWRITE INTO TABLE vectortab_a_1k; |
| |
| CREATE TABLE vectortab_a_1korc STORED AS ORC AS SELECT * FROM vectortab_a_1k; |
| |
| create table vectortab_b_1k( |
| t tinyint, |
| si smallint, |
| i int, |
| b bigint, |
| f float, |
| d double, |
| dc decimal(38,18), |
| bo boolean, |
| s string, |
| s2 string, |
| ts timestamp, |
| ts2 timestamp, |
| dt date) |
| ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' |
| STORED AS TEXTFILE; |
| |
| LOAD DATA LOCAL INPATH '../../data/files/vectortab_b_1k' OVERWRITE INTO TABLE vectortab_b_1k; |
| |
| CREATE TABLE vectortab_b_1korc STORED AS ORC AS SELECT * FROM vectortab_b_1k; |
| |
| explain vectorization expression |
| select |
| v1.s, |
| v2.s, |
| v1.intrvl1 |
| from |
| ( select |
| s, |
| (cast(dt as date) - cast(ts as date)) as intrvl1 |
| from |
| vectortab_a_1korc ) v1 |
| join |
| ( |
| select |
| s , |
| (cast(dt as date) - cast(ts as date)) as intrvl2 |
| from |
| vectortab_b_1korc |
| ) v2 |
| on v1.intrvl1 = v2.intrvl2 |
| and v1.s = v2.s; |
| |
| select |
| v1.s, |
| v2.s, |
| v1.intrvl1 |
| from |
| ( select |
| s, |
| (cast(dt as date) - cast(ts as date)) as intrvl1 |
| from |
| vectortab_a_1korc ) v1 |
| join |
| ( |
| select |
| s , |
| (cast(dt as date) - cast(ts as date)) as intrvl2 |
| from |
| vectortab_b_1korc |
| ) v2 |
| on v1.intrvl1 = v2.intrvl2 |
| and v1.s = v2.s; |