架构:

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

TEXT

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

LAST_COMPLETED_DEPENDENCY

OBJECT

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

STATISTICS

OBJECT

包含以下属性:.numInsertedRows:插入的行数。.numDeletedRows:删除的行数。.numCopiedRows:在未修改的情况下复制的行数。.numAddedPartitions:新增分区的数量。.numRemovedPartitions:已移除分区的数量。. 例如:如果 UPDATE 语句用 10 行更新分区中的 1 行。然后,上面的指标显示插入了 1 行、删除了 1 行和复制了 9 行。此外,还删除了 1 个分区,并添加了 1 个分区。

REFRESH_ACTION

TEXT

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

REFRESH_TRIGGER

TEXT

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

TARGET_LAG

TEXT

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

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;
Copy
语言: 中文