http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_interval_1.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_interval_1.q b/ql/src/test/queries/clientpositive/vector_interval_1.q index 8fefe41..f4f0024 100644 --- a/ql/src/test/queries/clientpositive/vector_interval_1.q +++ b/ql/src/test/queries/clientpositive/vector_interval_1.q @@ -1,8 +1,7 @@ set hive.mapred.mode=nonstrict; set hive.explain.user=false; - set hive.vectorized.execution.enabled=true; -set hive.fetch.task.conversion=minimal; +set hive.fetch.task.conversion=none; drop table if exists vector_interval_1; create table vector_interval_1 (ts timestamp, dt date, str1 string, str2 string) stored as orc; @@ -13,7 +12,7 @@ insert into vector_interval_1 select null, null, null, null from src limit 1; -- constants/cast from string -explain +explain vectorization expression select str1, interval '1-2' year to month, interval_year_month(str1), @@ -28,7 +27,7 @@ from vector_interval_1 order by str1; -- interval arithmetic -explain +explain vectorization expression select dt, interval '1-2' year to month + interval '1-2' year to month, @@ -49,7 +48,7 @@ select interval '1-2' year to month - interval_year_month(str1) from vector_interval_1 order by dt; -explain +explain vectorization expression select dt, interval '1 2:3:4' day to second + interval '1 2:3:4' day to second, @@ -72,7 +71,7 @@ from vector_interval_1 order by dt; -- date-interval arithmetic -explain +explain vectorization expression select dt, dt + interval '1-2' year to month, @@ -107,7 +106,7 @@ from vector_interval_1 order by dt; -- timestamp-interval arithmetic -explain +explain vectorization expression select ts, ts + interval '1-2' year to month, @@ -142,7 +141,7 @@ from vector_interval_1 order by ts; -- timestamp-timestamp arithmetic -explain +explain vectorization expression select ts, ts - ts, @@ -159,7 +158,7 @@ from vector_interval_1 order by ts; -- date-date arithmetic -explain +explain vectorization expression select dt, dt - dt, @@ -176,7 +175,7 @@ from vector_interval_1 order by dt; -- date-timestamp arithmetic -explain +explain vectorization expression select dt, ts - dt,
http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_interval_2.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_interval_2.q b/ql/src/test/queries/clientpositive/vector_interval_2.q index 5afb511..0b78a4b 100644 --- a/ql/src/test/queries/clientpositive/vector_interval_2.q +++ b/ql/src/test/queries/clientpositive/vector_interval_2.q @@ -1,7 +1,7 @@ set hive.mapred.mode=nonstrict; set hive.explain.user=false; set hive.vectorized.execution.enabled=true; -set hive.fetch.task.conversion=minimal; +set hive.fetch.task.conversion=none; drop table if exists vector_interval_2; create table vector_interval_2 (ts timestamp, dt date, str1 string, str2 string, str3 string, str4 string) stored as orc; @@ -14,7 +14,7 @@ insert into vector_interval_2 -- interval comparisons in select clause -explain +explain vectorization expression select str1, -- Should all be true @@ -77,7 +77,7 @@ select interval '1-2' year to month != interval_year_month(str2) from vector_interval_2 order by str1; -explain +explain vectorization expression select str1, -- Should all be false @@ -128,7 +128,7 @@ select interval '1-2' year to month != interval_year_month(str1) from vector_interval_2 order by str1; -explain +explain vectorization expression select str3, -- Should all be true @@ -191,7 +191,7 @@ select interval '1 2:3:4' day to second != interval_day_time(str4) from vector_interval_2 order by str3; -explain +explain vectorization expression select str3, -- Should all be false @@ -244,7 +244,7 @@ from vector_interval_2 order by str3; -- interval expressions in predicates -explain +explain vectorization expression select ts from vector_interval_2 where interval_year_month(str1) = interval_year_month(str1) @@ -293,7 +293,7 @@ where and interval '1-3' year to month > interval_year_month(str1) order by ts; -explain +explain vectorization expression select ts from vector_interval_2 where interval_day_time(str3) = interval_day_time(str3) @@ -342,7 +342,7 @@ where and interval '1 2:3:5' day to second > interval_day_time(str3) order by ts; -explain +explain vectorization expression select ts from vector_interval_2 where date '2002-03-01' = dt + interval_year_month(str1) @@ -381,7 +381,7 @@ where and dt != dt + interval '1-2' year to month order by ts; -explain +explain vectorization expression select ts from vector_interval_2 where timestamp '2002-03-01 01:02:03' = ts + interval '1-2' year to month @@ -431,7 +431,7 @@ where order by ts; -- day to second expressions in predicate -explain +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 @@ -480,7 +480,7 @@ where and ts > dt - interval '0 1:2:4' day to second order by ts; -explain +explain vectorization expression select ts from vector_interval_2 where timestamp '2001-01-01 01:02:03' = ts + interval '0' day http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_interval_arithmetic.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_interval_arithmetic.q b/ql/src/test/queries/clientpositive/vector_interval_arithmetic.q index 40c4c03..9a551e8 100644 --- a/ql/src/test/queries/clientpositive/vector_interval_arithmetic.q +++ b/ql/src/test/queries/clientpositive/vector_interval_arithmetic.q @@ -13,7 +13,7 @@ insert overwrite table interval_arithmetic_1 SET hive.vectorized.execution.enabled=true; -- interval year-month arithmetic -explain +explain vectorization expression select dateval, dateval - interval '2-2' year to month, @@ -36,7 +36,7 @@ select from interval_arithmetic_1 order by dateval; -explain +explain vectorization expression select dateval, dateval - date '1999-06-07', @@ -53,7 +53,7 @@ select from interval_arithmetic_1 order by dateval; -explain +explain vectorization expression select tsval, tsval - interval '2-2' year to month, @@ -76,7 +76,7 @@ select from interval_arithmetic_1 order by tsval; -explain +explain vectorization expression select interval '2-2' year to month + interval '3-3' year to month, interval '2-2' year to month - interval '3-3' year to month @@ -93,7 +93,7 @@ limit 2; -- interval day-time arithmetic -explain +explain vectorization expression select dateval, dateval - interval '99 11:22:33.123456789' day to second, @@ -116,7 +116,7 @@ select from interval_arithmetic_1 order by dateval; -explain +explain vectorization expression select dateval, tsval, @@ -135,7 +135,7 @@ select from interval_arithmetic_1 order by dateval; -explain +explain vectorization expression select tsval, tsval - interval '99 11:22:33.123456789' day to second, @@ -158,7 +158,7 @@ select from interval_arithmetic_1 order by tsval; -explain +explain vectorization expression select interval '99 11:22:33.123456789' day to second + interval '10 9:8:7.123456789' day to second, interval '99 11:22:33.123456789' day to second - interval '10 9:8:7.123456789' day to second http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_interval_mapjoin.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_interval_mapjoin.q b/ql/src/test/queries/clientpositive/vector_interval_mapjoin.q index 36ccd35..d27e67b 100644 --- a/ql/src/test/queries/clientpositive/vector_interval_mapjoin.q +++ b/ql/src/test/queries/clientpositive/vector_interval_mapjoin.q @@ -2,6 +2,7 @@ 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, @@ -45,7 +46,7 @@ LOAD DATA LOCAL INPATH '../../data/files/vectortab_b_1k' OVERWRITE INTO TABLE ve CREATE TABLE vectortab_b_1korc STORED AS ORC AS SELECT * FROM vectortab_b_1k; -explain +explain vectorization expression select v1.s, v2.s, http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_join.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_join.q b/ql/src/test/queries/clientpositive/vector_join.q index 9238a6e..b086a13 100644 --- a/ql/src/test/queries/clientpositive/vector_join.q +++ b/ql/src/test/queries/clientpositive/vector_join.q @@ -32,6 +32,7 @@ TBLPROPERTIES ( set hive.auto.convert.join=false; set hive.vectorized.execution.enabled = true; set hive.mapred.mode=nonstrict; +set hive.fetch.task.conversion=none; SELECT cr.id1 , cr.id2 FROM http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_join30.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_join30.q b/ql/src/test/queries/clientpositive/vector_join30.q index 1467cd3..6557a71 100644 --- a/ql/src/test/queries/clientpositive/vector_join30.q +++ b/ql/src/test/queries/clientpositive/vector_join30.q @@ -10,7 +10,7 @@ SET hive.auto.convert.join.noconditionaltask.size=1000000000; CREATE TABLE orcsrc STORED AS ORC AS SELECT * FROM src; -explain +explain vectorization expression FROM (SELECT orcsrc.* FROM orcsrc sort by key) x JOIN @@ -25,7 +25,7 @@ JOIN ON (x.key = Y.key) select sum(hash(Y.key,Y.value)); -explain +explain vectorization expression FROM (SELECT orcsrc.* FROM orcsrc sort by key) x LEFT OUTER JOIN @@ -40,7 +40,7 @@ LEFT OUTER JOIN ON (x.key = Y.key) select sum(hash(Y.key,Y.value)); -explain +explain vectorization expression FROM (SELECT orcsrc.* FROM orcsrc sort by key) x RIGHT OUTER JOIN @@ -55,7 +55,7 @@ RIGHT OUTER JOIN ON (x.key = Y.key) select sum(hash(Y.key,Y.value)); -explain +explain vectorization expression FROM (SELECT orcsrc.* FROM orcsrc sort by key) x JOIN @@ -76,7 +76,7 @@ JOIN ON (x.key = Z.key) select sum(hash(Y.key,Y.value)); -explain +explain vectorization expression FROM (SELECT orcsrc.* FROM orcsrc sort by key) x JOIN @@ -97,7 +97,7 @@ LEFT OUTER JOIN ON (x.key = Z.key) select sum(hash(Y.key,Y.value)); -explain +explain vectorization expression FROM (SELECT orcsrc.* FROM orcsrc sort by key) x LEFT OUTER JOIN @@ -118,7 +118,7 @@ LEFT OUTER JOIN ON (x.key = Z.key) select sum(hash(Y.key,Y.value)); -explain +explain vectorization expression FROM (SELECT orcsrc.* FROM orcsrc sort by key) x LEFT OUTER JOIN @@ -139,7 +139,7 @@ RIGHT OUTER JOIN ON (x.key = Z.key) select sum(hash(Y.key,Y.value)); -explain +explain vectorization expression FROM (SELECT orcsrc.* FROM orcsrc sort by key) x RIGHT OUTER JOIN http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_join_part_col_char.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_join_part_col_char.q b/ql/src/test/queries/clientpositive/vector_join_part_col_char.q index 5cfce37..e625a64 100644 --- a/ql/src/test/queries/clientpositive/vector_join_part_col_char.q +++ b/ql/src/test/queries/clientpositive/vector_join_part_col_char.q @@ -4,6 +4,7 @@ set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.vectorized.execution.enabled=true; set hive.explain.user=true; set hive.metastore.fastpath=false; +set hive.fetch.task.conversion=none; drop table if exists char_part_tbl1 ; drop table if exists char_part_tbl2; @@ -22,7 +23,7 @@ insert into table char_tbl2 partition(gpa='3') select name, age from studenttab show partitions char_tbl1; show partitions char_tbl2; -explain select c1.name, c1.age, c1.gpa, c2.name, c2.age, c2.gpa from char_tbl1 c1 join char_tbl2 c2 on (c1.gpa = c2.gpa); +explain vectorization select c1.name, c1.age, c1.gpa, c2.name, c2.age, c2.gpa from char_tbl1 c1 join char_tbl2 c2 on (c1.gpa = c2.gpa); select c1.name, c1.age, c1.gpa, c2.name, c2.age, c2.gpa from char_tbl1 c1 join char_tbl2 c2 on (c1.gpa = c2.gpa); set hive.vectorized.execution.enabled=false; http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_left_outer_join.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_left_outer_join.q b/ql/src/test/queries/clientpositive/vector_left_outer_join.q index ddf2660..0684f12 100644 --- a/ql/src/test/queries/clientpositive/vector_left_outer_join.q +++ b/ql/src/test/queries/clientpositive/vector_left_outer_join.q @@ -3,7 +3,9 @@ set hive.explain.user=false; set hive.vectorized.execution.enabled=true; set hive.auto.convert.join=true; set hive.mapjoin.hybridgrace.hashtable=false; -explain +set hive.fetch.task.conversion=none; + +explain vectorization select count(*) from (select c.ctinyint from alltypesorc c left outer join alltypesorc cd http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_left_outer_join2.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_left_outer_join2.q b/ql/src/test/queries/clientpositive/vector_left_outer_join2.q index 5da5d50..ccceb36 100644 --- a/ql/src/test/queries/clientpositive/vector_left_outer_join2.q +++ b/ql/src/test/queries/clientpositive/vector_left_outer_join2.q @@ -20,14 +20,14 @@ INSERT INTO TABLE TJOIN2 SELECT * from TJOIN2STAGE; set hive.vectorized.execution.enabled=false; set hive.mapjoin.hybridgrace.hashtable=false; -explain +explain vectorization expression select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 ); select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 ); set hive.vectorized.execution.enabled=false; set hive.mapjoin.hybridgrace.hashtable=true; -explain +explain vectorization expression select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 ); select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 ); @@ -36,7 +36,7 @@ select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left out set hive.vectorized.execution.enabled=true; set hive.mapjoin.hybridgrace.hashtable=false; SET hive.vectorized.execution.mapjoin.native.enabled=false; -explain +explain vectorization expression select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 ); select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 ); @@ -44,7 +44,7 @@ select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left out set hive.vectorized.execution.enabled=true; set hive.mapjoin.hybridgrace.hashtable=true; SET hive.vectorized.execution.mapjoin.native.enabled=false; -explain +explain vectorization expression select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 ); select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 ); @@ -52,7 +52,7 @@ select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left out set hive.vectorized.execution.enabled=true; set hive.mapjoin.hybridgrace.hashtable=false; SET hive.vectorized.execution.mapjoin.native.enabled=true; -explain +explain vectorization expression select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 ); select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 ); @@ -60,7 +60,7 @@ select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left out set hive.vectorized.execution.enabled=true; set hive.mapjoin.hybridgrace.hashtable=true; SET hive.vectorized.execution.mapjoin.native.enabled=true; -explain +explain vectorization expression select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 ); select tjoin1.rnum, tjoin1.c1, tjoin1.c2, tjoin2.c2 as c2j2 from tjoin1 left outer join tjoin2 on ( tjoin1.c1 = tjoin2.c1 and tjoin1.c2 > 15 ); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_leftsemi_mapjoin.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_leftsemi_mapjoin.q b/ql/src/test/queries/clientpositive/vector_leftsemi_mapjoin.q index dfb8405..8469a06 100644 --- a/ql/src/test/queries/clientpositive/vector_leftsemi_mapjoin.q +++ b/ql/src/test/queries/clientpositive/vector_leftsemi_mapjoin.q @@ -26,381 +26,502 @@ select * from t4; set hive.vectorized.execution.enabled=false; set hive.mapjoin.hybridgrace.hashtable=false; -explain select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value; +explain vectorization only summary + +select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value; select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value; -explain select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value; +explain vectorization only summary +select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value; select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value; -explain select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value; +explain vectorization only summary +select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value; select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value; -explain select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value; +explain vectorization only summary +select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value; select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value; -explain select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value; +explain vectorization only summary +select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value; select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value; -explain select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value; +explain vectorization only summary +select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value; select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value; -explain select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ; +explain vectorization only summary +select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ; select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ; -explain select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value; +explain vectorization only summary +select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value; select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value; -explain select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key; +explain vectorization only summary +select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key; select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key; -explain select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value; +explain vectorization only summary +select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value; select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value; -explain select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value; +explain vectorization only summary +select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value; select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value; -explain select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value; +explain vectorization only summary +select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value; select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value; -explain select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key; +explain vectorization only summary +select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key; select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; +explain vectorization only summary +select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; -explain select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; +explain vectorization only summary +select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key; +explain vectorization only summary +select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key; select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key; +explain vectorization only summary +select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key; select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key; +explain vectorization only summary +select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key; select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key; +explain vectorization only summary +select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key; select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100; +explain vectorization only summary +select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100; select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100; set hive.vectorized.execution.enabled=false; set hive.mapjoin.hybridgrace.hashtable=true; -explain select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value; +explain vectorization summary +select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value; select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value; -explain select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value; +explain vectorization summary +select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value; select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value; -explain select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value; +explain vectorization summary +select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value; select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value; -explain select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value; +explain vectorization summary +select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value; select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value; -explain select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value; +explain vectorization summary +select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value; select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value; -explain select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value; +explain vectorization summary +select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value; select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value; -explain select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ; +explain vectorization summary +select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ; select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ; -explain select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value; +explain vectorization summary +select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value; select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value; -explain select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key; +explain vectorization summary +select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key; select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key; -explain select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value; +explain vectorization summary +select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value; select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value; -explain select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value; +explain vectorization summary +select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value; select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value; -explain select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value; +explain vectorization summary +select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value; select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value; -explain select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key; +explain vectorization summary +select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key; select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; +explain vectorization summary +select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; -explain select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; +explain vectorization summary +select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key; +explain vectorization summary +select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key; select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key; +explain vectorization summary +select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key; select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key; +explain vectorization summary +select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key; select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key; +explain vectorization summary +select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key; select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100; +explain vectorization summary +select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100; select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100; set hive.vectorized.execution.enabled=true; set hive.mapjoin.hybridgrace.hashtable=false; SET hive.vectorized.execution.mapjoin.native.enabled=false; -explain select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value; +explain vectorization only operator +select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value; select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value; -explain select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value; +explain vectorization only operator +select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value; select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value; -explain select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value; +explain vectorization only operator +select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value; select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value; -explain select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value; +explain vectorization only operator +select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value; select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value; -explain select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value; +explain vectorization only operator +select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value; select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value; -explain select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value; +explain vectorization only operator +select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value; select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value; -explain select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ; +explain vectorization only operator +select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ; select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ; -explain select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value; +explain vectorization only operator +select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value; select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value; -explain select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key; +explain vectorization only operator +select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key; select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key; -explain select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value; +explain vectorization only operator +select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value; select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value; -explain select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value; +explain vectorization only operator +select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value; select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value; -explain select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value; +explain vectorization only operator +select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value; select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value; -explain select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key; +explain vectorization only operator +select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key; select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; +explain vectorization only operator +select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; -explain select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; +explain vectorization only operator +select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key; +explain vectorization only operator +select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key; select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key; +explain vectorization only operator +select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key; select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key; +explain vectorization only operator +select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key; select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key; +explain vectorization only operator +select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key; select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100; +explain vectorization only operator +select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100; select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100; set hive.vectorized.execution.enabled=true; set hive.mapjoin.hybridgrace.hashtable=true; SET hive.vectorized.execution.mapjoin.native.enabled=false; -explain select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value; +explain vectorization detail +select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value; select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value; -explain select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value; +explain vectorization detail +select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value; select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value; -explain select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value; +explain vectorization detail +select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value; select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value; -explain select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value; +explain vectorization detail +select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value; select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value; -explain select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value; +explain vectorization detail +select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value; select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value; -explain select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value; +explain vectorization detail +select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value; select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value; -explain select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ; +explain vectorization detail +select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ; select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ; -explain select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value; +explain vectorization detail +select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value; select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value; -explain select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key; +explain vectorization detail +select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key; select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key; -explain select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value; +explain vectorization detail +select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value; select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value; -explain select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value; +explain vectorization detail +select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value; select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value; -explain select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value; +explain vectorization detail +select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value; select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value; -explain select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key; +explain vectorization detail +select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key; select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; +explain vectorization detail +select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; -explain select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; +explain vectorization detail +select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key; +explain vectorization detail +select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key; select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key; +explain vectorization detail +select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key; select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key; +explain vectorization detail +select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key; select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key; +explain vectorization detail +select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key; select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100; +explain vectorization detail +select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100; select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100; set hive.vectorized.execution.enabled=true; set hive.mapjoin.hybridgrace.hashtable=false; SET hive.vectorized.execution.mapjoin.native.enabled=true; -explain select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value; +explain vectorization detail +select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value; select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value; -explain select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value; +explain vectorization detail +select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value; select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value; -explain select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value; +explain vectorization detail +select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value; select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value; -explain select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value; +explain vectorization detail +select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value; select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value; -explain select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value; +explain vectorization detail +select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value; select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value; -explain select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value; +explain vectorization detail +select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value; select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value; -explain select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ; +explain vectorization detail +select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ; select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ; -explain select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value; +explain vectorization detail +select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value; select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value; -explain select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key; +explain vectorization detail +select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key; select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key; -explain select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value; +explain vectorization detail +select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value; select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value; -explain select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value; +explain vectorization detail +select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value; select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value; -explain select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value; +explain vectorization detail +select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value; select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value; -explain select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key; +explain vectorization detail +select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key; select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; +explain vectorization detail +select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; -explain select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; +explain vectorization detail +select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key; +explain vectorization detail +select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key; select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key; +explain vectorization detail +select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key; select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key; +explain vectorization detail +select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key; select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key; +explain vectorization detail +select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key; select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100; +explain vectorization detail +select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100; select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100; set hive.vectorized.execution.enabled=true; set hive.mapjoin.hybridgrace.hashtable=true; SET hive.vectorized.execution.mapjoin.native.enabled=true; -explain select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value; +explain vectorization detail +select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value; select * from t1 a left semi join t2 b on a.key=b.key sort by a.key, a.value; -explain select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value; +explain vectorization detail +select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value; select * from t2 a left semi join t1 b on b.key=a.key sort by a.key, a.value; -explain select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value; +explain vectorization detail +select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value; select * from t1 a left semi join t4 b on b.key=a.key sort by a.key, a.value; -explain select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value; +explain vectorization detail +select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value; select a.value from t1 a left semi join t3 b on (b.key = a.key and b.key < '15') sort by a.value; -explain select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value; +explain vectorization detail +select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value; select * from t1 a left semi join t2 b on a.key = b.key and b.value < "val_10" sort by a.key, a.value; -explain select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value; +explain vectorization detail +select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value; select a.value from t1 a left semi join (select key from t3 where key > 5) b on a.key = b.key sort by a.value; -explain select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ; +explain vectorization detail +select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ; select a.value from t1 a left semi join (select key , value from t2 where key > 5) b on a.key = b.key and b.value <= 'val_20' sort by a.value ; -explain select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value; +explain vectorization detail +select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value; select * from t2 a left semi join (select key , value from t1 where key > 2) b on a.key = b.key sort by a.key, a.value; -explain select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key; +explain vectorization detail +select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key; select /*+ mapjoin(b) */ a.key from t3 a left semi join t1 b on a.key = b.key sort by a.key; -explain select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value; +explain vectorization detail +select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value; select * from t1 a left semi join t2 b on a.key = 2*b.key sort by a.key, a.value; -explain select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value; +explain vectorization detail +select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value; select * from t1 a join t2 b on a.key = b.key left semi join t3 c on b.key = c.key sort by a.key, a.value; -explain select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value; +explain vectorization detail +select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value; select * from t3 a left semi join t1 b on a.key = b.key and a.value=b.value sort by a.key, a.value; -explain select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key; +explain vectorization detail +select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key; select /*+ mapjoin(b, c) */ a.key from t3 a left semi join t1 b on a.key = b.key left semi join t2 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; +explain vectorization detail +select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; select a.key from t3 a left outer join t1 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; -explain select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; +explain vectorization detail +select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; select a.key from t1 a full outer join t3 b on a.key = b.key left semi join t2 c on b.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key; +explain vectorization detail +select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key; select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key; +explain vectorization detail +select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key; select a.key from t3 a left semi join t2 b on a.key = b.key right outer join t1 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key; +explain vectorization detail +select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key; select a.key from t3 a left semi join t1 b on a.key = b.key full outer join t2 c on a.key = c.key sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key; +explain vectorization detail +select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key; select a.key from t3 a left semi join t2 b on a.key = b.key left outer join t1 c on a.value = c.value sort by a.key; -explain select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100; +explain vectorization detail +select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100; select a.key from t3 a left semi join t2 b on a.value = b.value where a.key > 100; http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_mapjoin_reduce.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_mapjoin_reduce.q b/ql/src/test/queries/clientpositive/vector_mapjoin_reduce.q index c9e9e48..d960559 100644 --- a/ql/src/test/queries/clientpositive/vector_mapjoin_reduce.q +++ b/ql/src/test/queries/clientpositive/vector_mapjoin_reduce.q @@ -2,6 +2,7 @@ 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; -- SORT_QUERY_RESULTS @@ -9,7 +10,7 @@ SET hive.auto.convert.join=true; -- Query copied from subquery_in.q -- non agg, non corr, with join in Parent Query -explain +explain vectorization expression select p.p_partkey, li.l_suppkey from (select distinct l_partkey as p_partkey from lineitem) p join lineitem li on p.p_partkey = li.l_partkey where li.l_linenumber = 1 and @@ -23,7 +24,7 @@ where li.l_linenumber = 1 and ; -- non agg, corr, with join in Parent Query -explain +explain vectorization expression select p.p_partkey, li.l_suppkey from (select distinct l_partkey as p_partkey from lineitem) p join lineitem li on p.p_partkey = li.l_partkey where li.l_linenumber = 1 and http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_mr_diff_schema_alias.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_mr_diff_schema_alias.q b/ql/src/test/queries/clientpositive/vector_mr_diff_schema_alias.q index 1f17669..22830a5 100644 --- a/ql/src/test/queries/clientpositive/vector_mr_diff_schema_alias.q +++ b/ql/src/test/queries/clientpositive/vector_mr_diff_schema_alias.q @@ -1,6 +1,7 @@ set hive.mapred.mode=nonstrict; set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; +set hive.fetch.task.conversion=none; create table date_dim ( @@ -104,7 +105,7 @@ stored as orc; -- For MR, we are verifying this query DOES NOT vectorize the Map vertex with -- the 2 TableScanOperators that have different schema. -explain select +explain vectorization select s_state, count(1) from store_sales, store, http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_multi_insert.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_multi_insert.q b/ql/src/test/queries/clientpositive/vector_multi_insert.q index 374a0da..c56ee1c 100644 --- a/ql/src/test/queries/clientpositive/vector_multi_insert.q +++ b/ql/src/test/queries/clientpositive/vector_multi_insert.q @@ -1,6 +1,6 @@ set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; -set hive.fetch.task.conversion=minimal; +set hive.fetch.task.conversion=none; create table orc1 stored as orc @@ -22,7 +22,7 @@ create table orc_rn3 (rn int); analyze table orc1 compute statistics; -explain from orc1 a +explain vectorization from orc1 a insert overwrite table orc_rn1 select a.* where a.rn < 100 insert overwrite table orc_rn2 select a.* where a.rn >= 100 and a.rn < 1000 insert overwrite table orc_rn3 select a.* where a.rn >= 1000; http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_non_constant_in_expr.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_non_constant_in_expr.q b/ql/src/test/queries/clientpositive/vector_non_constant_in_expr.q index 69142bf..113ea7f 100644 --- a/ql/src/test/queries/clientpositive/vector_non_constant_in_expr.q +++ b/ql/src/test/queries/clientpositive/vector_non_constant_in_expr.q @@ -1,4 +1,4 @@ SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=none; -explain SELECT * FROM alltypesorc WHERE cint in (ctinyint, cbigint); \ No newline at end of file +explain vectorization SELECT * FROM alltypesorc WHERE cint in (ctinyint, cbigint); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_non_string_partition.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_non_string_partition.q b/ql/src/test/queries/clientpositive/vector_non_string_partition.q index bffc93e..cf3e765 100644 --- a/ql/src/test/queries/clientpositive/vector_non_string_partition.q +++ b/ql/src/test/queries/clientpositive/vector_non_string_partition.q @@ -4,16 +4,17 @@ SET hive.vectorized.execution.enabled=true; CREATE TABLE non_string_part(cint INT, cstring1 STRING, cdouble DOUBLE, ctimestamp1 TIMESTAMP) PARTITIONED BY (ctinyint tinyint) STORED AS ORC; SET hive.exec.dynamic.partition.mode=nonstrict; SET hive.exec.dynamic.partition=true; +set hive.fetch.task.conversion=none; INSERT OVERWRITE TABLE non_string_part PARTITION(ctinyint) SELECT cint, cstring1, cdouble, ctimestamp1, ctinyint fROM alltypesorc WHERE ctinyint IS NULL AND cdouble IS NOT NULL ORDER BY cdouble; SHOW PARTITIONS non_string_part; -EXPLAIN SELECT cint, ctinyint FROM non_string_part WHERE cint > 0 ORDER BY cint LIMIT 10; +EXPLAIN VECTORIZATION EXPRESSION SELECT cint, ctinyint FROM non_string_part WHERE cint > 0 ORDER BY cint LIMIT 10; SELECT cint, ctinyint FROM non_string_part WHERE cint > 0 ORDER BY cint LIMIT 10; -EXPLAIN SELECT cint, cstring1 FROM non_string_part WHERE cint > 0 ORDER BY cint, cstring1 LIMIT 10; +EXPLAIN VECTORIZATION EXPRESSION SELECT cint, cstring1 FROM non_string_part WHERE cint > 0 ORDER BY cint, cstring1 LIMIT 10; SELECT cint, cstring1 FROM non_string_part WHERE cint > 0 ORDER BY cint, cstring1 LIMIT 10; http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_null_projection.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_null_projection.q b/ql/src/test/queries/clientpositive/vector_null_projection.q index 66c0838..711b8e7 100644 --- a/ql/src/test/queries/clientpositive/vector_null_projection.q +++ b/ql/src/test/queries/clientpositive/vector_null_projection.q @@ -10,12 +10,12 @@ insert into table a values('aaa'); insert into table b values('aaa'); -- We expect no vectorization due to NULL (void) projection type. -explain +explain vectorization expression select NULL from a; select NULL from a; -explain +explain vectorization expression select NULL as x from a union distinct select NULL as x from b; select NULL as x from a union distinct select NULL as x from b; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_nullsafe_join.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_nullsafe_join.q b/ql/src/test/queries/clientpositive/vector_nullsafe_join.q index b316a54..6a7ff72 100644 --- a/ql/src/test/queries/clientpositive/vector_nullsafe_join.q +++ b/ql/src/test/queries/clientpositive/vector_nullsafe_join.q @@ -1,6 +1,7 @@ set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.auto.convert.join=true; +set hive.fetch.task.conversion=none; -- SORT_QUERY_RESULTS -- @@ -20,19 +21,19 @@ CREATE TABLE myinput1 STORED AS ORC AS SELECT * FROM myinput1_txt; SET hive.vectorized.execution.mapjoin.native.enabled=false; -- merging -explain select * from myinput1 a join myinput1 b on a.key<=>b.value; +explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value; select * from myinput1 a join myinput1 b on a.key<=>b.value; -explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key; +explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key; select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key; -explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key; +explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key; select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key; -explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value; +explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value; select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value; -explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value; +explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value; select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value; -- outer joins @@ -47,19 +48,19 @@ SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key<=>b.value; SET hive.vectorized.execution.mapjoin.native.enabled=true; -- merging -explain select * from myinput1 a join myinput1 b on a.key<=>b.value; +explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value; select * from myinput1 a join myinput1 b on a.key<=>b.value; -explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key; +explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key; select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key; -explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key; +explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key; select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key; -explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value; +explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value; select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value; -explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value; +explain vectorization expression select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value; select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value; -- outer joins http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_number_compare_projection.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_number_compare_projection.q b/ql/src/test/queries/clientpositive/vector_number_compare_projection.q index feb5e98..3f4f5aa 100644 --- a/ql/src/test/queries/clientpositive/vector_number_compare_projection.q +++ b/ql/src/test/queries/clientpositive/vector_number_compare_projection.q @@ -35,7 +35,7 @@ SET hive.vectorized.execution.enabled=true; -- -- Projection LongCol<Compare>LongScalar -- -EXPLAIN +EXPLAIN VECTORIZATION EXPRESSION SELECT sum(hash(*)) FROM (SELECT t, si, i, (t < 0) as compare1, (si <= 0) as compare2, (i = 0) as compare3 from vectortab2k_orc order by t, si, i) as q; @@ -44,7 +44,7 @@ SELECT sum(hash(*)) FROM (SELECT t, si, i, (t < 0) as compare1, (si <= 0) as compare2, (i = 0) as compare3 from vectortab2k_orc order by t, si, i) as q; -EXPLAIN +EXPLAIN VECTORIZATION EXPRESSION SELECT sum(hash(*)) FROM (SELECT t, si, i, b, (t > 0) as compare1, (si >= 0) as compare2, (i != 0) as compare3, (b > 0) as compare4 from vectortab2k_orc order by t, si, i, b) as q; http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_nvl.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_nvl.q b/ql/src/test/queries/clientpositive/vector_nvl.q index 742bf52..e00e82f 100644 --- a/ql/src/test/queries/clientpositive/vector_nvl.q +++ b/ql/src/test/queries/clientpositive/vector_nvl.q @@ -1,7 +1,8 @@ SET hive.explain.user=false; SET hive.vectorized.execution.enabled=true; +set hive.fetch.task.conversion=none; -EXPLAIN SELECT cdouble, nvl(cdouble, 100) as n +EXPLAIN VECTORIZATION EXPRESSION SELECT cdouble, nvl(cdouble, 100) as n FROM alltypesorc WHERE (cdouble IS NULL) LIMIT 10; @@ -11,7 +12,7 @@ FROM alltypesorc WHERE (cdouble IS NULL) LIMIT 10; -EXPLAIN SELECT cfloat, nvl(cfloat, 1) as n +EXPLAIN VECTORIZATION EXPRESSION SELECT cfloat, nvl(cfloat, 1) as n FROM alltypesorc LIMIT 10; @@ -19,7 +20,7 @@ SELECT cfloat, nvl(cfloat, 1) as n FROM alltypesorc LIMIT 10; -EXPLAIN SELECT nvl(null, 10) as n +EXPLAIN VECTORIZATION EXPRESSION SELECT nvl(null, 10) as n FROM alltypesorc LIMIT 10; @@ -27,7 +28,7 @@ SELECT nvl(null, 10) as n FROM alltypesorc LIMIT 10; -EXPLAIN SELECT nvl(null, null) as n +EXPLAIN VECTORIZATION EXPRESSION SELECT nvl(null, null) as n FROM alltypesorc LIMIT 10; http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_orderby_5.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_orderby_5.q b/ql/src/test/queries/clientpositive/vector_orderby_5.q index 30bcaef..17ccf82 100644 --- a/ql/src/test/queries/clientpositive/vector_orderby_5.q +++ b/ql/src/test/queries/clientpositive/vector_orderby_5.q @@ -1,6 +1,7 @@ set hive.mapred.mode=nonstrict; set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; +set hive.fetch.task.conversion=none; create table vectortab2k( t tinyint, @@ -39,7 +40,7 @@ STORED AS ORC; INSERT INTO TABLE vectortab2korc SELECT * FROM vectortab2k; -explain +explain vectorization expression select bo, max(b) from vectortab2korc group by bo order by bo desc; select bo, max(b) from vectortab2korc group by bo order by bo desc; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_outer_join0.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_outer_join0.q b/ql/src/test/queries/clientpositive/vector_outer_join0.q index dce3a1b..d7586c7 100644 --- a/ql/src/test/queries/clientpositive/vector_outer_join0.q +++ b/ql/src/test/queries/clientpositive/vector_outer_join0.q @@ -2,6 +2,7 @@ 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 orc_table_1(v1 STRING, a INT) STORED AS ORC; CREATE TABLE orc_table_2(c INT, v2 STRING) STORED AS ORC; @@ -12,14 +13,14 @@ insert into table orc_table_2 values (0, "ZERO"),(2, "TWO"), (3, "THREE"),(null, select * from orc_table_1; select * from orc_table_2; -explain +explain vectorization detail select t1.v1, t1.a, t2.c, t2.v2 from orc_table_1 t1 left outer join orc_table_2 t2 on t1.a = t2.c; -- SORT_QUERY_RESULTS select t1.v1, t1.a, t2.c, t2.v2 from orc_table_1 t1 left outer join orc_table_2 t2 on t1.a = t2.c; -explain +explain vectorization detail select t1.v1, t1.a, t2.c, t2.v2 from orc_table_1 t1 right outer join orc_table_2 t2 on t1.a = t2.c; -- SORT_QUERY_RESULTS http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_outer_join1.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_outer_join1.q b/ql/src/test/queries/clientpositive/vector_outer_join1.q index 4a36452..6cb2e45 100644 --- a/ql/src/test/queries/clientpositive/vector_outer_join1.q +++ b/ql/src/test/queries/clientpositive/vector_outer_join1.q @@ -2,6 +2,7 @@ set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.auto.convert.join=true; SET hive.vectorized.execution.mapjoin.native.enabled=true; +set hive.fetch.task.conversion=none; -- Using cint and ctinyint in test queries create table small_alltypesorc1a as select * from alltypesorc where cint is not null and ctinyint is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5; @@ -28,7 +29,7 @@ ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS FOR COLUMNS; select * from small_alltypesorc_a; -explain +explain vectorization detail select * from small_alltypesorc_a c left outer join small_alltypesorc_a cd @@ -41,7 +42,7 @@ from small_alltypesorc_a c left outer join small_alltypesorc_a cd on cd.cint = c.cint; -explain +explain vectorization detail select c.ctinyint from small_alltypesorc_a c left outer join small_alltypesorc_a hd @@ -54,7 +55,7 @@ from small_alltypesorc_a c left outer join small_alltypesorc_a hd on hd.ctinyint = c.ctinyint; -explain +explain vectorization detail select count(*), sum(t1.c_ctinyint) from (select c.ctinyint as c_ctinyint from small_alltypesorc_a c left outer join small_alltypesorc_a cd http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_outer_join2.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_outer_join2.q b/ql/src/test/queries/clientpositive/vector_outer_join2.q index d3b5805..da17806 100644 --- a/ql/src/test/queries/clientpositive/vector_outer_join2.q +++ b/ql/src/test/queries/clientpositive/vector_outer_join2.q @@ -2,6 +2,7 @@ set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.auto.convert.join=true; SET hive.vectorized.execution.mapjoin.native.enabled=true; +set hive.fetch.task.conversion=none; -- Using cint and cbigint in test queries create table small_alltypesorc1a as select * from alltypesorc where cint is not null and cbigint is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5; @@ -28,7 +29,7 @@ ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS FOR COLUMNS; select * from small_alltypesorc_a; -explain +explain vectorization detail select count(*), sum(t1.c_cbigint) from (select c.cbigint as c_cbigint from small_alltypesorc_a c left outer join small_alltypesorc_a cd http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_outer_join3.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_outer_join3.q b/ql/src/test/queries/clientpositive/vector_outer_join3.q index e5fc0a9..3f28251 100644 --- a/ql/src/test/queries/clientpositive/vector_outer_join3.q +++ b/ql/src/test/queries/clientpositive/vector_outer_join3.q @@ -2,6 +2,7 @@ set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.auto.convert.join=true; SET hive.vectorized.execution.mapjoin.native.enabled=true; +set hive.fetch.task.conversion=none; -- Using cint and cstring1 in test queries create table small_alltypesorc1a as select * from alltypesorc where cint is not null and cstring1 is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5; @@ -27,7 +28,7 @@ ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS; ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS FOR COLUMNS; select * from small_alltypesorc_a; -explain +explain vectorization detail formatted select count(*) from (select c.cstring1 from small_alltypesorc_a c left outer join small_alltypesorc_a cd @@ -47,7 +48,7 @@ left outer join small_alltypesorc_a hd on hd.cstring1 = c.cstring1 ) t1; -explain +explain vectorization detail formatted select count(*) from (select c.cstring1 from small_alltypesorc_a c left outer join small_alltypesorc_a cd @@ -67,7 +68,7 @@ left outer join small_alltypesorc_a hd on hd.cstring1 = c.cstring1 ) t1; -explain +explain vectorization detail formatted select count(*) from (select c.cstring1 from small_alltypesorc_a c left outer join small_alltypesorc_a cd http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_outer_join4.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_outer_join4.q b/ql/src/test/queries/clientpositive/vector_outer_join4.q index 45461b5..d024687 100644 --- a/ql/src/test/queries/clientpositive/vector_outer_join4.q +++ b/ql/src/test/queries/clientpositive/vector_outer_join4.q @@ -2,6 +2,7 @@ set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.auto.convert.join=true; SET hive.vectorized.execution.mapjoin.native.enabled=true; +set hive.fetch.task.conversion=none; -- Using cint and ctinyint in test queries create table small_alltypesorc1b as select * from alltypesorc where cint is not null and ctinyint is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 10; @@ -28,7 +29,7 @@ ANALYZE TABLE small_alltypesorc_b COMPUTE STATISTICS FOR COLUMNS; select * from small_alltypesorc_b; -explain +explain vectorization detail formatted select * from small_alltypesorc_b c left outer join small_alltypesorc_b cd @@ -41,7 +42,7 @@ from small_alltypesorc_b c left outer join small_alltypesorc_b cd on cd.cint = c.cint; -explain +explain vectorization detail formatted select c.ctinyint from small_alltypesorc_b c left outer join small_alltypesorc_b hd @@ -54,7 +55,7 @@ from small_alltypesorc_b c left outer join small_alltypesorc_b hd on hd.ctinyint = c.ctinyint; -explain +explain vectorization detail formatted select count(*) from (select c.ctinyint from small_alltypesorc_b c left outer join small_alltypesorc_b cd http://git-wip-us.apache.org/repos/asf/hive/blob/16d28b34/ql/src/test/queries/clientpositive/vector_outer_join5.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/vector_outer_join5.q b/ql/src/test/queries/clientpositive/vector_outer_join5.q index 18b9ab4..b8e788a 100644 --- a/ql/src/test/queries/clientpositive/vector_outer_join5.q +++ b/ql/src/test/queries/clientpositive/vector_outer_join5.q @@ -5,6 +5,7 @@ SET hive.vectorized.execution.mapjoin.native.enabled=true; set hive.auto.convert.join=true; set hive.auto.convert.join.noconditionaltask=true; set hive.auto.convert.join.noconditionaltask.size=10000; +set hive.fetch.task.conversion=none; -- SORT_QUERY_RESULTS @@ -22,7 +23,7 @@ as orc as select ctinyint, cbigint from alltypesorc limit 100; ANALYZE TABLE small_table COMPUTE STATISTICS; ANALYZE TABLE small_table COMPUTE STATISTICS FOR COLUMNS; -explain +explain vectorization detail formatted select count(*) from (select s.*, st.* from sorted_mod_4 s left outer join small_table st @@ -35,7 +36,7 @@ left outer join small_table st on s.ctinyint = st.ctinyint ) t1; -explain +explain vectorization detail formatted select count(*) from (select s.ctinyint, s.cmodint, sm.cbigint from sorted_mod_4 s left outer join small_table sm @@ -48,7 +49,7 @@ left outer join small_table sm on s.ctinyint = sm.ctinyint and s.cmodint = 2 ) t1; -explain +explain vectorization detail formatted select count(*) from (select s.ctinyint, s.cmodint, sm.cbigint from sorted_mod_4 s left outer join small_table sm @@ -61,7 +62,7 @@ left outer join small_table sm on s.ctinyint = sm.ctinyint and pmod(s.ctinyint, 4) = s.cmodint ) t1; -explain +explain vectorization detail formatted select count(*) from (select s.ctinyint, s.cmodint, sm.cbigint from sorted_mod_4 s left outer join small_table sm @@ -74,7 +75,7 @@ left outer join small_table sm on s.ctinyint = sm.ctinyint and s.ctinyint < 100 ) t1; -explain +explain vectorization detail formatted select count(*) from (select s.*, sm.*, s2.* from sorted_mod_4 s left outer join small_table sm @@ -105,7 +106,7 @@ as orc as select pmod(ctinyint, 16) as cmodtinyint, cbigint from alltypesorc lim ANALYZE TABLE small_table2 COMPUTE STATISTICS; ANALYZE TABLE small_table2 COMPUTE STATISTICS FOR COLUMNS; -explain +explain vectorization detail formatted select count(*) from (select s.*, st.* from mod_8_mod_4 s left outer join small_table2 st @@ -118,7 +119,7 @@ left outer join small_table2 st on s.cmodtinyint = st.cmodtinyint ) t1; -explain +explain vectorization detail formatted select count(*) from (select s.cmodtinyint, s.cmodint, sm.cbigint from mod_8_mod_4 s left outer join small_table2 sm @@ -131,7 +132,7 @@ left outer join small_table2 sm on s.cmodtinyint = sm.cmodtinyint and s.cmodint = 2 ) t1; -explain +explain vectorization detail formatted select count(*) from (select s.cmodtinyint, s.cmodint, sm.cbigint from mod_8_mod_4 s left outer join small_table2 sm @@ -144,7 +145,7 @@ left outer join small_table2 sm on s.cmodtinyint = sm.cmodtinyint and pmod(s.cmodtinyint, 4) = s.cmodint ) t1; -explain +explain vectorization detail formatted select count(*) from (select s.cmodtinyint, s.cmodint, sm.cbigint from mod_8_mod_4 s left outer join small_table2 sm @@ -157,7 +158,7 @@ left outer join small_table2 sm on s.cmodtinyint = sm.cmodtinyint and s.cmodtinyint < 3 ) t1; -explain +explain vectorization detail formatted select count(*) from (select s.*, sm.*, s2.* from mod_8_mod_4 s left outer join small_table2 sm