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.

  • 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 :

@[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://path_to_file

Spécifie le répertoire et le chemin d’accès locaux 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 et/ou le nom du fichier contiennent 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:\temp\load).

Si le chemin d’accès au répertoire et/ou le nom du fichier contiennent 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).

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/;

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/;
Revenir au début