Catégories :

Commandes DML - Déchargement des données

GET

Télécharge les fichiers de données de l’une des zones de préparation suivantes de Snowflake vers un répertoire/dossier local sur une machine cliente :

  • Zone de préparation interne nommée.

  • Zone de préparation pour une table spécifiée.

  • Zone de préparation interne pour l’utilisateur actuel.

En principe, cette commande est exécutée après avoir utilisé la commande COPY INTO <emplacement> pour décharger les données d’une table dans une zone de préparation Snowflake.

Note

  • GET ne prend pas en charge le téléchargement de fichiers à partir de zones de préparation externes. Pour télécharger des fichiers à partir de zones de préparation externes, utilisez les utilitaires fournis par le service Cloud.

  • Les clients Snowflake suivants ne prennent pas en charge GET :

    • Pilote Go Snowflake

    • Pilote .NET

    • Pilote Node.js

  • Le pilote ODBC prend en charge GET avec les comptes Snowflake hébergés sur les plateformes suivantes :

    • Amazon Web Services (en utilisant le pilote ODBC version 2.17.5 et supérieure).

    • Google Cloud Platform (en utilisant le pilote ODBC version 2.21.5 et supérieure).

    • Microsoft Azure (en utilisant le pilote ODBC version 2.20.2 et supérieure).

Voir aussi :

LIST , PUT , REMOVE

Syntaxe

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

Où :

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

Paramètres requis

internalStage

Indique l’emplacement dans Snowflake à partir duquel vous pouvez télécharger les fichiers :

@[espace_noms.]nom_zone_de_préparation_interne[/chemin]

Les fichiers sont téléchargés à partir de la zone de préparation interne nommée spécifiée.

@[espace_noms.]%nom_table[/chemin]

Les fichiers sont téléchargés à partir de la zone de préparation de la table spécifiée.

@~[/chemin]

Les fichiers sont téléchargés à partir de la zone de préparation pour l’utilisateur actuel.

Où :

  • espace_noms est la base de données et/ou le schéma dans lequel réside la zone de préparation ou la table interne nommée. Il est facultatif si une base de données et un schéma sont actuellement utilisés dans la session. Dans le cas contraire, il est nécessaire.

  • chemin est un chemin facultatif sensible à la casse pour les fichiers de l’emplacement de stockage Cloud (c’est-à-dire que les fichiers ont des noms qui commencent par une chaîne commune) qui limite l’accès à un ensemble de fichiers. Les chemins sont appelés préfixes ou dossiers selon les services de stockage Cloud. Si un chemin est spécifié, mais qu’aucun fichier n’est explicitement nommé dans le chemin, tous les fichiers de données du chemin sont téléchargés.

La chaîne peut être délimitée par des guillemets simples, ce qui permet d’insérer des caractères spéciaux, y compris des espaces, dans les noms de lieux (par exemple '@"my stage"' pour une zone de préparation nommée "my stage").

file://chemin_fichier

Spécifie l’URI de(s) fichier(s) de données téléchargé(s) sur la machine cliente, où chemin_fichier est le chemin du répertoire local dans lequel les fichiers sont téléchargés. Si vous téléchargez les fichiers dans le répertoire racine (ou sous-répertoire) de la machine cliente :

Linux/Mac

Vous devez inclure la barre oblique initiale dans le chemin (par ex. file:///tmp/load).

Windows

Vous devez inclure le lecteur et la barre oblique inverse dans le chemin (par ex. file://C:\temp\load).

L’URI peut être délimitée par des guillemets simples, ce qui permet l’insertion de caractères spéciaux, y compris des espaces, dans les noms de répertoire et de fichier ; cependant, le séparateur de lecteur et de chemin est une barre oblique (/) pour tous les systèmes d’exploitation pris en charge (par exemple 'file://C:/temp/load data' pour un chemin dans Windows contenant un répertoire nommé load data).

Paramètres facultatifs

PARALLEL = entier

Spécifie le nombre de threads à utiliser pour télécharger les fichiers. L’unité de granularité pour le téléchargement est un fichier.

Augmenter le nombre de threads peut améliorer les performances lors du téléchargement de fichiers volumineux.

Valeurs prises en charge : toute valeur entière de 1 (pas de parallélisme) à 99 (utilisez 99 threads pour télécharger des fichiers).

Par défaut : 10

PATTERN = 'motif_regex'

Spécifie un modèle d’expression régulière pour filtrer les fichiers à télécharger.

Par défaut : aucune valeur (tous les fichiers de la zone de préparation spécifiée sont téléchargés)

Notes sur l’utilisation

  • La commande ne peut pas être exécutée à partir de la page Worksheets Worksheet tab de l’interface Web de Snowflake ; utilisez plutôt le client SnowSQL pour télécharger les fichiers de données, ou consultez la documentation du client Snowflake spécifique pour vérifier si cette commande est prise en charge.

  • La commande ne renomme pas les fichiers.

  • Les fichiers téléchargés sont automatiquement déchiffrés à l’aide de la même clé que celle utilisée pour chiffrer le fichier lorsqu’il a été téléchargé (en utilisant PUT) ou déchargé d’une table (en utilisant COPY INTO <emplacement>).

Exemples

Télécharger tous les fichiers de zone de préparation de la table mytable dans le répertoire /tmp/data local (dans un environnement Linux ou macOS) :

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

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

Télécharger les fichiers avec le préfixe myfiles dans la zone de préparation pour l’utilisateur actuel dans le répertoire /tmp/data local (dans un environnement Linux ou macOS) :

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  |         |
----------------------------+--------+------------+------------+---------+