Stages, formats de fichiers et COPY INTO

Automatisation des pipelines de données dans Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Snowflake alimente de nombreux workloads

Capture d’écran 2026-05-11 à 11.52.34

1 * Snowflake Learning Material
Automatisation des pipelines de données dans Snowflake

Pipeline d’exemple

 

 

Capture d’écran 2026-05-11 à 10.48.51

1 * Snowflake Learning Material
Automatisation des pipelines de données dans Snowflake

Voici Harbr

Faux logo pour Harbr

À propos de Harbr

  • Plateforme mondiale de logistique et chaîne d’approvisionnement
  • Utilise Snowflake pour suivre les envois, le stock entrepôt et la performance de livraison
  • Ingère des données de systèmes fournisseurs dans plusieurs régions
Automatisation des pipelines de données dans Snowflake

Le problème du chargement des données

Schéma de chargement de données

Stage = emplacement de stockage temporaire

Automatisation des pipelines de données dans Snowflake

Types de stages

Deux types de stages

Stages internes

  • Utilisateur
    • Zone personnelle pour un seul utilisateur
  • Table
    • Lié à une table spécifique
  • Nommé
    • Objet de base de données créé dans le schéma

Stage externe

  • Nommé
    • Pointe vers un fournisseur cloud
Automatisation des pipelines de données dans Snowflake

Paramètres des stages

Table d’annuaire (Directory Table)

CREATE STAGE harbr_stage
  DIRECTORY = (ENABLE = TRUE)

Chiffrement des stages internes

ENCRYPTION = (TYPE = SNOWFLAKE_FULL)
ENCRYPTION = (TYPE = SNOWFLAKE_SSE)

Chiffrement des stages externes

ENCRYPTION = 
([ TYPE = 'AWS_CSE' ] MASTER_KEY = '') 

ENCRYPTION = 
([ TYPE = 'AWS_SSE_S3' ]) 

...
Automatisation des pipelines de données dans Snowflake

Formats de fichiers

  • Formats structurés : CSV avec délimiteurs, ligne d’en‑tête, guillemets
  • Formats semi-structurés : JSON, Parquet, Avro, ORC et XML.

    • Charger directement dans une colonne VARIANT
    • Définir une fois les règles d’analyse, réutiliser pour tous les chargements
  • Mettre à jour l’objet de format une seule fois

SQL

CREATE FILE FORMAT harbr_csv_format
  TYPE = 'CSV'
  FIELD_DELIMITER = ','
  SKIP_HEADER = 1;
Automatisation des pipelines de données dans Snowflake

COPY INTO

Charger depuis un stage nommé avec un format nommé

COPY INTO logistics.shipments
FROM @harbr_internal_stage/shipments/
FILE_FORMAT = (FORMAT_NAME = 'harbr_csv_format')
Automatisation des pipelines de données dans Snowflake

Gestion des erreurs

Options ON_ERROR Comportement
ABORT_STATEMENT Échec total au premier incident (par défaut)
CONTINUE Ignorer les lignes erronées, charger le reste
SKIP_FILE Ignorer le fichier entier s’il contient des erreurs
SKIP_FILE_<num> Ignorer si les erreurs dépassent un nombre défini
SKIP_FILE_<num>% Ignorer si les erreurs dépassent un seuil en %
Automatisation des pipelines de données dans Snowflake

Mode de validation et COPY_HISTORY

Valider sans charger = simulation (dry run)

COPY INTO logistics.shipments
FROM @harbr_internal_stage/shipments/
FILE_FORMAT = (FORMAT_NAME = 'harbr_csv_format')
VALIDATION_MODE = RETURN_ERRORS;

Consulter l’historique de chargement

SELECT * FROM TABLE(INFORMATION_SCHEMA.COPY_HISTORY(
  TABLE_NAME => 'shipments',
  START_TIME => DATEADD('hour', -24,
    CURRENT_TIMESTAMP())));
Automatisation des pipelines de données dans Snowflake

Passons à la pratique !

Automatisation des pipelines de données dans Snowflake

Preparing Video For Download...