Déchargement dans Google Cloud Storage

Si vous avez déjà un compte Google Cloud Storage et que vous utilisez des compartiments Cloud Storage pour stocker et gérer vos fichiers, vous pouvez utiliser vos compartiments et chemins de dossier existants pour décharger des données à partir de tables Snowflake. Ce chapitre décrit comment utiliser la commande COPY pour décharger des données d’une table vers un compartiment Cloud Storage. Vous pouvez ensuite télécharger les fichiers de données déchargés dans votre système de fichiers local.

Comme l’illustre le schéma ci-dessous, le déchargement de données dans un compartiment Cloud Storage se fait en deux étapes :

Étape 1

Utilisez la commande COPY INTO <emplacement> pour copier les données de la table de base de données Snowflake dans un ou plusieurs fichiers d’un compartiment Cloud Storage. Dans la commande, vous spécifiez un objet de zone de préparation externe nommée qui fait référence au compartiment Cloud Storage (recommandé), ou vous pouvez choisir de décharger directement vers le compartiment en spécifiant l’URI et l’intégration de sécurité (si nécessaire) du compartiment.

Quelle que soit la méthode que vous utilisez, cette étape nécessite l’exécution d’un entrepôt virtuel en cours d’exécution pour la session si vous exécutez la commande manuellement ou dans un script. L’entrepôt fournit les ressources de calcul pour écrire des lignes à partir de la table.

Étape 2

Utilisez les interfaces/outils fournis par Google pour télécharger les fichiers à partir du compartiment Cloud Storage.

Unloading data to Cloud Storage

Astuce

Les instructions de cet ensemble de chapitres supposent que vous avez lu Préparation du déchargement de données et que vous avez créé un format de fichier nommé, le cas échéant.

Avant de commencer, vous pouvez également lire Considérations relatives au déchargement des données pour connaître les bonnes pratiques, les conseils et autres instructions.

Dans ce chapitre :

Configuration de Cloud Storage pour le déchargement des données

Pour que Snowflake écrive dans un compartiment Cloud Storage, vous pouvez configurer un objet d’intégration de stockage afin de déléguer la responsabilité de l’authentification pour le stockage dans un Cloud externe à une entité de gestion des identités et des accès Snowflake (IAM).

Pour des instructions de configuration, voir Configuration d’une intégration pour Google Cloud Storage.

Déchargement de données dans une zone de préparation externe

Les zones de préparation externes sont des objets de base de données nommés fournissant une grande flexibilité pour le déchargement de données. Étant donné qu’il s’agit d’objets de base de données, des privilèges peuvent être attribués à tout rôle pour les zones de préparation nommées.

Vous pouvez créer une zone de préparation nommée externe via l’interface Web ou SQL :

Classic Console

Cliquez sur Databases Databases tab » <nom_bdd> » Stages

SQL

CREATE STAGE

Création d’une zone de préparation nommée

L’exemple suivant crée une zone de préparation externe nommée my_ext_unload_stage avec un chemin de dossier nommé unload. La zone de préparation fait référence aux objets suivants :

Déchargement de données vers la zone de préparation nommée

  1. Utilisez la commande COPY INTO <emplacement> pour décharger les données d’une table vers un compartiment Cloud Storage en utilisant la zone de préparation externe.

    L’exemple suivant utilise la zone de préparation my_ext_unload_stage pour décharger toutes les lignes de la table mytable dans un ou plusieurs fichiers vers le compartiment Cloud Storage. Un préfixe de nom de fichier d1 s’applique aux fichiers :

    COPY INTO @my_ext_unload_stage/d1
    FROM mytable;
    
    Copy
  2. Utilisez les outils fournis par Cloud Storage pour récupérer les objets du conteneur (c’est-à-dire les fichiers générés par la commande).

Déchargement de données directement dans un compartiment Cloud Storage

  1. Utilisez la commande COPY INTO <emplacement> pour décharger les données d’une table directement vers un compartiment Cloud Storage spécifié. Cette option fonctionne bien pour le déchargement ad hoc, lorsque vous ne planifiez pas un déchargement de données régulier avec les mêmes paramètres de table et de compartiment.

    Vous devez spécifier l’URI pour le compartiment Cloud Storage et l’intégration de stockage pour accéder au compartiment.

    L’exemple suivant décharge toutes les lignes du tableau mytable dans un ou plusieurs fichiers avec le préfixe de chemin de dossier unload/ dans un compartiment Cloud Storage :

    COPY INTO 'gcs://mybucket/unload/'
      FROM mytable
      STORAGE_INTEGRATION = gcs_int;
    
    Copy
  2. Utilisez la console Cloud Storage (ou une application client équivalente) pour récupérer les objets du compartiment (c’est-à-dire les fichiers générés par la commande).