在使用vertica的过程中,需要使用一些系统表对数据库集群进行监控,现对一些常用的sql语句进行总结。
1.查看session信息
1
2select * from sessions;
2.关闭某个session
1
2select CLOSE_SESSION ('sessionid');
sessionid由1中的查询获得
3.导出表结构
1
2select export_objects('','tablename');
第一个参数为null表示将结果输出到屏幕,也可以换成一个绝对路径将结果输出到文件中。
4.收集统计信息
1
2select analyze_statistics('tablename');
该函数其实有3个参数,除了表名外,后边还有可选的列参数及收集信息时的抽样百分比(默认为10%)。
5.查看license信息
1
2select audit_license_size();
该函数会输出license允许的数据量及license到期日期,以及目前的数据量。
6.查看某个schema下的所有表的实际占用空间(压缩后的空间使用)
1
2
3
4
5
6
7
8
9
10
11
12SELECT anchor_table_schema, anchor_table_name, SUM(used_bytes) / ( 1024^3 ) AS used_compressed_gb FROM v_monitor.projection_storage Where anchor_table_schema = 'public' GROUP BY anchor_table_schema, anchor_table_name;
当然,也可以指定anchor_table_name来查看某个表的压缩后的空间占用。
7.查看某个表下的projection信息
1
2select get_projections('tablename');
8.对某个表的projection进行刷新
有两种方法:
1
2select START_REFRESH();
该方法会刷新当前schema下的所有未更新到最新的projections,默认会在后台异步执行。
1
2select refresh('tablename');
该方法在前台异步执行,会刷新一个或多个表(参数可以用逗号隔开)。若不指定参数,会刷新所以过期的projections。
9.查看刷新过程及状态
1
2selECT * from projection_refreshes where refresh_status = 'refreshing';
查看哪些projection正在执行刷新。
10.查看每个节点,每个projection的ros容器个数
1
2SELECT node_name, projection_schema, projection_name, SUM(ros_count) AS ros_count FROM v_monitor.projection_storage GROUP BY node_name, projection_schema, projection_name ORDER BY ros_count DESC;
vertica要求每个节点,每个projection的ros容器个数不超过1024,否则,在进行数据加载时可能会报错。
11.查看某个projection的分区个数
1
2seleCT projection_name,count(distinct partition_key) from partitions group by projection_name order by projection_name;
通过对partitions系统表的查询,可以获得更多的分区信息。
12.ros合并操作
1
2select DO_TM_TASK('task'[, '[database.]schema.]{table | projection}]');
常用的task有两个,分别是moveout和mergerout。
- Moveout将数据从WOS复制到Tuple Mover,然后复制到ROS, 数据被分类,编码和压缩成列文件。
- Mergeout将较小的ROS容器组合成较大的容器,以减少碎片。
13.查看正在运行的ros合并操作
1
2seleCT projection_name,ros_count,total_ros_used_bytes from tuple_mover_operations where table_name = 'tablename' and operation_status = 'Running' group by projection_name,ros_count,total_ros_used_bytes order by projection_name;
14.查看加载和拒绝的记录数的一些信息
1
2SELECT schema_name, table_name, load_start, load_duration_ms, is_executing, parse_complete_percent, sort_complete_percent, accepted_row_count, rejected_row_count FROM v_monitor.load_streams;
最后
以上就是烂漫小鸽子最近收集整理的关于vertica常用sql语句总结的全部内容,更多相关vertica常用sql语句总结内容请搜索靠谱客的其他文章。
发表评论 取消回复