blob: d7c0570e581264cad6fd4bcb1289511610df59b3 [file] [log] [blame]
--! qt:dataset:src1
--! qt:dataset:src
SET hive.vectorized.execution.enabled=false;
set hive.mapred.mode=nonstrict;
set hive.explain.user=false;
set hive.optimize.skewjoin = true;
set hive.skewjoin.key = 2;
-- SORT_QUERY_RESULTS
CREATE TABLE T1_n128(key STRING, val STRING) STORED AS TEXTFILE;
CREATE TABLE T2_n76(key STRING, val STRING) STORED AS TEXTFILE;
CREATE TABLE T3_n30(key STRING, val STRING) STORED AS TEXTFILE;
CREATE TABLE T4_n17(key STRING, val STRING) STORED AS TEXTFILE;
CREATE TABLE dest_j1_n17(key INT, value STRING) STORED AS TEXTFILE;
LOAD DATA LOCAL INPATH '../../data/files/T1.txt' INTO TABLE T1_n128;
LOAD DATA LOCAL INPATH '../../data/files/T2.txt' INTO TABLE T2_n76;
LOAD DATA LOCAL INPATH '../../data/files/T3.txt' INTO TABLE T3_n30;
LOAD DATA LOCAL INPATH '../../data/files/T1.txt' INTO TABLE T4_n17;
EXPLAIN
FROM src src1 JOIN src src2 ON (src1.key = src2.key)
INSERT OVERWRITE TABLE dest_j1_n17 SELECT src1.key, src2.value;
FROM src src1 JOIN src src2 ON (src1.key = src2.key)
INSERT OVERWRITE TABLE dest_j1_n17 SELECT src1.key, src2.value;
SELECT sum(hash(key)), sum(hash(value)) FROM dest_j1_n17;
set hive.cbo.enable=false;
EXPLAIN
SELECT /*+ STREAMTABLE(a) */ *
FROM T1_n128 a JOIN T2_n76 b ON a.key = b.key
JOIN T3_n30 c ON b.key = c.key
JOIN T4_n17 d ON c.key = d.key;
SELECT /*+ STREAMTABLE(a) */ *
FROM T1_n128 a JOIN T2_n76 b ON a.key = b.key
JOIN T3_n30 c ON b.key = c.key
JOIN T4_n17 d ON c.key = d.key;
EXPLAIN
SELECT /*+ STREAMTABLE(a,c) */ *
FROM T1_n128 a JOIN T2_n76 b ON a.key = b.key
JOIN T3_n30 c ON b.key = c.key
JOIN T4_n17 d ON c.key = d.key;
SELECT /*+ STREAMTABLE(a,c) */ *
FROM T1_n128 a JOIN T2_n76 b ON a.key = b.key
JOIN T3_n30 c ON b.key = c.key
JOIN T4_n17 d ON c.key = d.key;
EXPLAIN FROM T1_n128 a JOIN src c ON c.key+1=a.key SELECT /*+ STREAMTABLE(a) */ sum(hash(a.key)), sum(hash(a.val)), sum(hash(c.key));
FROM T1_n128 a JOIN src c ON c.key+1=a.key SELECT /*+ STREAMTABLE(a) */ sum(hash(a.key)), sum(hash(a.val)), sum(hash(c.key));
EXPLAIN FROM
(SELECT src.* FROM src) x
JOIN
(SELECT src.* FROM src) Y
ON (x.key = Y.key)
SELECT sum(hash(Y.key)), sum(hash(Y.value));
FROM
(SELECT src.* FROM src) x
JOIN
(SELECT src.* FROM src) Y
ON (x.key = Y.key)
SELECT sum(hash(Y.key)), sum(hash(Y.value));
EXPLAIN FROM
(SELECT src.* FROM src) x
JOIN
(SELECT src.* FROM src) Y
ON (x.key = Y.key and substring(x.value, 5)=substring(y.value, 5)+1)
SELECT sum(hash(Y.key)), sum(hash(Y.value));
FROM
(SELECT src.* FROM src) x
JOIN
(SELECT src.* FROM src) Y
ON (x.key = Y.key and substring(x.value, 5)=substring(y.value, 5)+1)
SELECT sum(hash(Y.key)), sum(hash(Y.value));
EXPLAIN
SELECT sum(hash(src1.c1)), sum(hash(src2.c4))
FROM
(SELECT src.key as c1, src.value as c2 from src) src1
JOIN
(SELECT src.key as c3, src.value as c4 from src) src2
ON src1.c1 = src2.c3 AND src1.c1 < 100
JOIN
(SELECT src.key as c5, src.value as c6 from src) src3
ON src1.c1 = src3.c5 AND src3.c5 < 80;
SELECT sum(hash(src1.c1)), sum(hash(src2.c4))
FROM
(SELECT src.key as c1, src.value as c2 from src) src1
JOIN
(SELECT src.key as c3, src.value as c4 from src) src2
ON src1.c1 = src2.c3 AND src1.c1 < 100
JOIN
(SELECT src.key as c5, src.value as c6 from src) src3
ON src1.c1 = src3.c5 AND src3.c5 < 80;
EXPLAIN
SELECT /*+ mapjoin(v)*/ sum(hash(k.key)), sum(hash(v.val)) FROM T1_n128 k LEFT OUTER JOIN T1_n128 v ON k.key+1=v.key;
SELECT /*+ mapjoin(v)*/ sum(hash(k.key)), sum(hash(v.val)) FROM T1_n128 k LEFT OUTER JOIN T1_n128 v ON k.key+1=v.key;
select /*+ mapjoin(k)*/ sum(hash(k.key)), sum(hash(v.val)) from T1_n128 k join T1_n128 v on k.key=v.val;
select /*+ mapjoin(k)*/ sum(hash(k.key)), sum(hash(v.val)) from T1_n128 k join T1_n128 v on k.key=v.key;
select sum(hash(k.key)), sum(hash(v.val)) from T1_n128 k join T1_n128 v on k.key=v.key;
select count(1) from T1_n128 a join T1_n128 b on a.key = b.key;
FROM T1_n128 a LEFT OUTER JOIN T2_n76 c ON c.key+1=a.key SELECT sum(hash(a.key)), sum(hash(a.val)), sum(hash(c.key));
FROM T1_n128 a RIGHT OUTER JOIN T2_n76 c ON c.key+1=a.key SELECT /*+ STREAMTABLE(a) */ sum(hash(a.key)), sum(hash(a.val)), sum(hash(c.key));
FROM T1_n128 a FULL OUTER JOIN T2_n76 c ON c.key+1=a.key SELECT /*+ STREAMTABLE(a) */ sum(hash(a.key)), sum(hash(a.val)), sum(hash(c.key));
SELECT sum(hash(src1.key)), sum(hash(src1.val)), sum(hash(src2.key)) FROM T1_n128 src1 LEFT OUTER JOIN T2_n76 src2 ON src1.key+1 = src2.key RIGHT OUTER JOIN T2_n76 src3 ON src2.key = src3.key;
SELECT sum(hash(src1.key)), sum(hash(src1.val)), sum(hash(src2.key)) FROM T1_n128 src1 JOIN T2_n76 src2 ON src1.key+1 = src2.key JOIN T2_n76 src3 ON src2.key = src3.key;
select /*+ mapjoin(v)*/ sum(hash(k.key)), sum(hash(v.val)) from T1_n128 k left outer join T1_n128 v on k.key+1=v.key;