blob: 5b7e61ec0058789ee6674e9e806bffb8d44eba21 [file] [log] [blame]
--! qt:dataset:srcpart
--! qt:dataset:src
set hive.mapred.mode=nonstrict;
set hive.fetch.task.conversion=minimal;
set hive.exec.submitviachild=false;
set hive.exec.submit.local.task.via.child=false;
-- backward compatible (minimal)
explain select * from src limit 10;
select * from src limit 10;
explain select * from srcpart where ds='2008-04-08' AND hr='11' limit 10;
select * from srcpart where ds='2008-04-08' AND hr='11' limit 10;
explain select key from src limit 10;
select key from src limit 10;
-- negative, filter on partition column and non-partition column
explain select * from srcpart where ds='2008-04-08' AND key > 100 limit 10;
select * from srcpart where ds='2008-04-08' AND key > 100 limit 10;
-- negative, filter on non-partition column
explain select * from srcpart where key > 100 limit 10;
select * from srcpart where key > 100 limit 10;
-- negative, table sampling
explain select * from src TABLESAMPLE (0.25 PERCENT) limit 10;
select * from src TABLESAMPLE (0.25 PERCENT) limit 10;
set hive.fetch.task.conversion=more;
-- backward compatible (more)
explain select * from src limit 10;
select * from src limit 10;
explain select * from srcpart where ds='2008-04-08' AND hr='11' limit 10;
select * from srcpart where ds='2008-04-08' AND hr='11' limit 10;
-- select expression
explain select cast(key as int) * 10, upper(value) from src limit 10;
select cast(key as int) * 10, upper(value) from src limit 10;
-- filter on non-partition column
explain select key from src where key < 100 limit 10;
select key from src where key < 100 limit 10;
-- select expr for partitioned table
explain select key from srcpart where ds='2008-04-08' AND hr='11' limit 10;
select key from srcpart where ds='2008-04-08' AND hr='11' limit 10;
-- virtual columns
explain select *, BLOCK__OFFSET__INSIDE__FILE from src where key < 10 limit 10;
select *, BLOCK__OFFSET__INSIDE__FILE from src where key < 100 limit 10;
-- virtual columns on partitioned table
explain select *, BLOCK__OFFSET__INSIDE__FILE from srcpart where key < 10 limit 30;
select *, BLOCK__OFFSET__INSIDE__FILE from srcpart where key < 10 limit 30;
-- bucket sampling
explain select *, BLOCK__OFFSET__INSIDE__FILE from src TABLESAMPLE (BUCKET 1 OUT OF 40 ON key);
select *, BLOCK__OFFSET__INSIDE__FILE from src TABLESAMPLE (BUCKET 1 OUT OF 40 ON key);
explain select *, BLOCK__OFFSET__INSIDE__FILE from srcpart TABLESAMPLE (BUCKET 1 OUT OF 40 ON key);
select *, BLOCK__OFFSET__INSIDE__FILE from srcpart TABLESAMPLE (BUCKET 1 OUT OF 40 ON key);
-- split sampling
explain select * from src TABLESAMPLE (0.25 PERCENT);
select * from src TABLESAMPLE (0.25 PERCENT);
explain select *, BLOCK__OFFSET__INSIDE__FILE from srcpart TABLESAMPLE (0.25 PERCENT);
select *, BLOCK__OFFSET__INSIDE__FILE from srcpart TABLESAMPLE (0.25 PERCENT);
-- sub query
explain
select key, value from (select value key,key value from src where key > 200) a where value < 250 limit 20;
select key, value from (select value key,key value from src where key > 200) a where value < 250 limit 20;
-- lateral view
explain
select key,X from srcpart lateral view explode(array(key,value)) L as x where (ds='2008-04-08' AND hr='11') limit 20;
select key,X from srcpart lateral view explode(array(key,value)) L as x where (ds='2008-04-08' AND hr='11') limit 20;
-- non deterministic func
explain select key, value, BLOCK__OFFSET__INSIDE__FILE from srcpart where ds="2008-04-09" AND rand() > 1;
select key, value, BLOCK__OFFSET__INSIDE__FILE from srcpart where ds="2008-04-09" AND rand() > 1;
-- negative, groupby
explain select key, count(value) from src group by key;
-- negative, distinct
explain select distinct key, value from src;
-- negative, CTAS
explain create table srcx as select distinct key, value from src;
-- negative, analyze
explain analyze table src compute statistics;
-- negative, join
explain select * from src join src src2 on src.key=src2.key;