Kategorien:

Information Schema, Tabellenfunktionen

PIPE_USAGE_HISTORY

Mit dieser Tabellenfunktion kann der Verlauf von mit Snowpipe in Snowflake-Tabellen geladenen Daten innerhalb eines angegebenen Datumsbereichs abgefragt werden. Die Funktion gibt für Ihr gesamtes Snowflake-Konto den Verlauf der geladenen Daten sowie die abgerechneten Credits zurück.

Bemerkung

Diese Funktion gibt Pipeaktivitäten in den letzten 14 Tagen zurück.

Syntax

PIPE_USAGE_HISTORY(
      [ DATE_RANGE_START => <constant_expr> ]
      [, DATE_RANGE_END => <constant_expr> ]
      [, PIPE_NAME => '<string>' ] )
Copy

Argumente

Alle Argumente sind optional.

DATE_RANGE_START => constant_expr, . DATE_RANGE_END => constant_expr

Der Datums-/Uhrzeitbereich innerhalb der letzten 2 Wochen, für den der Datenladeverlauf abgerufen werden soll:

  • Wenn kein Enddatum angegeben ist, wird CURRENT_DATE als Ende des Bereichs verwendet.

  • Wenn kein Startdatum angegeben ist, beginnt der Bereich 10 Minuten vor dem Start von DATE_RANGE_END (d. h. standardmäßig werden die letzten 10 Minuten des Datenladeverlaufs angezeigt). Wenn DATE_RANGE_END beispielsweise den Wert CURRENT_DATE hat, ist der Standardwert für DATE_RANGE_START 23:50 Uhr des vorherigen Tages.

Der Verlauf wird in Schritten von 5 Minuten, 1 Stunde oder 24 Stunden angezeigt (abhängig von der Länge des angegebenen Bereichs).

Wenn der Bereich außerhalb der letzten 15 Tage liegt, wird ein Fehler zurückgegeben.

PIPE_NAME => string

Eine Zeichenfolge, mit der eine Pipe angegeben wird. Es werden nur Datenladevorgänge zurückgegeben, die die angegebene Pipe verwenden.

Wenn kein Pipename angegeben ist, zeigt die Spalte PIPE_NAME in den Ergebnissen NULL an. Jede Zeile enthält die Summen aller innerhalb des Zeitbereichs verwendeten Pipes.

Nutzungshinweise

  • Gibt Ergebnisse nur für die Rolle ACCOUNTADMIN oder für eine Rolle zurück, der die globale Berechtigung MONITOR USAGE explizit erteilt wurde.

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

  • Gelegentlich können Snowflake-Credits durch den Prozess der Datenkomprimierung und -wartung verbraucht werden. Die zurückgegebenen Ergebnisse können zum Beispiel zeigen, dass Sie einige Credits mit 0 Bytes für BYTES_INSERTED und 0 Dateien für FILES_INSERTED verbraucht haben. Dies bedeutet, dass keine Daten geladen wurden, sondern dass Credits für den Datenkomprimierungs- und Datenwartungsprozess verbraucht wurden.

  • Snowflake stellt Benachrichtigungen zur automatischen Aktualisierung externer Tabellen und Verzeichnistabellen in externen Stagingbereichen zu einem Gebührensatz in Rechnung, der dem für Snowpipe-Dateien entspricht. Sie können die Kosten abschätzen, die durch Benachrichtigungen zur automatischen Aktualisierung Ihrer externen Tabellen und Verzeichnistabellen entstehen, indem Sie die Account Usage-Ansicht PIPE_USAGE_HISTORY-Ansicht untersuchen oder die PIPE_USAGE_HISTORY-Funktion abfragen. Beachten Sie, dass Pipes mit automatischer Aktualisierung unter einem NULL-Pipe-Namen aufgelistet sind. Sie können auch die Benachrichtigungshistorie zu automatischen Aktualisierungen externer Tabellen auf Tabellen-/Stagingbereichsebene anzeigen, indem Sie die Information Schema-Tabellenfunktion AUTO_REFRESH_REGISTRATION_HISTORY verwenden.

    Um Gebühren für Benachrichtigungen zu automatischen Aktualisierungen zu vermeiden, können Sie eine manuelle Aktualisierung der externen Tabellen und Verzeichnistabellen ausführen. Bei externen Tabellen kann die Anweisung ALTER EXTERNAL TABLE <Name> REFRESH … verwendet werden, um Ihre externe Tabelle manuell mit dem externen Speicher zu synchronisieren. Bei Verzeichnistabellen kann die Anweisung ALTER STAGE <Name> REFRESH … verwendet werden, um das Verzeichnis manuell mit dem externen Speicher zu synchronisieren.

Ausgabe

Die Funktion gibt die folgenden Spalten zurück:

Spaltenname

Datentyp

Beschreibung

START_TIME

TIMESTAMP_LTZ

Beginn des angegebenen Zeitraums, in dem Daten geladen wurden.

END_TIME

TIMESTAMP_LTZ

Ende des angegebenen Zeitraums, in dem Daten geladen wurden.

PIPE_NAME

TEXT

Name der Pipe, die für einen Datenladevorgang verwendet wurde. Zeigt NULL an, wenn in der Abfrage kein Pipename angegeben ist. Jede Zeile enthält die Summen aller innerhalb des Zeitbereichs verwendeten Pipes.

CREDITS_USED

TEXT

Anzahl der Credits, die für das Laden von Snowpipe-Daten im Fenster zwischen START_TIME und END_TIME in Rechnung gestellt wurden.

BYTES_INSERTED

NUMBER

Anzahl der im Fenster zwischen START_TIME und END_TIME geladenen Bytes.

FILES_INSERTED

NUMBER

Anzahl der im Fenster zwischen START_TIME und END_TIME geladenen Dateien.

Beispiele

Abrufen des Datenladeverlaufs für Ihr Konto für einen 30-Minuten-Bereich (in 5-Minuten-Intervallen):

select *
  from table(information_schema.pipe_usage_history(
    date_range_start=>to_timestamp_tz('2017-10-24 12:00:00.000 -0700'),
    date_range_end=>to_timestamp_tz('2017-10-24 12:30:00.000 -0700')));
Copy

Abrufen des Datenladeverlaufs für Ihr Konto für die letzten 12 Stunden (in 1-Stunden-Intervallen):

select *
  from table(information_schema.pipe_usage_history(
    date_range_start=>dateadd('hour',-12,current_timestamp()),
    pipe_name=>'mydb.public.mypipe'));
Copy

Abrufen des Datenladeverlaufs für Ihr Konto für die letzten 14 Tage (in 1-Tages-Intervallen):

select *
  from table(information_schema.pipe_usage_history(
    date_range_start=>dateadd('day',-14,current_date()),
    date_range_end=>current_date()));
Copy

Abrufen des Datenladeverlaufs für eine in Ihrem Konto angegebene Pipe für die letzten 14 Tage (in 1-Tages-Intervallen):

select *
  from table(information_schema.pipe_usage_history(
    date_range_start=>dateadd('day',-14,current_date()),
    date_range_end=>current_date(),
    pipe_name=>'mydb.public.mypipe'));
Copy