- 类别:
系统函数 (系统信息)
SYSTEM$AUTO_REFRESH_STATUS¶
返回外部管理的 Iceberg 表 的自动刷新状态。
语法¶
SYSTEM$AUTO_REFRESH_STATUS('<table_name>')
实参¶
'table_name'
您要检索当前自动刷新状态的 Iceberg 表的名称。
请注意,整个名称必须放在单引号内,包括数据库和架构(如使用完全限定名称)。如果表名区分大小写或包含任何特殊字符或空格,则必须使用双引号。将双引号放在单引号内,例如,
'"Table_Name"'
。
返回¶
该函数返回包含以下名称/值对的 JSON 对象:
{
“executionState”:”<value>”,
”invalidExecutionStateReason”:”<value>”
”pendingSnapshotCount”:<value>,
”oldestSnapshotTime”:<value>,
”currentSnapshotId”:”<value>”,
”lastSnapshotTime”:”<value>”,
”lastUpdatedTime”:<value>
}
其中:
“executionState”
当前执行状态的管道,Snowflake 用于自动化表的元数据刷新。
值:
RUNNING
:自动刷新按预期运行。此状态并不表示 Snowflake 是否正在为管道主动处理事件消息。
STALLED
:自动刷新遇到错误,正在尝试恢复。
STOPPED
:自动刷新遇到无法恢复的错误,除非您采取进一步的措施,否则将停止。有关更多信息,请参阅 错误恢复。”invalidExecutionStateReason”
与
STALLED
或STOPPED
执行状态相关的错误消息。”pendingSnapshotCount”
排队等待自动刷新快照的数量。
”oldestSnapshotTime”
排队快照中最早的时间戳。Snowflake 在快照添加到队列时设置快照的时间戳。
”currentSnapshotId”
Snowflake 正在跟踪的当前快照的 ID。这代表当前表数据对应的快照。
”lastSnapshotTime”
根据 Iceberg 元数据创建的当前快照时间戳。此时间戳对应于在外部目录中生成当前快照的时间。
”lastUpdatedTime”
时间戳,表示 Snowflake 成功处理当前快照的时间。此值与
lastSnapshotTime
之间的差异表示在外部目录中创建快照的时间与 Snowflake 成功刷新表元数据之间的延迟。为了减少延迟,请调整与表相关的目录集成的
REFRESH_INTERVAL_SECONDS
参数。
使用说明¶
调用此函数需要对 Iceberg 表具有 OWNERSHIP 权限的角色。
示例¶
检索表 my_iceberg_table
在架构 db1.schema1
中的自动刷新状态:
SELECT SYSTEM$AUTO_REFRESH_STATUS('db1.schema1.my_iceberg_table');