- Kategorien:
VALIDATE_PIPE_LOAD¶
Mit dieser Tabellenfunktion können Datendateien überprüft werden, die von Snowpipe innerhalb eines bestimmten Zeitraums verarbeitet wurden. Die Funktion gibt Details zu Fehlern zurück, die während eines versuchten Datenladevorgangs in Snowflake-Tabellen aufgetreten sind.
Bemerkung
Diese Funktion gibt Pipeaktivitäten in den letzten 14 Tagen zurück.
Syntax¶
VALIDATE_PIPE_LOAD(
PIPE_NAME => '<string>'
, START_TIME => <constant_expr>
[, END_TIME => <constant_expr> ] )
Argumente¶
PIPE_NAME => string
Eine Zeichenfolge, mit der eine Pipe angegeben wird. Die Funktion gibt nur Ergebnisse für die angegebene Pipe zurück.
START_TIME => constant_expr
Zeitstempel (im Format TIMESTAMP_LTZ) aus den letzten 14 Tagen, der den Beginn des Zeitbereichs zum Abrufen von Ladeereignissen markiert.
Optional:
END_TIME => constant_expr
Zeitstempel (im Format TIMESTAMP_LTZ) aus den letzten 14 Tagen, der das Ende des Zeitbereichs zum Abrufen von Ladeereignissen markiert.
Nutzungshinweise¶
Gibt Ergebnisse nur für den Pipe-Eigentümer (d. h. die Rolle mit der Berechtigung OWNERSHIP für die Pipe) oder eine Rolle mit den folgenden Mindestberechtigungen zurück:
Berechtigung
Objekt
Anmerkungen
MONITOR
Pipe
Alternativ wird die globale Berechtigung MONITOR EXECUTION unterstützt.
USAGE
Stagingbereich in der Pipe-Definition
Nur für externe Stagingbereiche
READ
Stagingbereich in der Pipe-Definition
Nur für interne Stagingbereiche
SELECT
Tabelle in der Pipe-Definition
INSERT
Tabelle in der Pipe-Definition
SQL-Operationen auf Schemaobjekten erfordern ebenfalls die USAGE-Berechtigung für die Datenbank und das Schema, die das Objekt enthalten.
Beim Aufrufen einer Tabellenfunktion des Information Schema muss die Sitzung über ein aktives INFORMATION_SCHEMA-Schema verfügen oder der Funktionsname muss vollqualifiziert sein. Weitere Details dazu finden Sie unter Snowflake Information Schema.
Wenn Snowpipe beim Verarbeiten von Datendateien innerhalb des angegebenen Zeitraums keine Fehler feststellte, gibt die Funktion keine Ergebnisse zurück.
Wenn die COPY-Anweisung in der Pipe-Beschreibung eine Abfrage enthält, um die Daten während des Ladens weiter zu transformieren (d. h. eine COPY-Transformation), gibt die Funktion derzeit einen Benutzerfehler zurück.
Wenn der Bereich außerhalb der letzten 15 Tage liegt, wird ein Fehler zurückgegeben.
Ausgabe¶
Die Funktion gibt die folgenden Spalten zurück:
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
ERROR |
TEXT |
Erster Fehler in der Quelldatei. |
FILE |
TEXT |
Name der Quelldatei, in der der Fehler aufgetreten ist. |
LINE |
NUMBER |
Nummer der Zeile in der Quelldatei, in der der Fehler aufgetreten ist. |
CHARACTER |
NUMBER |
Position des Zeichens, bei dem der Fehler aufgetreten ist. |
BYTE_OFFSET |
NUMBER |
Byte-Offset zu dem Zeichen, bei dem der Fehler aufgetreten ist. |
CATEGORY |
TEXT |
Kategorie der Operation, bei der der Fehler aufgetreten ist. |
CODE |
NUMBER |
ID für die in der Spalte ERROR angezeigte Fehlermeldung. |
SQL_STATE |
NUMBER |
SQL-Statuscode. |
COLUMN_NAME |
TEXT |
Name und Reihenfolge der Spalte, die den Fehler enthielt. |
ROW_NUMBER |
NUMBER |
Nummer der Zeile in der Quelldatei, in der der Fehler aufgetreten ist. |
ROW_START_LINE |
NUMBER |
Nummer der ersten Zeile der Tabellenzeile, in der der Fehler aufgetreten ist. |
REJECTED_RECORD |
TEXT |
Datensatz, der den Fehler enthielt. |
Beispiele¶
Überprüfen Sie alle Workloads für die mypipe
-Pipe innerhalb der letzten Stunde:
select * from table(validate_pipe_load( pipe_name=>'MY_DB.PUBLIC.MYPIPE', start_time=>dateadd(hour, -1, current_timestamp())));