- Kategorien:
Systemfunktionen (Systeminformationen)
SYSTEM$EXTERNAL_TABLE_PIPE_STATUS¶
Ruft eine JSON-Darstellung des aktuellen Aktualisierungsstatus für das interne (versteckte) Pipeobjekt ab, das mit einer externen Tabelle verbundene ist.
Das automatische Aktualisieren der Metadaten einer externen Tabelle beruht intern auf Snowpipe, das die Ereignisbenachrichtigungen empfängt, wenn Änderungen im überwachten Cloudspeicher auftreten. Weitere Informationen dazu finden Sie unter Einführung in externe Tabellen.
Syntax¶
SYSTEM$EXTERNAL_TABLE_PIPE_STATUS( '<external_table_name>' )
Argumente¶
external_table_nameExterne Tabelle, für die Sie den aktuellen Status der automatischen Aktualisierung abrufen möchten.
Nutzungshinweise¶
Diese Funktion gibt die Ergebnisse nur für den Eigentümer der externen Tabelle zurück (d. h. für die Rolle mit der Berechtigung OWNERSHIP für die externe Tabelle).
external_table_nameist eine Zeichenfolge und muss daher in einfache Anführungszeichen gesetzt werden:Beachten Sie, dass der gesamte Name in einfache Anführungszeichen eingeschlossen werden muss, einschließlich Datenbank und Schema (wenn der Name vollqualifiziert ist), d. h.
'<Datenbank>.<Schema>.<Name_der_externen_Tabelle>'.Wenn der Name der externen Tabelle zwischen Groß- und Kleinschreibung unterscheidet bzw. Sonderzeichen oder Leerzeichen enthält, sind doppelte Anführungszeichen erforderlich, damit sich Groß-/Kleinschreibung und Zeichen korrekt verarbeiten lassen. Die doppelten Anführungszeichen müssen in einfache Anführungszeichen eingeschlossen werden, d. h.
'"<external_table_name>"'.
Ausgabe¶
Die Funktion gibt ein JSON-Objekt zurück, das die folgenden Name/Wert-Paare enthält (falls auf den aktuellen Pipe-Status zutreffend):
{„executionState“:“<Wert>“,“oldestPendingFilePath“:“<Wert>“,“oldestFileTimestamp“:<Wert>,“pendingFileCount“:<Wert>,“lastPipeFaultTimestamp“:“<Wert>“,“notificationChannelName“:“<Wert>“,“numOutstandingMessagesOnChannel“:<Wert>,“lastReceivedMessageTimestamp“:“<Wert>“,“lastForwardedMessageTimestamp“:“<Wert>“,“error“:<Wert>,“fault“:<Wert>,“lastPulledFromChannelTimestamp“:“<Wert>“,“lastForwardedFilePath“:“<Wert>“}
Wobei:
executionStateAktueller Ausführungsstatus der Pipe. Folgende Werte sind möglich:
RUNNING(d. h. alles ist normal; Snowflake verarbeitet gerade aktiv Ereignismeldungen für diese Pipe oder auch nicht).
STOPPED_CLONED(d. h. die Pipe ist in einem Datenbank- oder Schema-Klon enthalten)
STOPPED_FEATURE_DISABLED
STOPPED_STAGE_DROPPED
STOPPED_FILE_FORMAT_DROPPED
STOPPED_NOTIFICATION_INTEGRATION_DROPPED
STOPPED_MISSING_PIPE
STOPPED_MISSING_TABLE(die in der Pipedefinition definierte Zieltabelle wurde gelöscht)
STALLED_COMPILATION_ERROR
STALLED_INITIALIZATION_ERROR
STALLED_EXECUTION_ERROR
STALLED_INTERNAL_ERROR
PAUSED
PAUSED_BY_SNOWFLAKE_ADMIN
PAUSED_BY_ACCOUNT_ADMINoldestPendingFilePathPfad zur ältesten Datendatei, die derzeit in der Warteschlange für eine Aktualisierungsoperation der Metadaten bereitsteht. Der Zeitstempel für das Hinzufügen der Datei zur Warteschlange wird über die Eigenschaft
oldestFileTimestampzurückgegeben.oldestFileTimestampFrühester Zeitstempel unter den Datendateien, die derzeit in der Warteschlange auf eine Aktualisierungsoperation ihrer Metadaten warten (falls zutreffend), wobei der Zeitstempel beim Hinzufügen einer Datei zur Warteschlange festgelegt wird.
pendingFileCountAnzahl der Dateien, die von der Pipe derzeit verarbeitet werden. Dieser Wert sinkt, wenn die Metadaten der externen Tabelle aktualisiert werden. Wenn dieser Wert
0ist, werden keine Metadaten-Aktualisierungen für diese Pipe in die Warteschlange gestellt.lastPipeFaultTimestampZeitstempel, wann zuletzt ein interner Snowflake-Prozessfehler festgestellt wurde.
notificationChannelNameAzure-SQS-Warteschlange oder Microsoft Azure-Speicherwarteschlange, die der Pipe zugeordnet ist.
numOutstandingMessagesOnChannelAnzahl der Nachrichten in der Warteschlange, die in die Warteschlange gestellt, aber noch nicht empfangen wurden.
lastReceivedMessageTimestampZeitstempel der letzten Nachricht, die aus der Warteschlange empfangen wurde.
lastForwardedMessageTimestampZeitstempel der letzten anwendbaren Ereignismeldung mit einem übereinstimmenden Pfad/Präfix, die an die Pipe weitergeleitet wurde.
channelErrorMessageFehlermeldung beim Versuch, Meldungen aus der zugehörigen Warteschlange des Cloudmessagingdienstes zu lesen.
lastErrorRecordTimestampZeitstempel der letzten Kanalfehlermeldung (d. h. der im
channelErrorMessage-Wert gemeldeten Fehlermeldung).errorFehlermeldung, die erzeugt wurde, als die Pipe für die Ausführung zuletzt kompiliert wurde (falls zutreffend). Ursache sind oft Schwierigkeiten beim Zugriff auf die erforderlichen Objekte (z. B. Tabelle, Stagingbereich, Dateiformat), ausgelöst durch Berechtigungsprobleme oder gelöschte Objekte.
faultLetzter interner Snowflake-Verarbeitungsfehler (falls zutreffend). Wird von Snowflake hauptsächlich zum Debuggen verwendet.
lastPulledFromChannelTimestampZeitstempel, zu dem Snowpipe zuletzt Ereignisbenachrichtigungen für die Pipe aus der Warteschlange des Cloudmessagingdienstes abgerufen hat.
lastForwardedFilePathPfad der Datendatei, die in der letzten an die Pipe weitergeleiteten anwendbaren Ereignismeldung identifiziert wurde.
Beispiele¶
Abrufen des Status der automatischen Aktualisierung für eine externe Tabelle mit einem Namen, bei dem nicht zwischen Groß-/Kleinschreibung unterschieden wird:
SELECT SYSTEM$EXTERNAL_TABLE_PIPE_STATUS('mydb.myschema.exttable'); +---------------------------------------------------------------+ | SYSTEM$EXTERNAL_TABLE_PIPE_STATUS('MYDB.MYSCHEMA.EXTTABLE') | |---------------------------------------------------------------| | {"executionState":"RUNNING","pendingFileCount":0} | +---------------------------------------------------------------+
Abrufen des Status für eine Pipe mit einem Namen, bei dem zwischen Groß-/Kleinschreibung unterschieden wird:
SELECT SYSTEM$EXTERNAL_TABLE_PIPE_STATUS('mydb.myschema."extTable"'); +---------------------------------------------------------------+ | SYSTEM$EXTERNAL_TABLE_PIPE_STATUS('MYDB.MYSCHEMA."extTable"') | |---------------------------------------------------------------| | {"executionState":"RUNNING","pendingFileCount":0} | +---------------------------------------------------------------+