Kategorien:

DML-Befehle – Entladen von Daten

GET

Lädt Datendateien von einem der folgenden Snowflake-Stagingbereiche in ein lokales Verzeichnis/einen lokalen Ordner auf einem Client-Computer herunter:

  • Benannter interner Stagingbereich.

  • Interner Stagingbereich für eine angegebene Tabelle.

  • Interner Stagingbereich für den aktuellen Benutzer.

Normalerweise wird dieser Befehl ausgeführt, nachdem Sie mit dem Befehl COPY INTO <Speicherort> Daten aus einer Tabelle in einen Snowflake-Stagingbereich entladen haben.

Bemerkung

  • GET unterstützt nicht das Herunterladen von Dateien aus externen Stagingbereichen. Verwenden Sie zum Herunterladen von Dateien aus externen Stagingbereichen die vom Clouddienst bereitgestellten Dienstprogramme.

  • Die folgenden Snowflake-Clients unterstützen GET nicht:

    • Go-Snowflake-Treiber

    • .NET-Treiber

    • Node.js-Treiber

  • Der ODBC-Treiber unterstützt GET mit Snowflake-Konten, die auf den folgenden Plattformen gehostet werden:

    • Amazon Web Services (mit ODBC-Treiberversion 2.17.5 und höher).

    • Google Cloud Platform (mit ODBC-Treiberversion 2.21.5 und höher).

    • Microsoft Azure (mit ODBC-Treiberversion 2.20.2 und höher).

Siehe auch:

LIST, PUT, REMOVE

Syntax

GET internalStage file://<path_to_file>/<filename>
    [ PARALLEL = <integer> ]
    [ PATTERN = '<regex_pattern>'' ]

Wobei:

internalStage ::=
    @[<namespace>.]<int_stage_name>[/<path>]
  | @[<namespace>.]%<table_name>[/<path>]
  | @~[/<path>]

Erforderliche Parameter

internalStage

Gibt den Speicherort in Snowflake an, von dem aus die Dateien heruntergeladen werden sollen:

@[Namespace.]Name_des_internen_Stagingbereichs[/Pfad]

Die Dateien werden von dem angegebenen internen Stagingbereich heruntergeladen.

@[Namespace.]%Tabellenname[/Pfad]

Die Dateien werden aus dem Stagingbereich der angegebenen Tabelle heruntergeladen.

@~[/Pfad]

Die Dateien werden aus dem Stagingbereich des aktuellen Benutzers heruntergeladen.

Wobei:

  • Namespace ist die Datenbank und/oder das Schema, in dem sich der benannte interne Stagingbereich oder die Tabelle befindet. Die Angabe ist optional, wenn in der Sitzung aktuell eine Datenbank und ein Schema verwendet werden, andernfalls ist die Angabe obligatorisch.

  • Pfad ist ein optionaler Pfad mit Unterscheidung von Groß-/Kleinschreibung für Dateien am Cloudspeicherort (d. h. Dateien haben Namen, die mit einer gemeinsamen Zeichenfolge beginnen), wodurch der Zugriff auf bestimmte Dateien eingegrenzt wird. Pfade werden von den verschiedenen Cloudspeicherdiensten alternativ als Präfixe oder Ordner bezeichnet. Wenn Pfad angegeben ist, im Pfad jedoch keine Datei explizit benannt wird, werden alle Datendateien im Pfad heruntergeladen.

Die Zeichenfolge kann in einfache Anführungszeichen eingeschlossen werden, was Sonderzeichen, einschließlich Leerzeichen, in Standortnamen erlaubt (z. B. '@"my stage"' für eine Stagingbereich mit dem Namen "my stage").

file://Pfad_zu_Datei

Gibt die URI für die auf den Clientcomputer heruntergeladenen Datendateien an, wobei Pfad_zu_Datei der lokale Verzeichnispfad ist, in den die Dateien heruntergeladen werden. Wenn Sie die Dateien in das Stammverzeichnis (oder Unterverzeichnis) auf dem Clientcomputer herunterladen:

Linux/Mac

Sie müssen den ersten Schrägstrich in den Pfad einbeziehen (z. B. file:///tmp/load).

Windows

Sie müssen das Laufwerk und den Backslash in den Pfad einbeziehen (z. B. file://C:\temp\load).

Der URI kann in einfache Anführungszeichen eingeschlossen werden, was Sonderzeichen, einschließlich Leerzeichen, in Verzeichnis- und Dateinamen erlaubt. Das Trennzeichen für Laufwerks- und Pfadangaben ist jedoch bei allen unterstützten Betriebssystemen ein Schrägstrich (/) (z. B. 'file://C:/temp/load data' für einen Pfad in Windows, der ein Verzeichnis mit dem Namen load data enthält).

Optionale Parameter

PARALLEL = Ganzzahl

Gibt die Anzahl der Threads an, die für den Download der Dateien verwendet werden sollen. Die Granularitätseinheit zum Herunterladen ist eine Datei.

Die Erhöhung der Anzahl der Threads kann die Leistung beim Herunterladen großer Dateien verbessern.

Unterstützte Werte: Jeder ganzzahlige Wert von 1 (keine Parallelität) bis 99 (99 Threads zum Hochladen von Dateien verwenden).

Standard: 10

PATTERN = 'Muster_für_regAusdruck'

Gibt ein Muster für reguläre Ausdrücke zum Filtern von Dateien an, die heruntergeladen werden sollen.

Standard: Kein Wert (alle Dateien in dem angegebenen Stagingbereich werden heruntergeladen)

Nutzungshinweise

  • Der Befehl kann nicht von der Seite Worksheets Worksheet tab der Snowflake-Weboberfläche ausgeführt werden. Verwenden Sie stattdessen den SnowSQL-Client, um Datendateien herunterzuladen, oder überprüfen Sie die Dokumentation für den jeweiligen Snowflake-Client, um die Unterstützung für diesen Befehl zu überprüfen.

  • Der Befehl benennt Dateien nicht um.

  • Heruntergeladene Dateien werden automatisch mit dem gleichen Schlüssel entschlüsselt, mit dem die Datei verschlüsselt wurde, wenn sie entweder (mit PUT) hochgeladen oder aus einer Tabelle entladen wurde (mit COPY INTO <Speicherort>).

Beispiele

Laden Sie alle Dateien aus dem Stagingbereich der mytable-Tabelle in das lokale Verzeichnis /tmp/data herunter (in einer Linux- oder macOS-Umgebung):

GET @%mytable file:///tmp/data/;

------------+--------+------------+------------+---------+
     file   |  size  |   status   | encryption | message |
------------+--------+------------+------------+---------+
 mydata.csv | 1347   | DOWNLOADED | DECRYPTED  |         |
------------+--------+------------+------------+---------+

Laden Sie Dateien mit dem Präfix myfiles aus dem Stagingbereich des aktuellen Benutzers in das lokale Verzeichnis /tmp/data herunter (in einer Linux- oder macOS-Umgebung):

GET @~/myfiles file:///tmp/data/;

---------------------------+---------+------------+------------+---------+
            file           |   size  |   status   | encryption | message |
---------------------------+---------+------------+------------+---------+
 myfiles/orders_001.csv.gz | 1126625 | DOWNLOADED | DECRYPTED  |         |
 myfiles/orders_101.csv.gz | 5214    | DOWNLOADED | DECRYPTED  |         |
----------------------------+--------+------------+------------+---------+