Snowpipe et Snowpipe Streaming

Automatisation des pipelines de données dans Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Snowpipe

Cas d’usage :

  • Des événements de livraison arrivent en continu

Solution : Snowpipe

  • Snowpipe charge les données dès que les fichiers sont disponibles dans un stage.

Capture d’écran 2026-05-11 à 12:24:14.png

1 * Matériel d’apprentissage Snowflake
Automatisation des pipelines de données dans Snowflake

Le problème du batch

  • Des fichiers arrivent dans S3 toutes les quelques minutes
  • COPY INTO planifié à minuit — décalage de 24 h
  • Les retards d’expédition n’apparaissent que le lendemain
  • Snowpipe comble l’écart
-- 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
Automatisation des pipelines de données dans Snowflake

Qu’est-ce que Snowpipe ?

  • Enveloppe une instruction COPY INTO — même syntaxe, mêmes formats de fichiers
  • Se déclenche automatiquement à l’arrivée de nouveaux fichiers dans un stage
  • Charge en micro-batchs, généralement en quelques minutes
  • Sans serveur — aucun entrepôt à provisionner
CREATE PIPE harbr_events_pipe AS
  COPY INTO logistics.delivery_events
  FROM @harbr_s3_stage/events/
  FILE_FORMAT = (FORMAT_NAME = 'harbr_json_format');
Automatisation des pipelines de données dans Snowflake

Fonctionnement de Snowpipe

Flux de travail pour Snowpipe

  • AUTO_INGEST — piloté par événements; le stockage cloud publie une notification
  • Amazon S3 | Azure Event Grid | GCP Pub/Sub
  • Déclencheur REST API — appelez les endpoints insertFiles ou insertReport depuis l’orchestration
Automatisation des pipelines de données dans Snowflake

Facturation Snowpipe

Capture d’écran 2026-05-11 à 12:24:14.png

  • Facturation: crédits fixes par Go consommé
  • Fichiers texte: basé sur la taille non compressée
  • Fichiers binaires: basé sur la taille observée
Automatisation des pipelines de données dans Snowflake

Snowpipe Streaming

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

  • Lignes écrites directement par l’application via le SDK Streaming Ingest
  • Pas de fichiers, pas de stages — latence en secondes
# 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()}
])
Automatisation des pipelines de données dans Snowflake

Choisir la bonne méthode d’ingestion

Méthodes d’ingestion

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
1 * Ressource d’apprentissage Snowflake
Automatisation des pipelines de données dans Snowflake

Passons à la pratique !

Automatisation des pipelines de données dans Snowflake

Preparing Video For Download...