Snowpipe y Snowpipe Streaming

Automatización de canalizaciones de datos en Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Snowpipe

Caso de uso:

  • Llegan eventos de entrega de forma continua

Solución: Snowpipe

  • Snowpipe carga desde archivos en cuanto están disponibles en un stage.

Captura de pantalla 11-05-2026 12:24:14 p. m.

1 * Material de aprendizaje de Snowflake
Automatización de canalizaciones de datos en Snowflake

El problema del batch loading

  • Archivos llegan a S3 cada pocos minutos durante el día
  • COPY INTO programado a medianoche: retraso de 24 h
  • Envíos tardíos no aparecerán hasta el día siguiente
  • Snowpipe cierra esa brecha
-- Lote nocturno: corre a las 00:00, datos llegan todo el día
COPY INTO logistics.delivery_events
FROM @harbr_s3_stage/events/
FILE_FORMAT = (FORMAT_NAME = 'harbr_json_format');
-- Una excepción a las 9 a. m. no aparecerá hasta mañana
Automatización de canalizaciones de datos en Snowflake

¿Qué es Snowpipe?

  • Envuelve un COPY INTO: misma sintaxis y formatos de archivo
  • Se activa automáticamente cuando llegan nuevos archivos al stage
  • Carga en micro-lotes, normalmente en minutos
  • Sin servidor: no hay que aprovisionar warehouse
CREATE PIPE harbr_events_pipe AS
  COPY INTO logistics.delivery_events
  FROM @harbr_s3_stage/events/
  FILE_FORMAT = (FORMAT_NAME = 'harbr_json_format');
Automatización de canalizaciones de datos en Snowflake

Cómo funciona Snowpipe

Flujo de trabajo de Snowpipe

  • AUTO_INGEST: por eventos; el almacenamiento en la nube publica una notificación
  • Amazon S3 | Azure Event Grid | GCP Pub/Sub
  • Disparo por REST API: llama a insertFiles o insertReport desde la orquestación
Automatización de canalizaciones de datos en Snowflake

Facturación de Snowpipe

Captura de pantalla 11-05-2026 12:24:14 p. m.

  • Facturación: créditos fijos por GB consumido
  • Archivos de texto: según tamaño sin comprimir
  • Archivos binarios: según tamaño observado
Automatización de canalizaciones de datos en Snowflake

Snowpipe Streaming

Snowpipe Snowpipe Streaming
Disparador Archivo llega al stage Fila escrita por la app
Latencia Minutos Segundos
Caso de uso Feeds basados en archivos GPS, IoT, datos en tiempo real

 

Elimina por completo el límite del archivo

  • Filas escritas directo desde la app con el SDK de Streaming Ingest
  • Sin archivos ni stages: latencia en segundos
# Snowpipe Streaming: la aplicación escribe filas directamente
channel = client.openChannel('GPS_CHANNEL', 'LOGISTICS', 'GPS_EVENTS')
channel.insertRows(rows=[
    {'vehicle_id': 'V001', 'lat': 51.5, 'lng': -0.12, 'ts': now()}
])
Automatización de canalizaciones de datos en Snowflake

Elegir el método de ingesta adecuado

Métodos de ingesta

Método Cuándo usar
COPY INTO Cargas por lotes programadas: archivos nocturnos, exportaciones semanales; horas de latencia aceptables
Snowpipe Llegadas continuas de archivos; cargas en minutos tras su llegada
Snowpipe Streaming Datos generados por apps: GPS, IoT, mercados financieros; datos en segundos
1 * Recurso de aprendizaje de Snowflake
Automatización de canalizaciones de datos en Snowflake

¡Vamos a practicar!

Automatización de canalizaciones de datos en Snowflake

Preparing Video For Download...