Automatisation des pipelines de données dans Snowflake
Emily Melhuish
Technical Curriculum Developer, Snowflake
Cas d’usage :
Solution : Snowpipe

COPY INTO planifié à minuit — décalage de 24 h-- Batch nocturne : exécute à 00:00, données toute la journée
COPY INTO logistics.delivery_events
FROM @harbr_s3_stage/events/
FILE_FORMAT = (FORMAT_NAME = 'harbr_json_format');
-- Une exception à 9h n’apparaît que demain
COPY INTO — même syntaxe, mêmes formats de fichiersCREATE PIPE harbr_events_pipe AS
COPY INTO logistics.delivery_events
FROM @harbr_s3_stage/events/
FILE_FORMAT = (FORMAT_NAME = 'harbr_json_format');

AUTO_INGEST — piloté par événements; le stockage cloud publie une notificationinsertFiles ou insertReport depuis l’orchestration
| Snowpipe | Snowpipe Streaming | |
|---|---|---|
| Déclencheur | Fichier déposé dans le stage | Ligne écrite par l’application |
| Latence | Minutes | Secondes |
| Cas d’usage | Flux basés sur des fichiers | GPS, IoT, données d’apps temps réel |
Supprime entièrement la limite du fichier
# Snowpipe Streaming : l’application écrit les lignes directement
channel = client.openChannel('GPS_CHANNEL', 'LOGISTICS', 'GPS_EVENTS')
channel.insertRows(rows=[
{'vehicle_id': 'V001', 'lat': 51.5, 'lng': -0.12, 'ts': now()}
])

| Méthode | Quand l’utiliser |
|---|---|
| COPY INTO | Chargements batch planifiés: fichiers nocturnes, exports hebdo, latence de quelques heures acceptable |
| Snowpipe | Arrivées continues de fichiers, chargements en quelques minutes |
| Snowpipe Streaming | Données générées par applications — GPS, IoT, marchés financiers — données en secondes |
Automatisation des pipelines de données dans Snowflake