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.

  • Le pilote ODBC prend en charge GET avec les comptes Snowflake hébergés sur les plates-formes 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://<local_directory_path>
    [ PARALLEL = <integer> ]
    [ PATTERN = '<regex_pattern>'' ]
Copy

Où :

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

Paramètres requis

internalStage

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

@[namespace.]int_stage_name[/path]

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

@[namespace.]%table_name[/path]

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

@~[/path]

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

Où :

  • namespace est la base de données et/ou le schéma dans lequel réside l’échelon 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.

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

Note

Si le nom ou le chemin de la zone de préparation comprend des espaces ou des caractères spéciaux, il doit être placé entre guillemets simples (par exemple, '@"my stage"' pour une zone de préparation nommée "my stage").

file://local_directory_path

Spécifie le chemin d’accès au répertoire local sur la machine client où les fichiers sont téléchargés :

Linux/macOS

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

Si le chemin d’accès au répertoire contient des caractères spéciaux, l’URI du fichier entier doit être placé entre guillemets simples.

Windows

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

Si le chemin d’accès au répertoire contient des caractères spéciaux, l’URI du fichier entier doit être placé entre guillemets simples. Notez que le séparateur de lecteur et de chemin d’accès est une barre oblique (/) dans des URIs délimitées (par exemple, 'file://C:/temp/load data' pour un chemin d’accès sous Windows qui inclut un répertoire nommé load data).

Note

La commande GET renvoie une erreur si vous spécifiez un nom de fichier dans le chemin, sauf si vous utilisez le pilote JDBC ou ODBC. Si vous spécifiez un nom de fichier lors de l’utilisation de l’un ou l’autre des pilotes, le pilote traite le nom de fichier comme faisant partie du chemin d’accès au répertoire et crée un sous-répertoire avec le nom de fichier spécifié.

Par exemple, si vous spécifiez file:///tmp/load/file.csv, le pilote JDBC ou ODBC crée un sous-répertoire nommé file.csv/ sous le chemin /tmp/load/. La commande GET télécharge ensuite les fichiers en zone de préparation dans ce nouveau sous-répertoire.

Paramètres facultatifs

PARALLEL = integer

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 = 'regex_pattern'

Spécifie un modèle d’expression régulière pour filtrer les fichiers à télécharger. La commande répertorie tous les fichiers dans le path spécifié et applique le modèle d’expression régulière sur chacun des fichiers trouvés.

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 dans aucune des interfaces 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/;
Copy

Télécharger les fichiers à partir du chemin 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/;
Copy