类别:

系统函数 (系统信息)

SYSTEM$AUTO_REFRESH_STATUS

返回外部管理的 Iceberg 表 的自动刷新状态。

语法

SYSTEM$AUTO_REFRESH_STATUS('<table_name>')
Copy

实参

'table_name'

您要检索当前自动刷新状态的 Iceberg 表的名称。

请注意,整个名称必须放在单引号内,包括数据库和架构(如使用完全限定名称)。如果表名区分大小写或包含任何特殊字符或空格,则必须使用双引号。将双引号放在单引号内,例如,'"Table_Name"'

返回

该函数返回包含以下名称/值对的 JSON 对象:

{
  “executionState”:”<value>”,
  ”invalidExecutionStateReason”:”<value>”
  ”pendingSnapshotCount”:<value>,
  ”oldestSnapshotTime”:<value>,
  ”currentSnapshotId”:”<value>”,
  ”lastSnapshotTime”:”<value>”,
  ”lastUpdatedTime”:<value>
}
Copy

其中:

“executionState”

当前执行状态的管道,Snowflake 用于自动化表的元数据刷新。

值:

  • RUNNING:自动刷新按预期运行。此状态并不表示 Snowflake 是否正在为管道主动处理事件消息。

  • STALLED:自动刷新遇到错误,正在尝试恢复。

  • STOPPED:自动刷新遇到无法恢复的错误,除非您采取进一步的措施,否则将停止。有关更多信息,请参阅 错误恢复

”invalidExecutionStateReason”

STALLEDSTOPPED 执行状态相关的错误消息。

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