Snowpipe en Snowpipe Streaming

Automatisering van datapijplijnen in Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Snowpipe

Use case:

  • Bezorgevents komen continu binnen

Oplossing: Snowpipe

  • Snowpipe laadt data uit bestanden zodra ze in een stage beschikbaar zijn.

Screenshot 2026-05-11 at 12.24.14 pm.png

1 * Snowflake Learning Material
Automatisering van datapijplijnen in Snowflake

Het probleem met batchladen

  • Bestanden komen de hele dag om de paar minuten in S3 binnen
  • Geplande COPY INTO draait om middernacht — 24 uur vertraging
  • Vertraagde zendingen verschijnen pas de volgende dag
  • Snowpipe overbrugt de kloof
-- Nightly batch: runs at 00:00, data arrives all day
COPY INTO logistics.delivery_events
FROM @harbr_s3_stage/events/
FILE_FORMAT = (FORMAT_NAME = 'harbr_json_format');
-- A 9am exception won't appear until tomorrow
Automatisering van datapijplijnen in Snowflake

Wat is Snowpipe?

  • Omwikkelt een COPY INTO-statement — zelfde syntaxis, zelfde bestandsformaten
  • Triggert automatisch zodra nieuwe bestanden in een stage aankomen
  • Laadt in microbatches, meestal binnen minuten
  • Serverless — geen warehouse nodig
CREATE PIPE harbr_events_pipe AS
  COPY INTO logistics.delivery_events
  FROM @harbr_s3_stage/events/
  FILE_FORMAT = (FORMAT_NAME = 'harbr_json_format');
Automatisering van datapijplijnen in Snowflake

Hoe Snowpipe werkt

Workflow voor Snowpipe

  • AUTO_INGEST — event-gedreven; cloudopslag publiceert een notificatie
  • Amazon S3 | Azure Event Grid | GCP Pub/Sub
  • REST API-trigger — roep insertFiles of insertReport direct aan vanuit orkestratiecode
Automatisering van datapijplijnen in Snowflake

Snowpipe-kosten

Screenshot 2026-05-11 at 12.24.14 pm.png

  • Gefactureerd op vaste credits per verbruikte GB
  • Tekstbestanden: kosten op basis van ongecomprimeerde grootte
  • Binaire bestanden: kosten op basis van waargenomen grootte
Automatisering van datapijplijnen in Snowflake

Snowpipe Streaming

Snowpipe Snowpipe Streaming
Trigger Bestand komt in stage Rij geschreven door applicatie
Latency Minuten Seconden
Use case Bestandsgebaseerde event-feeds GPS, IoT, realtime app-data

 

Haalt de bestandsgrens volledig weg

  • Rijen direct geschreven vanuit de applicatie via de Streaming Ingest SDK
  • Geen bestanden, geen stages — latency in seconden
# Snowpipe Streaming: application writes rows directly
channel = client.openChannel('GPS_CHANNEL', 'LOGISTICS', 'GPS_EVENTS')
channel.insertRows(rows=[
    {'vehicle_id': 'V001', 'lat': 51.5, 'lng': -0.12, 'ts': now()}
])
Automatisering van datapijplijnen in Snowflake

De juiste innamemethode kiezen

Innamemethoden

Methode Wanneer gebruiken
COPY INTO Geplande batchloads: nachtelijke files, wekelijkse exports, uren vertraging acceptabel
Snowpipe Continue bestandsaanvoer, laden binnen minuten na aankomst nodig
Snowpipe Streaming Applicatie-gegenereerde data: GPS, IoT, financiële markten — data in seconden beschikbaar
1 * Snowflake Learning Resource
Automatisering van datapijplijnen in Snowflake

Laten we oefenen!

Automatisering van datapijplijnen in Snowflake

Preparing Video For Download...