架构:

ACCOUNT_USAGE

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;
Copy

示例事件历史记录结果

没有待处理更改的语句的事件历史记录

当没有其他待处理的更改时,ALTER WAREHOUSE 语句以 COMPLETED 状态记录:例如,以下语句更新仓库 my_wh 的注释:

ALTER WAREHOUSE my_wh SET
  COMMENT = 'Updated comment for warehouse';
Copy

此语句将导致 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';
Copy

此语句将导致 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

语言: 中文