You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Snowflake数据仓库的历史及当前完整详细信息?

最优Snowflake仓库信息获取方案

针对你提到的两种方法的局限,这里给出更全面的解决方案:

1. 获取当前所有仓库的完整配置细节(含多集群)

直接查询INFORMATION_SCHEMA.WAREHOUSES元数据视图即可,它涵盖了所有当前存在的仓库(包括活跃、暂停状态)的全部核心配置,解决了SHOW WAREHOUSES仅能获取活跃仓库、基础细节缺失的问题。

示例查询:

SELECT
    warehouse_name,
    warehouse_size,
    auto_suspend,
    auto_resume,
    min_cluster_count,
    max_cluster_count,
    scaling_policy,
    state,
    created_on,
    updated_on
FROM INFORMATION_SCHEMA.WAREHOUSES;

这个视图包含多集群的最小/最大集群数、缩放策略,以及仓库大小、自动暂停/恢复阈值、当前状态等所有关键细节,无需依赖RESULT_SCAN转换SHOW命令结果。

2. 获取历史仓库(含已删除)的完整信息

如果需要已删除的历史仓库数据,结合WAREHOUSE_EVENTS_HISTORY和QUERY_HISTORY来补全配置细节:

  • WAREHOUSE_EVENTS_HISTORY会记录仓库的创建、删除、修改事件,包括对应的QUERY_ID
  • 通过QUERY_ID关联QUERY_HISTORY,获取创建/修改仓库的DDL语句,从中解析多集群等配置

示例查询:

-- 第一步:获取仓库事件记录(含已删除仓库)
SELECT
    event_time,
    warehouse_name,
    event_type,
    query_id
FROM TABLE(WAREHOUSE_EVENTS_HISTORY(START_TIME => DATEADD('day', -90, CURRENT_TIMESTAMP())))
WHERE event_type IN ('WAREHOUSE_CREATED', 'WAREHOUSE_DROPPED', 'WAREHOUSE_ALTERED');

-- 第二步:通过QUERY_ID获取对应的DDL语句,解析配置
SELECT
    q.query_id,
    q.query_text,
    q.start_time
FROM TABLE(QUERY_HISTORY(START_TIME => DATEADD('day', -90, CURRENT_TIMESTAMP()))) q
JOIN (
    SELECT query_id
    FROM TABLE(WAREHOUSE_EVENTS_HISTORY(START_TIME => DATEADD('day', -90, CURRENT_TIMESTAMP())))
    WHERE event_type IN ('WAREHOUSE_CREATED', 'WAREHOUSE_ALTERED')
) e ON q.query_id = e.query_id;

3. 实时活跃仓库的快速查询

如果仅需当前活跃仓库的完整配置,直接在INFORMATION_SCHEMA.WAREHOUSES中过滤状态即可:

SELECT *
FROM INFORMATION_SCHEMA.WAREHOUSES
WHERE state = 'STARTED';

内容的提问来源于stack exchange,提问作者electric wish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 22:52:46