Kategorien:

Information Schema, Tabellenfunktionen

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> ] )
Copy

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. NULL, wenn STATUS den Wert Load in progress hat.

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: Load in progress, Loaded, Load failed, Partially loaded oder Load skipped.

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; NULL bei Ladevorgängen mit COPY-Anweisung.

PIPE_RECEIVED_TIME

TIMESTAMP_LTZ

Datum und Uhrzeit des Empfangs der INSERT-Anfrage für die über die Pipe geladene Datei; NULL bei Ladevorgängen mit COPY-Anweisung.

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())));
Copy