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.

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 eine beliebige Berechtigung für die Zieltabelle verfügt.

  • Für das Laden von Daten in Snowpipe gibt diese Funktion nur Ergebnisse 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

    USAGE

    Datenbank und Schema, in denen die Pipe gespeichert wird

    MONITOR

    Pipe

    Alternativ wird die globale Berechtigung MONITOR EXECUTION unterstützt.

    SELECT

    Tabelle in der Pipe-Definition

  • 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.

  • 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())));
Zurück zum Anfang