blob: c7bc291f17d785519ae4bb359052a7c485829123 [file] [log] [blame]
-- @@@ START COPYRIGHT @@@
--
-- Licensed to the Apache Software Foundation (ASF) under one
-- or more contributor license agreements. See the NOTICE file
-- distributed with this work for additional information
-- regarding copyright ownership. The ASF licenses this file
-- to you under the Apache License, Version 2.0 (the
-- "License"); you may not use this file except in compliance
-- with the License. You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing,
-- software distributed under the License is distributed on an
-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-- KIND, either express or implied. See the License for the
-- specific language governing permissions and limitations
-- under the License.
--
-- @@@ END COPYRIGHT @@@
-- Tests to retrieve region/cluster space and access stats
-- Tests to retrieve metadata info about hive tables
obey TEST002(clean_up);
log LOG002 clear;
obey TEST002(setup);
obey TEST002(region_stats);
obey TEST002(cluster_stats);
obey TEST002(hive_md);
log;
exit;
?section setup
create schema t002sch;
set schema t002sch;
create table t002t1(a int not null primary key,
b int not null, c int not null);
create index t002t1i1 on t002t1(b);
create index t002t1i2 on t002t1(c);
insert into t002t1 values (1,2, 3);
sh regrhbase.ksh flush 'TRAFODION.T002SCH.T002T1';
sh regrhbase.ksh flush 'TRAFODION.T002SCH.T002T1I1';
sh regrhbase.ksh flush 'TRAFODION.T002SCH.T002T1I2';
select * from t002t1;
create table t002t2(a int not null primary key, b int not null)
salt using 4 partitions;
create index t002t2i1 on t002t2(b);
insert into t002t2 values (1,2);
sh regrhbase.ksh flush 'TRAFODION.T002SCH.T002T2';
sh regrhbase.ksh flush 'TRAFODION.T002SCH.T002T2I1';
select * from t002t2;
-- purgedata should preserve regions
get region stats for table t002t2;
purgedata t002t2;
get region stats for table t002t2;
select * from t002t2;
insert into t002t2 values (1,2);
sh regrhbase.ksh flush 'TRAFODION.T002SCH.T002T2';
sh regrhbase.ksh flush 'TRAFODION.T002SCH.T002T2I1';
select * from t002t2;
?section region_stats
set schema t002sch;
invoke table(region stats ());
invoke table(region stats (t002t1));
select left(trim(schema_name) || '.' || trim(object_name), 14),
region_num, region_name, num_stores, num_store_files,
store_file_uncomp_size, store_file_size, mem_store_size,
'ReadRequestsCount: ' || cast(read_requests_count as varchar(10)),
'WriteRequestsCount: ' || cast(write_requests_count as varchar(10))
from table(region stats(t002t1));
select left(trim(schema_name) || '.' || trim(object_name), 14),
region_num, region_name, num_stores, num_store_files,
store_file_uncomp_size, store_file_size, mem_store_size,
'ReadRequestsCount: ' || cast(read_requests_count as varchar(10)),
'WriteRequestsCount: ' || cast(write_requests_count as varchar(10))
from table(region stats(index t002t1i1));
select left(trim(schema_name) || '.' || trim(object_name), 14),
region_num, region_name, num_stores, num_store_files,
store_file_uncomp_size, store_file_size, mem_store_size,
'ReadRequestsCount: ' || cast(read_requests_count as varchar(10)),
'WriteRequestsCount: ' || cast(write_requests_count as varchar(10))
from table(region stats(t002t2));
select left(trim(schema_name) || '.' || trim(object_name), 14),
region_num, region_name, num_stores, num_store_files,
store_file_uncomp_size, store_file_size, mem_store_size,
'ReadRequestsCount: ' || cast(read_requests_count as varchar(10)),
'WriteRequestsCount: ' || cast(write_requests_count as varchar(10))
from table(region stats(index t002t2i1));
select left(trim(schema_name) || '.' || trim(object_name), 14),
sum(store_file_size),
'ReadRequestsCount: ' || cast(sum(read_requests_count) as varchar(10)),
'WriteRequestsCount: ' || cast(sum(write_requests_count) as varchar(10))
from table(region stats (using (select * from (
get tables in schema t002sch, no header, return full names) x(a) )))
group by 1 order by 2 desc;
select left(trim(schema_name) || '.' || trim(object_name), 14),
sum(store_file_size),
'ReadRequestsCount: ' || cast(sum(read_requests_count) as varchar(10)),
'WriteRequestsCount: ' || cast(sum(write_requests_count) as varchar(10))
from table(region statistics (using (select * from (
get tables in schema t002sch, no header, return full names) x(a) )))
group by 1 order by 2 desc;
get region stats for table t002t1;
get region stats for index t002t1i1;
get region stats for table t002t2;
get region stats for index t002t2i1;
get region statistics for table t002t1;
get region stats for
(select * from
(get tables in schema t002sch, no header, return full names)x(a));
-- stats for all indexes on a table
select left(trim(schema_name) || '.' || trim(object_name), 14),
region_num, region_name, num_stores, num_store_files,
store_file_uncomp_size, store_file_size, mem_store_size,
'ReadRequestsCount: ' || cast(read_requests_count as varchar(10)),
'WriteRequestsCount: ' || cast(write_requests_count as varchar(10))
from table(region stats (using (select * from (
get indexes on table t002t1, no header, return full names) x(a) )));
get region stats for
(select * from
(get indexes on table t002t1, no header, return full names)x(a));
-- return summary stats only
get region stats for table t002t1, summary;
get region stats for index t002t1i1, summary;
get region stats for table t002t2, summary;
get region stats for index t002t2i1, summary;
get region stats for
(select * from
(get tables in schema t002sch, no header, return full names)x(a)), summary;
-- where preds
select cast(trim(schema_name) || '.' || trim(object_name) as char(30) character set iso88591),
region_num, region_name, num_stores, num_store_files
from table(region stats(t002t1))
where object_name = 'T002T1';
select cast(trim(object_name) as char(30) character set iso88591),
sum(store_file_size)
from table(region statistics (using (select * from (
get tables in schema t002sch, no header, return full names) x(a) )))
where object_name like 'T002T1%'
group by 1 order by 2 desc;
?section cluster_stats
invoke table(cluster stats());
select cast(trim(schema_name) || '.' || trim(object_name) as char(30) character set iso88591),
sum(store_file_size)
from table(cluster stats())
where schema_name = 'T002SCH'
group by 1 order by 2 desc;
select cast('RegionName: ' || trim(region_name) as char(30) character set iso88591),
sum(store_file_size)
from table(cluster stats())
where schema_name = 'T002SCH'
group by 1 order by 2 desc;
?section hive_md
cqd hive_max_string_length_in_bytes '20';
invoke table(hivemd(tables));
invoke table(hivemd(columns));
process hive statement 'drop table thive002';
process hive statement 'create table thive002 (a int, b string)';
select cast(table_name as char(30) character set iso88591),
file_format, num_cols, num_part_cols, num_bucket_cols, num_sort_cols,
field_delimiter, record_terminator, hive_table_type
from table(hivemd(tables, "hive", "thive002"))
where file_format = 'TEXTFILE';
select cast(table_name as char(30) character set iso88591),
file_format, num_cols, num_part_cols, num_bucket_cols, num_sort_cols,
field_delimiter, record_terminator, hive_table_type
from table(hivemd(tables)) where table_name = 'thive002'
and file_format = 'TEXTFILE';
cqd nested_joins 'OFF';
select cast(column_name as char(30) character set iso88591),
sql_data_type, fs_data_type, hive_data_type,
column_size, column_scale,
column_number, part_col_number, bucket_col_number, sort_col_number
from table(hivemd(columns, "hive", "thive002")) C,
table(hivemd(tables, "hive", "thive002")) T
where C.table_name = T.table_name
and T.file_format = 'TEXTFILE'
order by column_number;
select cast(column_name as char(30) character set iso88591),
sql_data_type, fs_data_type, hive_data_type,
column_size, column_scale,
column_number, part_col_number, bucket_col_number, sort_col_number
from table(hivemd(tables, "hive", "thive002")) T,
table(hivemd(columns, "hive", "thive002")) C
where C.table_name = T.table_name
and T.file_format = 'TEXTFILE'
and T.table_name = 'thive002'
and C.table_name = 'thive002'
order by column_number;
cqd nested_joins reset;
prepare s from select schema_name from table(hivemd(tables)) where table_name = 'thive002' and file_format = 'TEXTFILE';
-- should return one row
execute s;
-- should return one row
execute s;
process hive statement 'drop table thivearr';
process hive statement 'create table thivearr (a array<string>)';
-- should return warning 8742
select table_name from table(hivemd(columns)) where table_name = 'thivearr';
process hive ddl 'drop table thivealldt';
process hive ddl 'create table thivealldt(a smallint, b int, c bigint, d decimal(3,1), e string, f char(10), g varchar(7), h date, i timestamp)';
select fs_data_type, left(sql_data_type, 20) sql_data_type, left(display_data_type, 60) display_data_type, hive_data_type, column_precision, column_scale, column_size from table(hivemd(columns, "hive","thivealldt" ));
create table createOptions (a int) HBASE_OPTIONS
(max_versions = '3',
min_versions = '2',
time_to_live = '100',
blockcache = 'false',
in_memory = 'true',
compression = 'GZ',
bloomfilter = 'ROWCOL',
blocksize = '10000',
data_block_encoding = 'DIFF',
cache_blooms_on_write = 'false',
cache_data_on_write = 'false',
cache_indexes_on_write = 'false',
compact_compression = 'GZ',
prefix_length_key = '10',
evict_blocks_on_close = 'true',
keep_deleted_cells = 'false',
replication_scope = '0',
max_filesize = '4000000' ,
compact = 'true',
durability = 'async_wal',
memstore_flush_size = '2000000',
split_policy = 'org.apache.hadoop.hbase.regionserver.KeyPrefixRegionSplitPolicy',
CACHE_DATA_IN_L1 = 'false',
prefetch_blocks_on_open = 'false'
);
showddl createOptions ;
?section clean_up
set schema t002sch;
drop table t002t1 cascade;
drop table t002t2 cascade;
drop table createOptions ;
drop schema t002sch cascade;