Automatisation des pipelines de données dans Snowflake
Emily Melhuish
Technical Curriculum Developer, Snowflake



À propos de Harbr

Stage = emplacement de stockage temporaire

Stages internes
Stage externe
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' ])
...
Formats semi-structurés : JSON, Parquet, Avro, ORC et XML.
VARIANTMettre à jour l’objet de format une seule fois
SQL
CREATE FILE FORMAT harbr_csv_format
TYPE = 'CSV'
FIELD_DELIMITER = ','
SKIP_HEADER = 1;
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')
| 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 % |
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