Automação de Pipelines de Dados no Snowflake
Emily Melhuish
Technical Curriculum Developer, Snowflake
Caso de uso:
Solução: Snowpipe

COPY INTO agendado à meia-noite — atraso de 24h-- 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ã
COPY INTO — mesma sintaxe, mesmos formatos de arquivoCREATE PIPE harbr_events_pipe AS
COPY INTO logistics.delivery_events
FROM @harbr_s3_stage/events/
FILE_FORMAT = (FORMAT_NAME = 'harbr_json_format');

AUTO_INGEST — dirigido por eventos; o storage em nuvem publica uma notificaçãoinsertFiles ou insertReport direto do seu orquestrador
| 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
# 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()}
])

| 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 |
Automação de Pipelines de Dados no Snowflake