Archivierte Daten abrufen

Bemerkung

Speicherlebenszyklusrichtlinien sind derzeit nicht in Regionen für Regierungsbehörden verfügbar.

Lesen Sie archivierte Daten mithilfe des Befehls CREATE TABLE … FROM ARCHIVE OF.

Die folgende Anweisung erstellt beispielsweise eine neue Tabelle aus archivierten Zeilen, bei denen der Wert in der Spalte event_timestamp zwischen dem 15. und 20. Januar 2023 liegt.

CREATE TABLE my_table
  FROM ARCHIVE OF my_source_table AS st
  WHERE st.event_timestamp BETWEEN '01/15/2023' AND '01/20/2023';
Copy

Details zur Syntax und eine Beschreibung der Parameter finden Sie unter CREATE TABLE … FROM ARCHIVE OF in der Dokumentation zu:doc:CREATE TABLE </sql-reference/sql/create-table>.

Bemerkung

  • Für die Verwendung dieses Befehls ist die Berechtigung OWNERSHIP für die Quelltabelle erforderlich.

  • Die Angabe von Spaltendefinitionen, Richtlinien, Tags oder anderen Einschränkungen wird nicht unterstützt. Snowflake ruft automatisch das Tabellenschema, die Richtlinien, Tags und Einschränkungen aus der Quelltabelle ab.

  • Die WHERE-Klausel ist erforderlich. Das Lesen archivierter Daten ist teuer und sollte nur selten durchgeführt werden. Durch das Filtern der Ergebnisse mit der WHERE-Klausel können Sie die Kosten minimieren, indem Sie sicherstellen, dass Snowflake nur die Daten aus dem Archivspeicher liest, die Sie benötigen.

  • Um die Anzahl der Dateien abzuschätzen, die Snowflake aus dem Archivspeicher abruft, führen Sie den Befehl EXPLAIN vor dieser Operation aus. Die Ausgabe enthält eine createTableFromArchiveData-Operation und zeigt ARCHIVE OF <table> in der Spalte objects für die TableScan-Operation an. Weitere Informationen dazu finden Sie unter Abrufkosten mit EXPLAIN schätzen.

  • Um den Verlauf der Datenabrufe aus dem Archivspeicher anzuzeigen, verwenden Sie die Ansicht ARCHIVE_STORAGE_DATA_RETRIEVAL_USAGE_HISTORY.

  • Zum Abrufen von Daten aus dem COLD Tier des Archivspeichers muss Snowflake zuerst die Dateien aus dem externen Cloudspeicher wiederherstellen. Dieser Prozess kann bis zu 48 Stunden dauern.

    Um diesen Prozess zu unterstützen, stellen Sie die folgenden Parameter entsprechend ein:

    Die Wiederherstellungsvorgänge für den Storage Tier COLD unterstützen maximal 1 Millionen Dateien pro Wiederherstellungsoperation.

  • Wenn Sie eine CREATE TABLE-Operation abbrechen, die Daten aus dem Archivspeicher abruft, können Ihnen immer noch Abrufkosten entstehen.

Abrufkosten mit EXPLAIN schätzen

Verwenden Sie den Befehl EXPLAIN, um zu schätzen, wie viele Dateien Snowflake aus dem Archivspeicher abrufen wird.

Die Befehlsausgabe enthält Folgendes:

  • Einen createTableFromArchiveData-Vorgang in der Spalte operation.

  • ARCHIVE OF <table> in der Spalte:code:objects für den TableScan-Vorgang.

  • Die Anzahl der Partitionen, die in der Spalte assignedPartitions für den TableScan-Archivvorgang abgerufen werden. Dieser Wert gibt die Anzahl der Partitionen an, die Snowflake aus dem Cold Tier wiederherstellt, um die Daten aus dem Archivspeicher abzurufen.

Beispiel:

EXPLAIN
CREATE TABLE my_table
  FROM ARCHIVE OF my_source_table AS st
  WHERE st.event_timestamp BETWEEN '01/15/2023' AND '01/20/2023';
Copy