监控外部表

Vertica 在系统表中记录有关外部表的信息。您可以使用这些表来跟踪外部数据和针对它的查询。

TABLES 系统表包含有关所有表(包括本地表和外部表)的数据。TABLE_DEFINITION 列特定于外部表。您可以查询此列以查看当前正在使用的所有外部数据源,如下例所示:

=> SELECT table_name, create_time, table_definition FROM tables WHERE table_definition != '';
table_name   |          create_time          |                     table_definition
---------------+-------------------------------+-----------------------------------------------------------
customers_orc | 2018-03-21 11:07:30.159442-04 | COPY from '/home/dbadmin/sample_orc_files/0*' ORC
miscprod      | 2018-06-26 17:40:04.012121-04 | copy from '/home/dbadmin/data/prod.csv'
students      | 2018-06-26 17:46:50.695024-04 | copy from '/home/dbadmin/students.csv'
numbers       | 2018-06-26 17:53:52.407441-04 | copy from '/home/dbadmin/tt.dat'
catalog       | 2018-06-26 18:12:28.598519-04 | copy from '/home/dbadmin/data/prod.csv' delimiter ','
inventory     | 2018-06-26 18:13:06.951802-04 | copy from '/home/dbadmin/data/stores.csv' delimiter ','
test          | 2018-06-27 16:31:39.170866-04 | copy from '/home/dbadmin/data/stores.csv' delimiter ','
                (7 rows)

EXTERNAL_TABLE_DETAILS 表提供了更多详细信息,包括文件大小。Vertica 在查询时计算此表中的值,这可能成本很高,因此请考虑按架构或表限制查询。

=> SELECT table_name, source_format, total_file_size_bytes FROM external_table_details;
table_name   | source_format | total_file_size_bytes
---------------+---------------+-----------------------
customers_orc | ORC           |             619080883
miscprod      | DELIMITED     |                   254
students      | DELIMITED     |                   763
numbers       | DELIMITED     |                    30
catalog       | DELIMITED     |                   254
inventory     | DELIMITED     |                    74
test          | DELIMITED     |                    74
(7 rows)

如果外部表的大小随时间发生显著变化,则应重新运行 ANALYZE_EXTERNAL_ROW_COUNT() 以收集更新的统计信息。请参阅提高外部表的查询性能

LOAD_SOURCES 表显示当前正在进行的加载的信息。此表不记录有关加载 ORC 或 Parquet 数据的信息。