Snowpipe e Snowpipe Streaming

Automação de Pipelines de Dados no Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Snowpipe

Caso de uso:

  • Eventos de entrega chegam continuamente

Solução: Snowpipe

  • O Snowpipe carrega dados de arquivos assim que ficam disponíveis em um stage.

Captura de tela 2026-05-11 às 12.24.14.png

1 * Snowflake Learning Material
Automação de Pipelines de Dados no Snowflake

O problema do carregamento em lote

  • Arquivos chegam no S3 a cada poucos minutos ao longo do dia
  • COPY INTO agendado à meia-noite — atraso de 24h
  • Entregas atrasadas só aparecem no dia seguinte
  • O Snowpipe elimina essa defasagem
-- Lote noturno: roda às 00:00, dados chegam o dia todo
COPY INTO logistics.delivery_events
FROM @harbr_s3_stage/events/
FILE_FORMAT = (FORMAT_NAME = 'harbr_json_format');
-- Uma exceção às 9h só aparece amanhã
Automação de Pipelines de Dados no Snowflake

O que é o Snowpipe?

  • Envolve um COPY INTO — mesma sintaxe, mesmos formatos de arquivo
  • Dispara automaticamente quando novos arquivos chegam a um stage
  • Carrega em micro-lotes, geralmente em minutos
  • Serverless — sem warehouse para provisionar
CREATE PIPE harbr_events_pipe AS
  COPY INTO logistics.delivery_events
  FROM @harbr_s3_stage/events/
  FILE_FORMAT = (FORMAT_NAME = 'harbr_json_format');
Automação de Pipelines de Dados no Snowflake

Como o Snowpipe funciona

Fluxo do Snowpipe

  • AUTO_INGEST — dirigido por eventos; o storage em nuvem publica uma notificação
  • Amazon S3 | Azure Event Grid | GCP Pub/Sub
  • Gatilho por REST API — chame os endpoints insertFiles ou insertReport direto do seu orquestrador
Automação de Pipelines de Dados no Snowflake

Cobrança do Snowpipe

Captura de tela 2026-05-11 às 12.24.14.png

  • Cobrança por crédito fixo por GB consumido
  • Arquivos de texto: baseado no tamanho descompactado
  • Arquivos binários: baseado no tamanho observado
Automação de Pipelines de Dados no Snowflake

Snowpipe Streaming

Snowpipe Snowpipe Streaming
Disparo Arquivo chega no stage Linha escrita pelo app
Latência Minutos Segundos
Caso de uso Feeds baseados em arquivo GPS, IoT, dados de apps em tempo real

 

Remove totalmente a fronteira do arquivo

  • Linhas escritas direto do app via Streaming Ingest SDK
  • Sem arquivos, sem stages — latência em segundos
# Snowpipe Streaming: aplicação escreve linhas diretamente
channel = client.openChannel('GPS_CHANNEL', 'LOGISTICS', 'GPS_EVENTS')
channel.insertRows(rows=[
    {'vehicle_id': 'V001', 'lat': 51.5, 'lng': -0.12, 'ts': now()}
])
Automação de Pipelines de Dados no Snowflake

Escolhendo o método de ingestão certo

Métodos de ingestão

Método Quando usar
COPY INTO Cargas em lote agendadas — arquivos noturnos, exportações semanais, horas de latência aceitáveis
Snowpipe Chegada contínua de arquivos, carga em minutos após a chegada
Snowpipe Streaming Dados gerados por aplicações — GPS, IoT, mercados financeiros — dados em segundos
1 * Snowflake Learning Resource
Automação de Pipelines de Dados no Snowflake

Vamos praticar!

Automação de Pipelines de Dados no Snowflake

Preparing Video For Download...