Snowpipe і Snowpipe Streaming

Автоматизація конвеєрів даних у Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Snowpipe

Випадок використання:

  • Події доставки надходять безперервно

Рішення: Snowpipe

  • Snowpipe завантажує дані з файлів одразу після їх появи на stage.

Знімок екрана 2026-05-11 о 12:24:14

1 * Snowflake Learning Material
Автоматизація конвеєрів даних у Snowflake

Проблема пакетного завантаження

  • Файли надходять у S3 кожні кілька хвилин протягом дня
  • Плановий COPY INTO опівночі — затримка 24 години
  • Прострочені відправки з’являться лише наступного дня
  • Snowpipe усуває цю прогалину
-- Нічний пакет: запускається о 00:00, дані прибувають увесь день
COPY INTO logistics.delivery_events
FROM @harbr_s3_stage/events/
FILE_FORMAT = (FORMAT_NAME = 'harbr_json_format');
-- Випадок о 9:00 з’явиться лише завтра
Автоматизація конвеєрів даних у Snowflake

Що таке Snowpipe?

  • Обгортає оператор COPY INTO — та ж синтакса, ті ж формати файлів
  • Автостарт при надходженні нових файлів на stage
  • Завантажує мікропакетами, зазвичай за хвилини
  • Безсерверний — склад не потрібен
CREATE PIPE harbr_events_pipe AS
  COPY INTO logistics.delivery_events
  FROM @harbr_s3_stage/events/
  FILE_FORMAT = (FORMAT_NAME = 'harbr_json_format');
Автоматизація конвеєрів даних у Snowflake

Як працює Snowpipe

Робочий процес Snowpipe

  • AUTO_INGEST — подієво керований; хмарне сховище надсилає сповіщення
  • Amazon S3 | Azure Event Grid | GCP Pub/Sub
  • REST API-тригер — викликайте ендпоїнти insertFiles або insertReport безпосередньо з оркестрації
Автоматизація конвеєрів даних у Snowflake

Тарифікація Snowpipe

Знімок екрана 2026-05-11 о 12:24:14

  • Оплата за фіксованою кількістю кредитів за спожитий ГБ
  • Текстові файли: тариф за нестиcнений розмір
  • Бінарні файли: тариф за фактичний (observed) розмір
Автоматизація конвеєрів даних у Snowflake

Snowpipe Streaming

Snowpipe Snowpipe Streaming
Тригер Файл потрапляє на stage Рядок записує застосунок
Затримка Хвилини Секунди
Використання Потоки подій із файлів GPS, IoT, дані реального часу

 

Повністю прибирає межу файлу

  • Рядки пишуться застосунком напряму через Streaming Ingest SDK
  • Без файлів і stage — затримка у секундах
# Snowpipe Streaming: застосунок пише рядки безпосередньо
channel = client.openChannel('GPS_CHANNEL', 'LOGISTICS', 'GPS_EVENTS')
channel.insertRows(rows=[
    {'vehicle_id': 'V001', 'lat': 51.5, 'lng': -0.12, 'ts': now()}
])
Автоматизація конвеєрів даних у Snowflake

Вибір методу завантаження

Методи завантаження

Метод Коли використовувати
COPY INTO Планові пакетні завантаження: нічні файли, щотижневі експорти; допустима затримка в години
Snowpipe Безперервне надходження файлів; завантаження протягом хвилин після появи
Snowpipe Streaming Дані від застосунків — GPS, IoT, фінансові ринки; дані за секунди
1 * Snowflake Learning Resource
Автоматизація конвеєрів даних у Snowflake

Перейдемо до практики!

Автоматизація конвеєрів даних у Snowflake

Preparing Video For Download...