- Kategorien:
COPY_HISTORY¶
Diese Tabellenfunktion kann verwendet werden, um den Ladeverlauf der Snowflake-Daten über verschiedene Dimensionen innerhalb der letzten 14 Tage abzufragen. Die Funktion gibt Ladeaktivitäten für COPY INTO <Tabelle>-Anweisungen und kontinuierliches Datenladen mit Snowpipe zurück. Diese Tabellenfunktion weist keine Begrenzung auf 10.000 Zeilen auf wie Ansicht LOAD_HISTORY. Die Ergebnisse können mithilfe von SQL-Prädikaten gefiltert werden.
Sie können auch Details zum Laden von Daten in Snowsight anzeigen. Siehe Datenladeaktivität mithilfe des Kopierverlaufs überwachen.
Syntax¶
COPY_HISTORY(
TABLE_NAME => '<string>'
, START_TIME => <constant_expr>
[, END_TIME => <constant_expr> ] )
Argumente¶
Erforderlich:
TABLE_NAME => 'string'
Eine Zeichenfolge, mit der ein Tabellenname angegeben wird.
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.
Standard: CURRENT_TIMESTAMP.
Nutzungshinweise¶
Beim Massenladen von Daten gibt diese Funktion Ergebnisse für eine Rolle zurück, die über die MONITOR-Berechtigung für Ihr Snowflake-Konto verfügt, oder für eine Rolle, die über die USAGE-Berechtigung für das Schema und über eine beliebige Berechtigung für die Tabelle verfügt.
Beim Snowpipe-Datenladen liefert diese Funktion Ergebnisse für eine Rolle, die über die MONITOR-Berechtigung für Ihr Snowflake-Konto verfügt, oder für eine Rolle, die über die USAGE-Berechtigung für das Schema und die Datenbank, in der sich die Pipe befindet, und über eine beliebige Berechtigung für die Tabelle verfügt. Wenn MONITOR auf der Pipe nicht verfügbar ist, werden außerdem Pipe-Name, Pipe-Tabellenname, Pipe-Schemaname und Pipe-Katalogname als NULL maskiert.
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.
Diese Ansicht gibt ein Limit von 14 Tagen des Kopierverlaufs zurück. Um diese Einschränkung zu umgehen, können Sie die COPY_HISTORY-Ansicht (Account Usage) verwenden.
Die Ansicht enthält nur COPY INTO-Befehle, die erfolgreich mit oder ohne Fehler ausgeführt wurden.
Wenn Sie ein Tabellenobjekt löschen oder neu erstellen, werden die historischen Daten zum Massenladen von Daten (COPY INTO <Tabelle>-Anweisungen) aus der Tabelle entfernt.
Wenn Sie ein Pipeobjekt löschen oder neu erstellen, werden die historischen Daten zum Laden von Snowpipe-Daten über diese Pipe entfernt.
Ausgabe¶
Die Funktion gibt die folgenden Spalten zurück:
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
FILE_NAME |
TEXT |
Name der Quelldatei und relativer Pfad zur Datei. |
STAGE_LOCATION |
TEXT |
Name des Stagingbereichs, in dem sich die Quelldatei befindet. |
LAST_LOAD_TIME |
TIMESTAMP_LTZ |
Datum und Uhrzeit, wann das Laden der Datei abgeschlossen war. |
ROW_COUNT |
NUMBER |
Anzahl der Zeilen, die aus der Quelldatei geladen wurden. |
ROW_PARSED |
NUMBER |
Anzahl der analysierten Zeilen aus der Quelldatei. |
FILE_SIZE |
NUMBER |
Größe der geladenen Quelldatei (in Byte). |
FIRST_ERROR_MESSAGE |
TEXT |
Erster Fehler der Quelldatei. |
FIRST_ERROR_LINE_NUMBER |
NUMBER |
Zeilennummer des ersten Fehlers. |
FIRST_ERROR_CHARACTER_POS |
NUMBER |
Position des ersten Fehlerzeichens. |
FIRST_ERROR_COLUMN_NAME |
TEXT |
Spaltenname des ersten Fehlers. |
ERROR_COUNT |
NUMBER |
Anzahl der Fehlerzeilen in der Quelldatei. |
ERROR_LIMIT |
NUMBER |
Wenn die Anzahl der Fehler diese Grenze erreicht, wird der Vorgang abgebrochen. |
STATUS |
TEXT |
Status: |
TABLE_CATALOG_NAME |
TEXT |
Name der Datenbank, in der sich die Zieltabelle befindet. |
TABLE_SCHEMA_NAME |
TEXT |
Name des Schemas, in dem sich die Zieltabelle befindet. |
TABLE_NAME |
TEXT |
Name der Zieltabelle. |
PIPE_CATALOG_NAME |
TEXT |
Name der Datenbank, in der sich die Pipe befindet. |
PIPE_SCHEMA_NAME |
TEXT |
Name des Schemas, in dem sich die Pipe befindet. |
PIPE_NAME |
TEXT |
Name der Pipe, die zum Definieren der Ladeparameter dient; |
PIPE_RECEIVED_TIME |
TIMESTAMP_LTZ |
Datum und Uhrzeit des Empfangs der INSERT-Anfrage für die über die Pipe geladene Datei; |
Beispiele¶
Abrufen von Details zu allen Ladeaktivitäten in der letzten Stunde:
select * from table(information_schema.copy_history(TABLE_NAME=>'MYTABLE', START_TIME=> DATEADD(hours, -1, CURRENT_TIMESTAMP())));