Étape 3. Préparez des fichiers de données

Une zone de préparation Snowflake est un emplacement dans un stockage Cloud que vous utilisez pour charger et décharger les données d’une table. Une zone de préparation permet de charger des données dans une table et de décharger des données d’une table. Snowflake prend en charge :

  • Les zones de préparation internes — Utilisées pour stocker les fichiers de données en interne dans Snowflake. Chaque utilisateur et chaque table dans Snowflake dispose par défaut d’une zone de préparation interne pour la mise en zone de préparation des fichiers de données.

  • Zones de préparation externes — Utilisées pour stocker des fichiers de données en externe dans Amazon S3, Google Cloud Storage, ou Microsoft Azure. Si vos données sont déjà stockées dans ces services de stockage dans le Cloud, vous pouvez utiliser une zone de préparation externe pour charger les données dans des tables Snowflake.

Dans ce tutoriel, nous chargeons les fichiers de données d’exemple (téléchargés dans Conditions préalables) vers la zone de préparation interne pour la table emp_basic que vous avez créée précédemment. Vous utilisez la commande PUT pour charger les fichiers de données suivants vers cette zone de préparation.

Dans ce chapitre :

Mise en zone de préparation des fichiers de données d’exemple

Exécutez PUT SnowSQL pour télécharger les fichiers de données locaux vers la zone de préparation de table fournie pour la table emp_basic que vous avez créée.

put file://<file-path>[/\]employees0*.csv @sf_tuts.public.%emp_basic;
Copy

Par exemple :

  • Linux ou macOS

    PUT file:///tmp/employees0*.csv @sf_tuts.public.%emp_basic;
    
    Copy
  • Windows

    PUT file://C:\temp\employees0*.csv @sf_tuts.public.%emp_basic;
    
    Copy

Regardons la commande de plus près :

  • file://<file-path>[/\]employees0*.csv spécifie le chemin complet du répertoire et les noms des fichiers sur votre machine locale vers la zone de préparation. Notez que les caractères génériques du système de fichiers sont autorisés.

  • @<espace_noms>.%<nom_table> indique d’utiliser la zone de préparation pour la table spécifiée, dans ce cas la table emp_basic .

La commande renvoie le résultat suivant, montrant les fichiers en zone de préparation :

+-----------------+--------------------+-------------+-------------+--------------------+--------------------+----------+---------+
| source          | target             | source_size | target_size | source_compression | target_compression | status   | message |
|-----------------+--------------------+-------------+-------------+--------------------+--------------------+----------+---------|
| employees01.csv | employees01.csv.gz |         360 |         287 | NONE               | GZIP               | UPLOADED |         |
| employees02.csv | employees02.csv.gz |         355 |         274 | NONE               | GZIP               | UPLOADED |         |
| employees03.csv | employees03.csv.gz |         397 |         295 | NONE               | GZIP               | UPLOADED |         |
| employees04.csv | employees04.csv.gz |         366 |         288 | NONE               | GZIP               | UPLOADED |         |
| employees05.csv | employees05.csv.gz |         394 |         299 | NONE               | GZIP               | UPLOADED |         |
+-----------------+--------------------+-------------+-------------+--------------------+--------------------+----------+---------+
Copy

Notez que la commande PUT compresse les fichiers par défaut en utilisant gzip comme indiqué dans la colonne TARGET_COMPRESSION.

Création d’une liste de fichiers préparés (facultatif)

Vous pouvez lister les fichiers en zone de préparation en utilisant la commande LIST.

LIST @sf_tuts.public.%emp_basic;
Copy

Voici un exemple de résultat :

+--------------------+------+----------------------------------+------------------------------+
| name               | size | md5                              | last_modified                |
|--------------------+------+----------------------------------+------------------------------|
| employees01.csv.gz |  288 | a851f2cc56138b0cd16cb603a97e74b1 | Tue, 9 Jan 2018 15:31:44 GMT |
| employees02.csv.gz |  288 | 125f5645ea500b0fde0cdd5f54029db9 | Tue, 9 Jan 2018 15:31:44 GMT |
| employees03.csv.gz |  304 | eafee33d3e62f079a054260503ddb921 | Tue, 9 Jan 2018 15:31:45 GMT |
| employees04.csv.gz |  304 | 9984ab077684fbcec93ae37479fa2f4d | Tue, 9 Jan 2018 15:31:44 GMT |
| employees05.csv.gz |  304 | 8ad4dc63a095332e158786cb6e8532d0 | Tue, 9 Jan 2018 15:31:44 GMT |
+--------------------+------+----------------------------------+------------------------------+
Copy

Suivant : Étape 4. Copie de données dans la table cible