Étape 4. Copie de données dans la table cible¶
Exécutez COPY INTO <table> pour charger vos données en zone de préparation dans la table cible.
La commande COPY INTO <table> utilise l’entrepôt virtuel que vous avez créé dans Étape 2. Création d’objets Snowflake pour copier les fichiers.
COPY INTO emp_basic FROM @%emp_basic FILE_FORMAT = (type = csv field_optionally_enclosed_by='"') PATTERN = '.*employees0[1-5].csv.gz' ON_ERROR = 'skip_file';
Où :
La clause
FROM
spécifie l’emplacement contenant les fichiers de données (la zone de préparation interne de la table).La clause
FILE_FORMAT
spécifie le type de fichier comme CSV, et spécifie le caractère de guillemet double ("
) comme caractère utilisé pour fermer les chaînes. Snowflake prend en charge différents types de fichier et options. Vous trouverez une description dans CREATE FILE FORMAT.La clause
PATTERN
spécifie que la commande doit charger les données à partir des noms de fichiers correspondant à cette expression régulière (.*employees0[1-5].csv.gz
).La clause
ON_ERROR
spécifie ce qu’il faut faire lorsque la commande COPY rencontre des erreurs dans les fichiers. Par défaut, la commande arrête le chargement des données lorsque la première erreur est rencontrée. Cependant, nous lui avons demandé de sauter tout fichier contenant une erreur et de passer au chargement du fichier suivant. Notez qu’il ne s’agit que d’une illustration, aucun des fichiers de ce tutoriel ne contient d’erreurs.
La commande COPY propose également une option permettant de valider les fichiers avant de les charger. Voir les chapitres COPY INTO <table> et les autres tutoriels sur le chargement des données pour des instructions supplémentaires sur la vérification d’erreur et la validation.
La commande COPY renvoie un résultat indiquant la liste des fichiers copiés et les informations connexes :
+--------------------+--------+-------------+-------------+-------------+-------------+-------------+------------------+-----------------------+-------------------------+ | file | status | rows_parsed | rows_loaded | error_limit | errors_seen | first_error | first_error_line | first_error_character | first_error_column_name | |--------------------+--------+-------------+-------------+-------------+-------------+-------------+------------------+-----------------------+-------------------------| | employees02.csv.gz | LOADED | 5 | 5 | 1 | 0 | NULL | NULL | NULL | NULL | | employees04.csv.gz | LOADED | 5 | 5 | 1 | 0 | NULL | NULL | NULL | NULL | | employees05.csv.gz | LOADED | 5 | 5 | 1 | 0 | NULL | NULL | NULL | NULL | | employees03.csv.gz | LOADED | 5 | 5 | 1 | 0 | NULL | NULL | NULL | NULL | | employees01.csv.gz | LOADED | 5 | 5 | 1 | 0 | NULL | NULL | NULL | NULL | +--------------------+--------+-------------+-------------+-------------+-------------+-------------+------------------+-----------------------+-------------------------+