blob: 9922b396a39a66f831a02d09e9242820c64d4cfb [file] [log] [blame]
set hive.mapred.mode=nonstrict;
set hive.vectorized.execution.enabled=true;
set hive.fetch.task.conversion=none;
DROP TABLE parquet_struct_type_staging;
DROP TABLE parquet_struct_type;
CREATE TABLE parquet_struct_type_staging (
id int,
st1 struct<f1:int, f2:string>,
st2 struct<f1:int, f3:string>
) ROW FORMAT DELIMITED
FIELDS TERMINATED BY '|'
COLLECTION ITEMS TERMINATED BY ',';
CREATE TABLE parquet_struct_type (
id int,
st1 struct<f1:int, f2:string>,
st2 struct<f1:int, f3:string>
) STORED AS PARQUET;
LOAD DATA LOCAL INPATH '../../data/files/struct_type.txt' OVERWRITE INTO TABLE parquet_struct_type_staging;
-- test data size < 1024
INSERT OVERWRITE TABLE parquet_struct_type
SELECT id, st1, st2 FROM parquet_struct_type_staging where id < 1024;
-- verify the row number
select count(*) from parquet_struct_type;
-- test select all columns and fields
explain vectorization expression select st1, st1.f1, st1.f2, st2, st2.f1, st2.f3 from parquet_struct_type limit 10;
select st1, st1.f1, st1.f2, st2, st2.f1, st2.f3 from parquet_struct_type limit 10;
-- test select fields only
select st1.f1, st2.f1, st2.f3 from parquet_struct_type limit 10;
select st1.f1, st2.f1 from parquet_struct_type limit 10;
-- test complex select with list
explain vectorization expression select sum(st1.f1), st1.f1 from parquet_struct_type where st1.f1 > 500 group by st1.f1 limit 10;
select sum(st1.f1), st1.f1 from parquet_struct_type where st1.f1 > 500 group by st1.f1 order by st1.f1 limit 10;
-- test data size = 1024
INSERT OVERWRITE TABLE parquet_struct_type
SELECT id, st1, st2 FROM parquet_struct_type_staging where id < 1025;
-- verify the row number
select count(*) from parquet_struct_type;
-- test select all columns and fields
select st1, st1.f1, st1.f2, st2, st2.f1, st2.f3 from parquet_struct_type limit 10;
-- test select fields only
select st1.f1, st2.f1, st2.f3 from parquet_struct_type limit 10;
select st1.f1, st2.f1 from parquet_struct_type limit 10;
-- test complex select with list
select sum(st1.f1), st1.f1 from parquet_struct_type where st1.f1 > 500 group by st1.f1 order by st1.f1 limit 10;
-- test data size = 1025
INSERT OVERWRITE TABLE parquet_struct_type
SELECT id, st1, st2 FROM parquet_struct_type_staging where id < 1026;
-- verify the row number
select count(*) from parquet_struct_type;
-- test select all columns and fields
select st1, st1.f1, st1.f2, st2, st2.f1, st2.f3 from parquet_struct_type limit 10;
-- test select fields only
select st1.f1, st2.f1, st2.f3 from parquet_struct_type limit 10;
select st1.f1, st2.f1 from parquet_struct_type limit 10;
-- test complex select with list
select sum(st1.f1), st1.f1 from parquet_struct_type where st1.f1 > 500 group by st1.f1 order by st1.f1 limit 10;