blob: f6f7b3323e4d059285cdb5b609c00e0742508a8e [file] [log] [blame]
set hive.mapred.mode=nonstrict;
set hive.stats.autogather=false;
set hive.optimize.union.remove=true;
set hive.auto.convert.join=true;
set hive.merge.mapfiles=true;
set hive.merge.mapredfiles=true;
set hive.merge.smallfiles.avgsize=1;
-- SORT_QUERY_RESULTS
-- This is to test the union->selectstar->filesink optimization
-- Union of 2 subqueries is performed (one of which is a mapred query, and the
-- other one is a map-join query), followed by select star and a file sink.
-- The union selectstar optimization should be performed, and the union should be removed.
-- Since this test creates sub-directories for the output table outputTbl1_n3, it might be easier
-- to run the test only on hadoop 23
-- The final file format is different from the input and intermediate file format.
-- It does not matter, whether the output is merged or not. In this case, merging is turned
-- on
create table inputTbl1_n2(key string, val string) stored as textfile;
create table outputTbl1_n3(key string, `values` bigint) stored as rcfile;
load data local inpath '../../data/files/T1.txt' into table inputTbl1_n2;
explain
insert overwrite table outputTbl1_n3
SELECT * FROM
(
select key, count(1) as `values` from inputTbl1_n2 group by key
union all
select a.key as key, cast(b.val as bigint) as `values`
FROM inputTbl1_n2 a join inputTbl1_n2 b on a.key=b.key
)c;
insert overwrite table outputTbl1_n3
SELECT * FROM
(
select key, count(1) as `values` from inputTbl1_n2 group by key
union all
select a.key as key, cast(b.val as bigint) as `values`
FROM inputTbl1_n2 a join inputTbl1_n2 b on a.key=b.key
)c;
desc formatted outputTbl1_n3;
set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;
select * from outputTbl1_n3;