Descarga de datos y conectividad

Automatización de canalizaciones de datos en Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Caso de uso: descarga (Unloading)

Exportar datos a almacenamiento en la nube

  • No todos los partners tienen acceso a Snowflake
  • COPY INTO escribe resultados directo en un stage
  • No hace falta un pipeline de exportación aparte
    COPY INTO @harbr_partner_export/
    daily_summary/
    FROM (SELECT * FROM 
    logistics.shipment_summary
    WHERE export_date = 
    CURRENT_DATE() - 1);
    

 

 

mermaid: descarga de Snowflake a almacenamiento del partner

Automatización de canalizaciones de datos en Snowflake

COPY INTO

COPY INTO @harbr_partner_export/shipment_summary/
FROM (
  SELECT shipment_id,
         origin,
         destination,
         delivery_status,
         delivery_time_hours
  FROM logistics.shipments
  WHERE delivery_date = CURRENT_DATE()
)
FILE_FORMAT = (TYPE = 'CSV' HEADER = TRUE)
OVERWRITE = TRUE;
Automatización de canalizaciones de datos en Snowflake

Opciones de formato de exportación

 

Formato Mejor para
CSV Universal: casi cualquier sistema lo lee; ideal para exportar a partners
JSON Conserva estructuras anidadas; útil para consumidores semiestructurados
Parquet Grandes datasets analíticos; compresión columnar = archivos más chicos, lecturas más rápidas

Opciones clave de descarga

-- Divide exportaciones grandes en varios archivos (bytes)
HEADER = TRUE              -- incluir nombres de columnas en la primera fila
OVERWRITE = TRUE           -- reemplazar archivos existentes en esa ruta
MAX_FILE_SIZE = 104857600  -- 100 MB por archivo de salida
Automatización de canalizaciones de datos en Snowflake

Panorama de conectividad

El panorama de conectividad de conectores

Automatización de canalizaciones de datos en Snowflake

Conectores Kafka y Spark

Conector Kafka

  • Los temas fluyen directo a tablas de Snowflake
  • Sin archivos ni stages: usa Snowpipe Streaming
  • Latencia de segundos
# connector.properties (Kafka settings)
snowflake.topic2table.map=events:
delivery_events
snowflake.ingestion.method=
SNOWPIPE_STREAMING

Conector Spark

  • Se integra con la API DataFrame de Spark
  • Jobs de Spark leen y escriben en Snowflake
  • Maneja transformaciones a gran escala
// Read from Snowflake into a Spark DataFrame
val df = spark.read.format("snowflake")
  .options(sfOptions).option("dbtable", 
    "shipments").load()
Automatización de canalizaciones de datos en Snowflake

JDBC/ODBC e integraciones de partners

Conectividad universal

Integración Tipo Uso en Harbr
JDBC / ODBC Controladores universales Herramientas BI (Tableau, Power BI, Looker): consulta directa
Conector de Python Driver nativo de Python Pipelines, ETL programado, ciencia de datos
dbt Transformación SQL Ejecuta modelos directamente en Snowflake compute
Fivetran / Airbyte Ingesta gestionada SaaS → Snowflake, sin código a medida
Automatización de canalizaciones de datos en Snowflake

¡Vamos a practicar!

Automatización de canalizaciones de datos en Snowflake

Preparing Video For Download...