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-- Traitement nocturne : s’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 à 9 h n’apparaîtra 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 d’événements basés sur des fichiers | GPS, IoT, données d’apps en 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 planifiés par lot : fichiers nocturnes, exports hebdos; heures de latence acceptables |
| Snowpipe | Arrivées continues de fichiers; chargements en quelques minutes |
| Snowpipe Streaming | Données générées par l’application — GPS, IoT, marchés financiers — données en secondes |
Automatisation des pipelines de données dans Snowflake