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 du 2026-05-11 à 12.24.14 PM.png

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

Le problème des chargements par lot

  • Des fichiers arrivent dans S3 toutes les quelques minutes toute la journée
  • COPY INTO planifié à minuit — décalage de 24 h
  • Les retards d’expédition n’apparaissent que le lendemain.
  • Snowpipe comble l’écart
-- 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
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-lots, 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 du 2026-05-11 à 12.24.14 PM.png

  • Facturation selon un nombre fixe de crédits par Go consommé
  • Fichiers texte : selon la taille non compressée
  • Fichiers binaires : selon 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 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

  • Lignes écrites directement par l’application via le SDK Streaming Ingest
  • Sans fichiers ni 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 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
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...