DYNAMIC_TABLES¶
此表函数返回有关 动态表 的元数据,其中包括当前时间 7 天内的聚合滞后指标和最近刷新的状态。
语法¶
DYNAMIC_TABLES (
[ NAME => '<string>' ]
[ , REFRESH_DATA_TIMESTAMP_START => <constant_expr> ]
[ , RESULT_LIMIT => <integer> ]
[ , INCLUDE_CONNECTED => { TRUE | FALSE } ]
)
实参¶
所有实参均为可选。如果未提供任何实参,则将返回账户中所有动态表的 100 次刷新。
NAME => 'string'
动态表的名称。
名称必须放在单引号内,并且不区分大小写。
可以指定非限定名称 (
dynamic_table_name
)、部分限定名称 (schema_name.dynamic_table_name
) 或完全限定名称 (database_name.schema_name.dynamic_table_name
)。有关对象名称解析的详细信息,请参阅 对象名称解析。
该函数返回此表的元数据。
REFRESH_DATA_TIMESTAMP_START => constant_expr
用于计算与动态表目标滞后相关的指标的时间(采用 TIMESTAMP_LTZ 格式)。包括 LATEST_DATA_TIMESTAMP 大于或等于 REFRESH_DATA_TIMESTAMP_START 的所有刷新。
默认值:刷新历史记录中的所有刷新将保留 7 天。
RESULT_LIMIT => integer
用于指定函数返回的行数上限的数字。
如果匹配的行数大于此限制,则会返回最近完成的刷新(以及仍在运行的刷新),最高不超过指定的限制。
范围:
1
至10000
默认:
100
。INCLUDE_CONNECTED => { TRUE | FALSE }
当设置为 TRUE 时,该函数将返回连接到 NAME 实参指定的动态表的所有动态表的元数据。
您必须指定 NAME 实参,但不得指定 RESULT_LIMIT 实参。
默认:
FALSE
输出¶
该函数返回以下列:
列名称 |
数据类型 |
描述 |
---|---|---|
NAME |
TEXT |
动态表的名称。 |
SCHEMA_NAME |
TEXT |
包含动态表的架构的名称。 |
DATABASE_NAME |
TEXT |
包含动态表的数据库的名称。 |
QUALIFIED_NAME |
TEXT |
动态表的完全限定名称。 |
TARGET_LAG_SEC |
NUMBER |
动态表的目标滞后时间(以秒为单位)。这是在动态表的 TARGET_LAG 参数中指定的值。 |
TARGET_LAG_TYPE |
TEXT |
目标滞后的类型。可以是以下项之一:
|
SCHEDULING_STATE |
OBJECT |
OBJECT 包括:
|
MEAN_LAG_SEC |
NUMBER |
此动态表刷新的平均滞后时间(以秒为单位)。 |
MAXIMUM_LAG_SEC |
NUMBER |
此动态表刷新的最大滞后时间(以秒为单位)。 |
TIME_ABOVE_TARGET_LAG_SEC |
NUMBER |
在保留期内或自上次配置更改以来,实际滞后大于定义的目标滞后的时间(以秒为单位)。 |
TIME_WITHIN_TARGET_LAG_RATIO |
NUMBER |
在保留期内或自上次配置更改以来,实际滞后在目标滞后范围内的时间比率。 |
LATEST_DATA_TIMESTAMP |
TIMESTAMP_LTZ |
上次成功刷新的数据时间戳。 |
LAST_COMPLETED_REFRESH_STATE |
TEXT |
动态表上次终止刷新的状态。可以是以下项之一:
|
LAST_COMPLETED_REFRESH_STATE_CODE |
TEXT |
表示刷新的当前状态的代码。 如果 LAST_COMPLETED_REFRESH_STATE 为 FAILED,则此列显示与失败关联的错误代码。 |
LAST_COMPLETED_REFRESH_STATE_MESSAGE |
TEXT |
刷新的当前状态的说明。 如果 LAST_COMPLETED_REFRESH_STATE 为 FAILED,则此列显示与失败关联的错误消息。 |
EXECUTING_REFRESH_QUERY |
TEXT |
如果存在,则表示刷新作业的查询 ID。如果为 null,则没有正在进行的刷新作业。 |
使用说明¶
当调用 Information Schema 表函数时,会话必须具有正在使用的 INFORMATION_SCHEMA 架构,或者 函数名称必须受到完全限定。有关更多详细信息,请参阅 Snowflake Information Schema。
示例¶
检索与指定动态表连接的所有动态表的名称、滞后信息和上次成功刷新的数据时间戳。
SELECT
name,
target_lag_sec,
mean_lag_sec,
latest_data_timestamp
FROM
TABLE (
INFORMATION_SCHEMA.DYNAMIC_TABLES (
NAME => 'mydb.myschema.mydt',
INCLUDE_CONNECTED => TRUE
)
)
ORDER BY
target_lag_sec