Snowpipe i Snowpipe Streaming

Automatyzacja potoków danych w Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Snowpipe

Przypadek użycia:

  • Zdarzenia dostaw napływają w sposób ciągły

Rozwiązanie: Snowpipe

  • Snowpipe ładuje dane z plików, gdy tylko pojawią się w etapie.

Zrzut ekranu 2026-05-11 o 12.24.14.png

1 * Snowflake Learning Material
Automatyzacja potoków danych w Snowflake

Problem z ładowaniem wsadowym

  • Pliki pojawiają się w S3 co kilka minut przez cały dzień
  • Zaplanowane COPY INTO uruchamia się o północy — opóźnienie 24 godziny
  • Opóźnione przesyłki nie pojawią się do następnego dnia.
  • Snowpipe eliminuje tę lukę
-- 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
Automatyzacja potoków danych w Snowflake

Czym jest Snowpipe?

  • Opakowuje instrukcję COPY INTO — ta sama składnia i formaty plików
  • Uruchamia się automatycznie po pojawieniu się nowych plików w etapie
  • Ładowanie w mikro-partiach, zazwyczaj w ciągu minut
  • Bezserwerowe — brak potrzeby przydzielania magazynu
CREATE PIPE harbr_events_pipe AS
  COPY INTO logistics.delivery_events
  FROM @harbr_s3_stage/events/
  FILE_FORMAT = (FORMAT_NAME = 'harbr_json_format');
Automatyzacja potoków danych w Snowflake

Jak działa Snowpipe?

Schemat działania Snowpipe

  • AUTO_INGEST — sterowany zdarzeniami; magazyn w chmurze publikuje powiadomienie
  • Amazon S3 | Azure Event Grid | GCP Pub/Sub
  • Wyzwalacz REST API — bezpośrednie wywołanie punktów końcowych insertFiles lub insertReport z kodu orkiestracyjnego
Automatyzacja potoków danych w Snowflake

Rozliczanie Snowpipe

Zrzut ekranu 2026-05-11 o 12.24.14.png

  • Rozliczanie według stałej liczby kredytów za GB
  • Pliki tekstowe: opłata na podstawie nieskompresowanego rozmiaru
  • Pliki binarne: opłata na podstawie rzeczywistego rozmiaru
Automatyzacja potoków danych w Snowflake

Snowpipe Streaming

Snowpipe Snowpipe Streaming
Wyzwalacz Plik pojawia się w etapie Wiersz zapisany przez aplikację
Opóźnienie Minuty Sekundy
Przypadek użycia Strumieniowanie plików zdarzeń GPS, IoT, dane aplikacji w czasie rzeczywistym

 

Całkowite wyeliminowanie granicy pliku

  • Wiersze zapisywane bezpośrednio przez aplikację za pomocą Streaming Ingest SDK
  • Brak plików, brak etapów — opóźnienie rzędu sekund
# 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()}
])
Automatyzacja potoków danych w Snowflake

Wybór właściwej metody pozyskiwania danych

Metody pozyskiwania danych

Metoda Kiedy stosować
COPY INTO Zaplanowane ładowania wsadowe — pliki nocne, eksporty tygodniowe, akceptowalne opóźnienia rzędu godzin
Snowpipe Ciągłe dostarczanie plików, ładowanie w ciągu minut od pojawienia się pliku
Snowpipe Streaming Dane generowane przez aplikacje — GPS, IoT, rynki finansowe — dostępne w ciągu sekund
1 * Snowflake Learning Resource
Automatyzacja potoków danych w Snowflake

Czas na ćwiczenia!

Automatyzacja potoków danych w Snowflake

Preparing Video For Download...