架构:

ACCOUNT_USAGE

DYNAMIC_TABLE_REFRESH_HISTORY 视图

此 Account Usage 视图显示动态表刷新历史记录的信息。

另请参阅:

DYNAMIC_TABLE_REFRESH_HISTORY (Information Schema)

列名称

数据类型

描述

NAME

VARCHAR

动态表的名称。

SCHEMA_NAME

VARCHAR

包含动态表的架构的名称。

DATABASE_NAME

VARCHAR

包含动态表的数据库的名称。

ID

NUMBER

Snowflake 为动态表生成的内部标识符。

SCHEMA_ID

NUMBER

Snowflake 为包含动态表的架构生成的内部标识符。

DATABASE_ID

NUMBER

Snowflake 为包含动态表的数据库生成的内部标识符。

STATE

VARCHAR

动态表的刷新状态。这可能是以下其中一项:. – EXECUTING:正在刷新。. – SUCCEEDED:刷新成功完成。. – FAILED:刷新在执行期间失败。. – CANCELLED:刷新在执行前取消。. – UPSTREAM_FAILED:由于上游刷新失败,未执行刷新。

STATE_CODE

VARCHAR

表示刷新的当前状态的代码。

STATE_MESSAGE

VARCHAR

刷新的当前状态的说明。

QUERY_ID

VARCHAR

为动态表生成结果的 SQL 语句的 ID。

DATA_TIMESTAMP

TIMESTAMP_LTZ

评估刷新时的事务时间戳。(这可能略早于刷新的实际时间。)动态表目前包含在该时间戳之前到达的基本对象中的所有数据。

REFRESH_START_TIME

TIMESTAMP_LTZ

刷新作业开始的时间。

REFRESH_END_TIME

TIMESTAMP_LTZ

刷新完成的时间。

COMPLETION_TARGET

TIMESTAMP_LTZ

为了保持动态表的滞后时间不超过 TARGET_LAG 参数,此次刷新应在此时间点前完成。等于最后刷新的 DATA_TIMESTAMP + TARGET_LAG。

QUALIFIED_NAME

VARCHAR

动态表完全限定名称,与动态表图形中显示的名称一致。利用 DYNAMIC_TABLE_GRAPH_HISTORY 输出,您可以使用它来联接输出。

LAST_COMPLETED_DEPENDENCY

OBJECT

包含以下属性:.qualified_name:可用的最新依赖项的限定名称。.data_timestamp:该依赖项的刷新版本。

STATISTICS

OBJECT

Contains the following properties: . - numInsertedRows: The number of inserted rows. . - numDeletedRows: The number of rows that were deleted. . - numCopiedRows: The number of rows that were copied unchanged. . - numAddedPartitions: The number of added partitions. . - numRemovedPartitions : The number of removed partitions. . - queuedTimeMs: The time (in milliseconds) spent in the queued state. . - compilationTimeMs: The time (in milliseconds) spent compiling the refresh query. . - executionTimeMs: The time (in milliseconds) spent executing the refresh query. . For successful refreshes, this column includes both the row/partition statistics and the time distribution information. For failed refreshes, this column is populated with the time distribution information only. . For example: If an UPDATE statement updates 1 row in a partition with 10 rows. Then the metrics above show 1 row inserted, 1 deleted, and 9 copied. Additionally, 1 partition is removed and 1 partition added.

REFRESH_ACTION

VARCHAR

其中之一:. – NO_DATA – 基础表中没有新数据。不适用于新建动态表的初始刷新,无论基础表是否有数据。. – REINITIALIZE – 克隆期间更改了基础表或刷新了克隆动态表的源表。. – FULL – 完全刷新,因为动态表包含不可增量的查询元素(请参阅 SHOW DYNAMIC TABLE refresh_mode_reason),或者因为完全刷新比增量刷新便宜。. – INCREMENTAL – 正常增量刷新。

REFRESH_TRIGGER

VARCHAR

其中之一:. – SCHEDULED – 正常后台刷新以满足目标滞后或下游目标滞后。. – MANUAL - 用户/任务使用 ALTER DYNAMIC TABLE <name> REFRESH . – CREATION – 在创建 DDL 语句期间执行的刷新,由创建动态表或任何使用者动态表触发。

TARGET_LAG_SEC

NUMBER

描述刷新时动态表的目标滞后值。

GRAPH_HISTORY_VALID_FROM

TIMESTAMP_NTZ

对 DYNAMIC_TABLE_GRAPH_HISTORY 表函数发生刷新时的 VALID_FROM 时间戳进行编码,以明确特定刷新对应的是动态表的哪个版本。如果尚未创建相应的动态表,该值也可以是 NULL。

使用说明

  • 视图的延迟时间最长可达 3 小时。

  • 要查询该视图,请使用已获得 SNOWFLAKE、USAGE_VIEWER 授权的角色。数据库角色

示例

查找过去一周内刷新失败的动态表。

SELECT
    data_timestamp,
    database_name,
    schema_name,
    name,
    state,
    state_message,
    query_id
  FROM snowflake.account_usage.dynamic_table_refresh_history
  WHERE state = 'FAILED' AND data_timestamp >= dateadd(WEEK, -1, current_date())
  ORDER BY data_timestamp DESC
  LIMIT 10;