blob: 39da3a8a1f037e054b5867b32c504ee4defacdf6 [file] [log] [blame]
set hive.explain.user=false;
SET hive.vectorized.execution.enabled=true;
SET hive.vectorized.execution.reduce.enabled=true;
set hive.fetch.task.conversion=none;
set hive.cli.print.header=true;
set hive.mapred.mode=nonstrict;
set hive.merge.mapfiles = false;
set hive.merge.mapredfiles = false;
-- SORT_QUERY_RESULTS
-- Set merging to false above to make the explain more readable
CREATE TABLE T1_text_n11(a STRING, b STRING, c STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' STORED AS TEXTFILE;
LOAD DATA LOCAL INPATH '../../data/files/grouping_sets.txt' INTO TABLE T1_text_n11;
CREATE TABLE T1_n161 STORED AS ORC AS SELECT * FROM T1_text_n11;
-- This tests that cubes and rollups work fine inside sub-queries.
EXPLAIN VECTORIZATION DETAIL
SELECT * FROM
(SELECT a, b, count(*) from T1_n161 where a < 3 group by a, b with cube) subq1
join
(SELECT a, b, count(*) from T1_n161 where a < 3 group by a, b with cube) subq2
on subq1.a = subq2.a;
EXPLAIN VECTORIZATION DETAIL
SELECT * FROM
(SELECT a, b, count(*) from T1_n161 where a < 3 group by cube(a, b) ) subq1
join
(SELECT a, b, count(*) from T1_n161 where a < 3 group by cube(a, b) ) subq2
on subq1.a = subq2.a;
SELECT * FROM
(SELECT a, b, count(*) from T1_n161 where a < 3 group by a, b with cube) subq1
join
(SELECT a, b, count(*) from T1_n161 where a < 3 group by a, b with cube) subq2
on subq1.a = subq2.a;
set hive.new.job.grouping.set.cardinality=2;
-- Since 4 grouping sets would be generated for each sub-query, an additional MR job should be created
-- for each of them
EXPLAIN VECTORIZATION DETAIL
SELECT * FROM
(SELECT a, b, count(*) from T1_n161 where a < 3 group by a, b with cube) subq1
join
(SELECT a, b, count(*) from T1_n161 where a < 3 group by a, b with cube) subq2
on subq1.a = subq2.a;
SELECT * FROM
(SELECT a, b, count(*) from T1_n161 where a < 3 group by a, b with cube) subq1
join
(SELECT a, b, count(*) from T1_n161 where a < 3 group by a, b with cube) subq2
on subq1.a = subq2.a;