Kategorien:

Systemfunktionen (Systeminformationen)

SYSTEM$AUTO_REFRESH_STATUS

Gibt den Status der automatischen Aktualisierung für eine extern verwaltete Iceberg-Tabelle zurück.

Bemerkung

Um diesen Aktualisierungsstatus für alle anwendbaren, extern verwalteten Apache Iceberg™-Tabellen, für die Sie Zugriffsrechte haben, zurückzugeben, führen Sie den Befehl SHOW ICEBERG TABLES aus und sehen Sie sich die Spalte auto_refresh_status in der Ausgabe an.

Syntax

SYSTEM$AUTO_REFRESH_STATUS('<table_name>')
Copy

Argumente

'table_name'

Der Name der Iceberg-Tabelle, für die Sie den aktuellen Status der automatischen Aktualisierung abrufen möchten.

Wenn Sie den voll qualifizierten Namen verwenden, schließen Sie den gesamten Namen in einfache Anführungszeichen ein, einschließlich der Datenbank und des Schemas. Wenn der Tabellenname zwischen Groß- und Kleinschreibung unterscheidet oder Sonderzeichen oder Leerzeichen enthält, müssen Sie doppelte Anführungszeichen verwenden. Schließen Sie die doppelten Anführungszeichen in einfache Anführungszeichen ein, zum Beispiel '"Table_Name"'.

Rückgabewerte

Die Funktion gibt ein JSON-Objekt zurück, das die folgenden Name/Wert-Paare enthält:

{
  "executionState":"<value>",
  "invalidExecutionStateReason":"<value>",
  "pendingSnapshotCount":"<value>",
  "oldestSnapshotTime":"<value>",
  "currentSnapshotId":"<value>",
  "currentSnapshotSummary":"<value>",
  "lastSnapshotTime":"<value>",
  "lastUpdatedTime":"<value>",
  "currentMetadataFile":"<value>",
  "currentSchemaId":"<value>"
}
Copy

Wobei:

executionState

Aktueller Stand der Ausführung der Pipe, die Snowflake verwendet, um Aktualisierungen für die Tabelle zu automatisieren.

Werte:

  • RUNNING: Die automatische Aktualisierung läuft wie erwartet. Dieser Status zeigt nicht an, ob Snowflake aktiv Ereignismeldungen für die Pipe verarbeitet.

  • STALLED: Bei der automatischen Aktualisierung ist ein Fehler aufgetreten und es wird versucht, den Fehler zu beheben.

  • STOPPED: Die automatische Aktualisierung ist auf einen nicht behebbaren Fehler gestoßen und wird gestoppt, wenn Sie keine weiteren Aktionen durchführen. Weitere Informationen dazu finden Sie unter Fehlerbehebung.

invalidExecutionStateReason

Fehlermeldung in Verbindung mit einem STALLED oder STOPPED Ausführungsstatus.

pendingSnapshotCount

Anzahl der Snapshots in der Warteschlange für die automatische Aktualisierung.

oldestSnapshotTime

Frühester Zeitstempel unter den Snapshots in der Warteschlange. Snowflake stellt den Zeitstempel für einen Snapshot ein, wenn der Snapshot zur Warteschlange hinzugefügt wird.

currentSnapshotId

ID des aktuellen Snapshots, den Snowflake verfolgt. Dies stellt den Snapshot dar, dem die aktuellen Tabellendaten entsprechen.

currentSnapshotSummary

Die Iceberg Snapshot-Zusammenfassung aus der Datei metadata.json. NULL falls nicht in der Metadaten-Datei vorhanden.

lastSnapshotTime

Erstellungszeitstempel für den aktuellen Snapshot gemäß den Iceberg-Metadaten. Dieser Zeitstempel entspricht dem Zeitpunkt, an dem der aktuelle Snapshot im externen Katalog erstellt wurde.

lastUpdatedTime

Zeitstempel, der angibt, wann Snowflake den aktuellen Snapshot erfolgreich verarbeitet hat. Die Differenz zwischen diesem Wert und lastSnapshotTime gibt die Latenzzeit zwischen der Erstellung von Snapshots im externen Katalog und der erfolgreichen Aktualisierung der Metadaten der Tabelle durch Snowflake an.

Um die Latenzzeit zu verringern, passen Sie den Parameter REFRESH_INTERVAL_SECONDS für die mit der Tabelle verbundene Katalogintegration an.

currentMetadataFile

Der vollständige Pfad zur aktuellen Metadatendatei.

currentSchemaId

ID des aktuellen Schemas.

Nutzungshinweise

  • Zum Aufrufen dieser Funktion ist eine Rolle erforderlich, die über die Berechtigung OWNERSHIP für die Iceberg-Tabelle verfügt.

  • Für Delta-basierte Tabellen beachten Sie bitte Folgendes:

    • Im Zusammenhang mit dieser Funktion und der automatischen Aktualisierung in Snowflake bezieht sich der Begriff „Snapshot“ auf einen Delta-Commit.

    • Die Funktion gibt keinen Wert für lastSnapshotTime zurück.

Beispiele

Rufen Sie den Status der automatischen Aktualisierung für die Tabelle my_iceberg_table im Schema db1.schema1 ab:

SELECT SYSTEM$AUTO_REFRESH_STATUS('db1.schema1.my_iceberg_table');
Copy