Automatyzacja potoków danych w Snowflake
Emily Melhuish
Technical Curriculum Developer, Snowflake
Przypadek użycia:
Rozwiązanie: Snowpipe

COPY INTO uruchamia się o północy — opóźnienie 24 godziny-- 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
COPY INTO — ta sama składnia i formaty plikówCREATE PIPE harbr_events_pipe AS
COPY INTO logistics.delivery_events
FROM @harbr_s3_stage/events/
FILE_FORMAT = (FORMAT_NAME = 'harbr_json_format');

AUTO_INGEST — sterowany zdarzeniami; magazyn w chmurze publikuje powiadomienieinsertFiles lub insertReport z kodu orkiestracyjnego
| 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
# 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()}
])

| 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 |
Automatyzacja potoków danych w Snowflake