[Clickhouse] Clickhouse 系统表: 元数据 / 资源 / ...

1 概述:Clickhouse 系统表

system.disk : 磁盘资源信息表

  • 官方文档
  • 表介绍

此系统表中的数据在 ClickHouse Cloud 的每个节点上本地保存。因此,要获取所有数据的完整视图,需要使用 clusterAllReplicas 函数。有关详细信息,请参见 这里

  • 列:
  • name (String) — 服务器配置中磁盘的名称。
  • path (String) — 文件系统中挂载点的路径。
  • free_space (UInt64) — 磁盘上的可用空间(以字节为单位)。
  • total_space (UInt64) — 磁盘容量(以字节为单位)。
  • unreserved_space (UInt64) — 未被保留的可用空间(free_space 减去当前正在进行的合并、插入和其他磁盘写操作所占用的保留空间大小)。
  • keep_free_space (UInt64) — 磁盘上应保持的可用空间量(以字节为单位)。在磁盘配置的 keep_free_space_bytes 参数中定义。
  • 示例
SELECT * FROM system.disks;

┌─name────┬─path─────────────────┬───free_space─┬──total_space─┬─keep_free_space─┐
│ default │ /var/lib/clickhouse/ │ 276392587264 │ 490652508160 │               0 │
└─────────┴──────────────────────┴──────────────┴──────────────┴─────────────────┘

1 rows in set. Elapsed: 0.001 sec.

最佳实践: 查询磁盘使用情况(已使用空间/空闲空间/使用率)

SELECT
    name 
    , path as `文件系统磁盘挂载点的路径`
    , free_space/1024/1024/1024 as `空闲存储空间(GB)`
    , total_space/1024/1024/1024 as `总存储空间(GB)`
    , (total_space - free_space)/total_space*100 as `磁盘使用率(%)`
    , keep_free_space
    , type 
    -- , `status` as `磁盘状态`
FROM system.disks

output:

name 文件系统磁盘挂载点的路径 空闲存储空间(GB) 总存储空间(GB) 磁盘使用率 keep_free_space type 磁盘状态
default /srv/BigData/data1/clickhouse_path/ 571.5957298278809 1278.595272064209 55.29502241119063 0 local good
disk1 /srv/BigData/data1/clickhouse/ 571.4980735778809 1278.497615814209 55.29924604404339 104857600 local good

Z 最佳实践

CASE 元数据-血缘分析:查询有哪些物化视图将数据输出到了指定目标表

-- 查询有哪些物化视图将数据输出到了指定表
SELECT
    database,
    name AS mv_name,
    create_table_query
FROM system.tables
WHERE 1=1
    AND engine = 'MaterializedView'
    AND create_table_query LIKE '%TO bdp_dws.dws_xxx_metrics_l%';   -- 表名大小写敏感就保持原样;不敏感可 like

Y 推荐文献

X 参考文献

  • ...
posted @ 2025-06-17 10:54  千千寰宇  阅读(30)  评论(0)    收藏  举报