WAREHOUSE_EVENTS_HISTORY 视图¶
备注
此视图通常适用 (GA) 于 2024_04 行为变更捆绑包。要使用 GA 功能,您的账户中必须 不 禁用 2024_04 行为变更捆绑包。有关视图变更的更多信息,请参阅 WAREHOUSE_EVENTS_HISTORY 视图 (ACCOUNT_USAGE):新列和事件变更。
此 Account Usage 视图可用于返回在过去 365 天(1 年)内账户中的单集群和多集群仓库触发的事件。
支持的事件包括:
创建、弃用或修改仓库,包括调整仓库大小。
恢复或暂停仓库。
恢复、暂停或调整仓库(单集群和多集群仓库)中的集群大小。
停止或启动仓库(仅限多集群仓库)中的其他集群。
列¶
列名称 |
数据类型 |
描述 |
---|---|---|
TIMESTAMP |
TIMESTAMP_LTZ |
触发事件的时间戳。 |
WAREHOUSE_ID |
NUMBER |
与账户中的仓库名称相对应的唯一仓库 ID(由 Snowflake 分配)。 |
WAREHOUSE_NAME |
VARCHAR |
账户中仓库的名称。 |
CLUSTER_NUMBER |
NUMBER |
如果事件是针对多集群仓库中的特定集群触发的,则会显示事件触发时针对的集群的编号(从 1 开始计数);如果该事件是针对仓库中的所有集群触发的,或者不适用于单集群仓库,则显示 NULL。 |
EVENT_NAME |
VARCHAR |
事件的名称。有关可能值的列表,请参阅 EVENT_NAME 描述。 |
EVENT_REASON |
VARCHAR |
事件的原因。有关可能值的列表,请参阅 EVENT_REASON 描述。 |
EVENT_STATE |
VARCHAR |
可能需要时间来完成的事件的状态:STARTED 或 COMPLETED。 |
USER_NAME |
VARCHAR |
发起事件的用户。 |
ROLE_NAME |
VARCHAR |
事件发起时在会话中处于活动状态的角色。 |
QUERY_ID |
VARCHAR |
内部/系统生成的 SQL 语句标识符。 |
SIZE |
VARCHAR |
事件发生时仓库的当前大小。此值仅适用于 WAREHOUSE_CONSISTENT 事件。否则,此值为 NULL。 |
CLUSTER_COUNT |
NUMBER |
事件发生时的仓库集群数量。此值仅适用于 WAREHOUSE_CONSISTENT 事件。否则,此值为 NULL。 |
EVENT_NAME 描述¶
EVENT_REASON 描述¶
下表描述了 EVENT_REASON 列的有效值:
EVENT_REASON |
描述 |
---|---|
WAREHOUSE_AUTORESUME |
由于为仓库启用了 AUTO_RESUME 并且向仓库提交了 SQL 语句,暂停的仓库已自动恢复。 |
WAREHOUSE_RESUME |
用户手动恢复了暂停的仓库。 |
WAREHOUSE_AUTOSUSPEND |
正在运行的仓库被自动暂停,因为已为该仓库启用 AUTO_SUSPEND,并且 AUTO_SUSPEND 已超过定义的非活动时间段。 |
WAREHOUSE_SUSPEND |
用户手动暂停了正在运行的仓库。 |
WAREHOUSE_RESIZE |
仓库大小已调整。 |
RESOURCE_MONITOR_SUSPEND |
由于已达到仓库资源监视器的 Credit 配额,仓库被暂停。 |
MULTICLUSTER_SPINUP |
在多集群仓库中预置了新的或暂停的集群;不适用于单集群仓库。 |
MULTICLUSTER_SPINDOWN |
多集群仓库中正在运行的集群已关闭;不适用于单集群仓库。 |
使用说明¶
此视图的延迟时间可能长达 3 小时。
一个事件如果触发额外的相关事件,可以在视图中生成多行。
EVENT_REASON、USER_NAME、ROLE_NAME 和 QUERY_ID 列的值为 NULL,适用于 WAREHOUSE_CONSISTENT 事件。
WAREHOUSE_CONSISTENT 事件可能与另一个仓库事件共享相同的时间戳,并且会无序列出。
表明操作已完成的仓库事件¶
创建仓库、更改仓库大小或集群数量或暂停仓库的事件都不是原子操作。这意味着这些操作需要一些少量的时间才能完全完成。
例如,如果使用 ALTER WAREHOUSE ...SUSPEND 语句暂停仓库,当前正在仓库中执行的任何查询都必须完成(或超时)才能暂停。在某些情况下,多个仓库事件可能正在进行中(例如,调整大小和暂停)。当所有仓库事件都完成后,仓库将处于 一致 状态。
如果一个 仓库事件 在 EVENT_STATE 列中以 STARTED 状态记录,则它永远不会以 COMPLETED 状态记录。相反,记录状态为 STARTED 的事件后续总会跟随 WAREHOUSE_CONSISTENT 事件。如果存在多个事件记录状态为 STARTED 的仓库事件,这些事件将合并为同一个 WAREHOUSE_CONSISTENT 事件。
如果仓库事件在 EVENT_STATE 列中以 COMPLETED 状态记录,则无后续 WAREHOUSE_CONSISTENT 事件,除非另一个待处理事件以 STARTED 状态记录。
示例¶
查看上周的事件历史记录¶
执行以下语句,以查看仓库 my_wh
上周的事件历史记录:
SELECT timestamp, warehouse_name, cluster_number,
event_name, event_reason, event_state,
size, cluster_count
FROM SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_EVENTS_HISTORY
WHERE warehouse_name = 'MY_WH'
AND timestamp > DATEADD('day', -7, CURRENT_TIMESTAMP())
ORDER BY timestamp DESC;
示例事件历史记录结果¶
没有待处理更改的语句的事件历史记录¶
当没有其他待处理的更改时,ALTER WAREHOUSE 语句以 COMPLETED 状态记录:例如,以下语句更新仓库 my_wh
的注释:
ALTER WAREHOUSE my_wh SET
COMMENT = 'Updated comment for warehouse';
此语句将导致 WAREHOUSE_EVENTS_HISTORY 视图中出现以下行:
TIMESTAMP |
WAREHOUSE_NAME |
EVENT_NAME |
EVENT_STATE |
SIZE |
CLUSTER_COUNT |
---|---|---|---|---|---|
2024-04-26 16:42:13.513 +0000 |
MY_WH |
ALTER_WAREHOUSE |
COMPLETED |
NULL |
NULL |
后跟 WAREHOUSE_CONSISTENT 事件的语句的事件历史记录¶
当 ALTER WAREHOUSE 语句更改仓库大小时,后续会发生额外事件。例如,调整仓库 my_wh
的大小:
ALTER WAREHOUSE my_wh SET
WAREHOUSE_SIZE = 'SMALL';
此语句将导致 WAREHOUSE_EVENTS_HISTORY 视图中出现以下行:
TIMESTAMP |
WAREHOUSE_NAME |
EVENT_NAME |
EVENT_STATE |
SIZE |
CLUSTER_COUNT |
---|---|---|---|---|---|
2024-05-29 15:13:05.874 +0000 |
MY_WH |
ALTER_WAREHOUSE |
STARTED |
NULL |
NULL |
2024-05-29 15:13:05.874 +0000 |
MY_WH |
RESIZE_WAREHOUSE |
STARTED |
NULL |
NULL |
2024-05-29 15:13:06.036 +0000 |
MY_WH |
WAREHOUSE_CONSISTENT |
COMPLETED |
SMALL |
1 |
2024-05-29 15:13:06.036 +0000 |
MY_WH |
RESIZE_CLUSTER |
COMPLETED |
NULL |
NULL |
Snowflake 发起的仓库事件的事件历史记录¶
当 Snowflake 恢复多集群仓库时,记录以下仓库事件:
TIMESTAMP |
WAREHOUSE_NAME |
EVENT_NAME |
EVENT_STATE |
SIZE |
CLUSTER_COUNT |
---|---|---|---|---|---|
2024-04-23 17:04:11.618 +0000 |
MY_WH |
SPINUP_CLUSTER |
STARTED |
NULL |
NULL |
2024-04-23 17:04:11.657 +0000 |
MY_WH |
RESUME_CLUSTER |
STARTED |
NULL |
NULL |
2024-04-23 17:04:11.657 +0000 |
MY_WH |
WAREHOUSE_CONSISTENT |
COMPLETED |
LARGE |
5 |