Snowpipe och Snowpipe Streaming

Automatisering av datapipelines i Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Snowpipe

Användningsfall:

  • Leveranshändelser anländer kontinuerligt

Lösning: Snowpipe

  • Snowpipe laddar data från filer så snart de är tillgängliga i en stage.

Skärmbild 2026-05-11 kl. 12.24.14.png

1 * Snowflake Learning Material
Automatisering av datapipelines i Snowflake

Problemet med batchinläsning

  • Filer anländer till S3 var några minut under dagen
  • Schemalagd COPY INTO körs vid midnatt — 24 timmars fördröjning
  • Försenade leveranser syns inte förrän dagen efter.
  • Snowpipe täpper till glappet
-- 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 av datapipelines i Snowflake

Vad är Snowpipe?

  • Omsluter ett COPY INTO-uttryck — samma syntax, samma filformat
  • Utlöses automatiskt när nya filer anländer till en stage
  • Laddar i mikrobatcher, vanligtvis inom minuter
  • Serverlös — inget warehouse att provisionera
CREATE PIPE harbr_events_pipe AS
  COPY INTO logistics.delivery_events
  FROM @harbr_s3_stage/events/
  FILE_FORMAT = (FORMAT_NAME = 'harbr_json_format');
Automatisering av datapipelines i Snowflake

Hur Snowpipe fungerar

Arbetsflöde för Snowpipe

  • AUTO_INGEST — händelsestyrt; molnlagring publicerar ett meddelande
  • Amazon S3 | Azure Event Grid | GCP Pub/Sub
  • REST API-utlösare — anropa insertFiles- eller insertReport-ändpunkter direkt från orkestreringskodan
Automatisering av datapipelines i Snowflake

Snowpipe-fakturering

Skärmbild 2026-05-11 kl. 12.24.14.png

  • Debiteras med ett fast kreditbelopp per förbrukad GB
  • Textfiler: debiteras baserat på okomprimerad storlek
  • Binärfiler: debiteras baserat på observerad storlek
Automatisering av datapipelines i Snowflake

Snowpipe Streaming

Snowpipe Snowpipe Streaming
Utlösare Fil landar i stage Rad skriven av applikation
Latens Minuter Sekunder
Användningsfall Filbaserade händelseflöden GPS, IoT, realtidsappdata

 

Tar bort filgränsen helt

  • Rader skrivs direkt från applikationen via Streaming Ingest SDK
  • Inga filer, inga stages — latens på sekunder
# 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 av datapipelines i Snowflake

Välja rätt inmatningsmetod

Inmatningsmetoder

Metod När ska den användas
COPY INTO Schemalagda batchladdningar – natliga filer, veckoexporter, timmar av latens acceptabelt
Snowpipe Kontinuerliga filankomster, laddning behövs inom minuter
Snowpipe Streaming Applikationsgenererad data – GPS, IoT, finansmarknader – data tillgänglig på sekunder
1 * Snowflake Learning Resource
Automatisering av datapipelines i Snowflake

Laten we oefenen!

Automatisering av datapipelines i Snowflake

Preparing Video For Download...