- 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:
.NET-Treiber
Der ODBC-Treiber unterstützt GET bei 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).
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. WennPfad
angegeben ist, im Pfad jedoch keine Datei explizit benannt wird, werden alle Datendateien im Pfad heruntergeladen.
Bemerkung
Wenn der Stagingbereichsname oder -pfad Leerzeichen oder Sonderzeichen enthält, muss er in einfache Anführungszeichen eingeschlossen werden (z. B.
'@"my stage"'
für einen 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 Namenload 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) bis99
(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. Der Befehl listet alle Dateien im angegebenen
Pfad
auf und wendet auf jede der gefundenen Dateien das Muster für reguläre Ausdrücke an.Standard: Kein Wert (alle Dateien in dem angegebenen Stagingbereich werden heruntergeladen)
Nutzungshinweise¶
Der Befehl kann nicht von der Seite Worksheets
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 aus dem myfiles
-Pfad des Stagingbereichs 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 | | ----------------------------+--------+------------+------------+---------+