- 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_name
Externe 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_name
ist 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.
'"<Name_der_Pipe>"'
.
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:
executionState
Aktueller 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_ADMIN
oldestPendingFilePath
Pfad 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
oldestFileTimestamp
zurückgegeben.oldestFileTimestamp
Frü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.
pendingFileCount
Anzahl der Dateien, die von der Pipe derzeit verarbeitet werden. Dieser Wert sinkt, wenn die Metadaten der externen Tabelle aktualisiert werden. Wenn dieser Wert
0
ist, stehen keine Aktualisierungsoperationen von Metadaten für diese Pipe an.lastPipeFaultTimestamp
Zeitstempel, wann zuletzt ein interner Snowflake-Prozessfehler festgestellt wurde.
notificationChannelName
Azure-SQS-Warteschlange oder Microsoft Azure-Speicherwarteschlange, die der Pipe zugeordnet ist.
numOutstandingMessagesOnChannel
Anzahl der Nachrichten in der Warteschlange, die in die Warteschlange gestellt, aber noch nicht empfangen wurden.
lastReceivedMessageTimestamp
Zeitstempel der letzten Nachricht, die aus der Warteschlange empfangen wurde.
lastForwardedMessageTimestamp
Zeitstempel der letzten anwendbaren Ereignismeldung mit einem übereinstimmenden Pfad/Präfix, die an die Pipe weitergeleitet wurde.
channelErrorMessage
Fehlermeldung beim Versuch, Meldungen aus der zugehörigen Warteschlange des Cloudmessagingdienstes zu lesen.
lastErrorRecordTimestamp
Zeitstempel der letzten Kanalfehlermeldung (d. h. der im
channelErrorMessage
-Wert gemeldeten Fehlermeldung).error
Fehlermeldung, 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.
fault
Letzter interner Snowflake-Verarbeitungsfehler (falls zutreffend). Wird von Snowflake hauptsächlich zum Debuggen verwendet.
lastPulledFromChannelTimestamp
Zeitstempel, zu dem Snowpipe zuletzt Ereignisbenachrichtigungen für die Pipe aus der Warteschlange des Cloudmessagingdienstes abgerufen hat.
lastForwardedFilePath
Pfad 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} | +---------------------------------------------------------------+