- Kategorien:
Systemfunktionen (Systeminformationen)
SYSTEM$PIPE_STATUS¶
Ruft eine JSON-Darstellung des aktuellen Status einer Pipe ab.
Weitere Informationen dazu finden Sie unter Snowpipe.
Syntax¶
SYSTEM$PIPE_STATUS( '<pipe_name>' )
Argumente¶
pipe_name
Pipe, für die Sie den aktuellen Status abrufen möchten.
Nutzungshinweise¶
Gibt nur Ergebnisse für den Pipe-Eigentümer (d. h. die Rolle mit der Berechtigung OWNERSHIP für die Pipe) oder eine Rolle mit der Berechtigung MONITOR für die Pipe zurück.
pipe_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>.<Pipe-Name>'
.Wenn der Pipename zwischen Groß- und Kleinschreibung unterscheidet bzw. Sonderzeichen oder Leerzeichen enthält, sind doppelte Anführungszeichen erforderlich, damit sich Groß- und Kleinschreibung/Zeichen korrekt verarbeiten lassen. Die doppelten Anführungszeichen müssen in einfache Anführungszeichen eingeschlossen werden, d. h.
'"<Pipe-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>,“lastPipeErrorTimestamp“:“<Wert>“,“lastPipeFaultTimestamp“:“<Wert>“,“lastIngestedTimestamp“:“<Wert>“,“lastIngestedFilePath“:“<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:
FAILING_OVER
(Pipe wird für Failover vom primären zum sekundären Konto umgeschaltet).
PAUSED
READ_ONLY
(Pipe oder Zieltabelle befindet sich in einer schreibgeschützten Sekundärdatenbank).
RUNNING
(d. h. alles ist normal; Snowflake verarbeitet gerade aktiv Dateien für diese Pipe oder auch nicht).
STOPPED_BY_SNOWFLAKE_ADMIN
(Pipe wurde vom Snowflake-Support gestoppt. Pipe akzeptiert keine neuen Dateien zur Erfassung.)
STOPPED_CLONED
(Pipe ist in einem Datenbank- oder Schema-Klon enthalten).
STOPPED_FEATURE_DISABLED
STOPPED_STAGE_ALTERED
(Pipe wird angehalten, weil der zugrunde liegende Speicherort des Stagingbereichs geändert wurde).
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
STALLED_STAGE_PERMISSION_ERROR
(ein Berechtigungsfehler für einen externen Stagingbereich wurde festgestellt).oldestPendingFilePath
Pfad zur ältesten Datendatei, die derzeit in der Warteschlange zur Verarbeitung bereitsteht. Der Zeitstempel, zu dem die Datei der Warteschlange hinzugefügt wurde, wird über die vorhandene Eigenschaft oldestFileTimestamp zurückgegeben.
oldestFileTimestamp
Frühester Zeitstempel unter den derzeit in der Warteschlange befindlichen Datendateien (so zutreffend), wobei Zeitstempel beim Hinzufügen einer Datei zur Warteschlange festgelegt werden.
pendingFileCount
Anzahl der Dateien in der Warteschlange, die auf das Laden durch die Pipe warten.
Diese Zahl kann sich auch dann erhöhen, wenn eine Pipe angehalten wird. Je nach
AUTO_INGEST
-Einstellung für die Pipe kann sich die Anzahl der Dateien in der Warteschlange wie folgt erhöhen:
AUTO_INGEST = TRUE
Dateien, die dem Bucket oder Container des Cloudspeichers hinzugefügt werden, lösen Benachrichtigungen zu neuen Dateiereignissen in der Pipe aus.
Wenn eine Pipe veraltet, während sie angehalten ist, müssen Sie beachten, dass die
pendingFileCount
-Zählung alle Ereignisbenachrichtigungen ignoriert, die älter als die begrenzte Aufbewahrungsfrist sind.AUTO_INGEST = FALSE
Das Aufrufen des
insertFiles
-REST-Endpunkts löst bei der Pipe das Einstellen der Dateien in die Warteschlange zum Laden aus.lastPipeErrorTimestamp
Zeitstempel, zu dem die Kompilierung der COPY INTO <Tabelle>-Anweisung in der Pipedefinition zuletzt einen Fehler ergab.
lastPipeFaultTimestamp
Zeitstempel, wann zuletzt ein interner Snowflake-Prozessfehler festgestellt wurde.
lastIngestedTimestamp
Zeitstempel der jüngsten Datei, die von Snowpipe erfolgreich in die Zieltabelle geladen wurde.
lastIngestedFilePath
Pfad zu der Datei, die zu dem in lastIngestedTimestamp angegebenen Zeitstempel geladen 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 Meldung, die aus der Warteschlange empfangen wurde. Beachten Sie, dass diese Nachricht möglicherweise nicht für die bestimmte Pipe gilt (z. B. wenn der mit der Meldung verknüpfte Pfad bzw. das verknüpfte Präfix nicht mit dem Pfad/Präfix in der Pipedefinition übereinstimmen). Darüber hinaus werden von Pipes zur automatischen Erfassung nur solche Meldungen verarbeitet, die von erstellten Datenobjekten ausgelöste wurden.
lastForwardedMessageTimestamp
Zeitstempel der letzten Ereignismeldung vom Typ „Objekt erstellen“ mit einem übereinstimmenden Pfad/Präfix, der bzw. das an die Pipe weitergeleitet wurde.
channelErrorMessage
Fehlermeldung beim Versuch, Nachrichten aus der zugehörigen Google Cloud Pub/Sub-Warteschlange bzw. Microsoft Azure Event Grid-Speicherwarteschlange 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 „create object“-Ereignisbenachrichtigungen für die Pipe aus der Amazon Simple Queue Service (SQS)-Warteschlange, der Google Pub/Sub-Warteschlange oder der Microsoft Azure-Speicherwarteschlange abgerufen hat.
Dieser Wert gilt nur für Snowpipe-Ladevorgänge mit automatischer Erfassung.
lastForwardedFilePath
Pfad der Datendatei, die in der letzten an die Pipe weitergeleiteten „Objekt erstellen“-Ereignismeldung identifiziert wurde.
Beispiele¶
Abrufen des Status für eine Pipe mit einem Namen, bei dem nicht zwischen Groß-/Kleinschreibung unterschieden wird:
SELECT SYSTEM$PIPE_STATUS('mydb.myschema.mypipe'); +---------------------------------------------------+ | SYSTEM$PIPE_STATUS('MYDB.MYSCHEMA.MYPIPE') | |---------------------------------------------------| | {"executionState":"RUNNING","pendingFileCount":0} | +---------------------------------------------------+
Abrufen des Status für eine Pipe mit einem Namen, bei dem zwischen Groß-/Kleinschreibung unterschieden wird:
SELECT SYSTEM$PIPE_STATUS('mydb.myschema."myPipe"'); +---------------------------------------------------+ | SYSTEM$PIPE_STATUS('MYDB.MYSCHEMA."MYPIPE"') | |---------------------------------------------------| | {"executionState":"RUNNING","pendingFileCount":0} | +---------------------------------------------------+