- カテゴリ:
システム関数 (システム情報)
SYSTEM$AUTO_REFRESH_STATUS¶
外部で管理されている Iceberg テーブル の自動リフレッシュステータスを返します。
注釈
アクセス権限を持っている、該当するすべての外部管理 Apache Iceberg™ テーブルについてこの更新ステータスを返すには、 SHOW ICEBERG TABLES コマンドを実行し、出力の auto_refresh_status
列を参照します。
構文¶
SYSTEM$AUTO_REFRESH_STATUS('<table_name>')
引数¶
'table_name'
現在の自動化された更新ステータスを取得したいIcebergテーブルの名前。
完全修飾名を使用する場合は、データベースとスキーマを含め、名前全体を一重引用符で囲みます。テーブル名に大文字と小文字が区別される場合、または特殊文字やスペースが含まれる場合は、二重引用符を使用する必要があります。二重引用符は、一重引用符で囲む必要があります。例えば、
'"Table_Name"'
です。
戻り値¶
この関数は、次の名前/値のペアを含む JSON オブジェクトを返します。
{
"executionState":"<value>",
"invalidExecutionStateReason":"<value>",
"pendingSnapshotCount":"<value>",
"oldestSnapshotTime":"<value>",
"currentSnapshotId":"<value>",
"currentSnapshotSummary":"<value>",
"lastSnapshotTime":"<value>",
"lastUpdatedTime":"<value>",
"currentMetadataFile":"<value>",
"currentSchemaId":"<value>"
}
条件:
executionState
Snowflakeがテーブルのメタデータ更新を自動化するために使用するパイプの現在の実行状態。
値:
RUNNING
: 自動更新は期待通りに実行しています。このステータスは、Snowflakeがパイプのイベントメッセージをアクティブに処理しているかどうかを示すものではありません。
STALLED
: 自動更新でエラーが発生し、回復しようとしています。
STOPPED
: 自動更新で回復不可能なエラーが発生し、さらにアクションを取らない限り停止されます。詳細については、 エラーの回復 をご参照ください。invalidExecutionStateReason
STALLED
またはSTOPPED
実行状態に関連するエラーメッセージ。pendingSnapshotCount
自動更新のためにキューに入れられたスナップショットの数。
oldestSnapshotTime
キューに入れられたスナップショットの中で最も古いタイムスタンプ。Snowflakeは、スナップショットがキューに追加されたときに、スナップショットのタイムスタンプを設定します。
currentSnapshotId
Snowflakeが追跡している現在のスナップショットの ID。これは、現在のテーブルデータが対応するスナップショットを表しています。
currentSnapshotSummary
metadata.json
ファイルからのIcebergスナップショットの概要。メタデータファイルに存在しない場合は NULL。lastSnapshotTime
Icebergメタデータに応じた、現在のスナップショットの作成タイムスタンプ。このタイムスタンプは、現在のスナップショットが外部カタログで生成されたときに対応します。
lastUpdatedTime
Snowflakeが現在のスナップショットを正常に処理したタイミングを示すタイムスタンプ。この値と
lastSnapshotTime
の差は、スナップショットが外部カタログに作成されてから、Snowflakeがテーブルのメタデータを正常に更新するまでの待ち時間示します。待ち時間を減らすには、テーブルに関連するカタログ統合の
REFRESH_INTERVAL_SECONDS
パラメーターを調整します。currentMetadataFile
現在のメタデータファイルのフルパス。
currentSchemaId
現在のスキーマの ID。
使用上の注意¶
この関数を呼び出すには、Icebergテーブルに対して OWNERSHIP 権限を持つロールが必要です。
デルタベースのテーブルについては、以下の点に注意してください。
この関数とSnowflakeの自動リフレッシュのコンテキストでは、「スナップショット」という用語はデルタコミットを指します。
関数は
lastSnapshotTime
の値を返しません。
例¶
スキーマ db1.schema1
内のテーブル my_iceberg_table
の自動更新ステータスを取得します。
SELECT SYSTEM$AUTO_REFRESH_STATUS('db1.schema1.my_iceberg_table');