Descarregamento de dados e conectividade

Automação de Pipelines de Dados no Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

O caso de uso: Unloading

Exportando dados para storage na nuvem

  • Nem todos os parceiros têm acesso ao Snowflake
  • COPY INTO escreve resultados direto em um stage
  • Sem pipeline de exportação separado
    COPY INTO @harbr_partner_export/
    daily_summary/
    FROM (SELECT * FROM 
    logistics.shipment_summary
    WHERE export_date = 
    CURRENT_DATE() - 1);
    

 

 

mermaid: descarregando do Snowflake para o storage do parceiro

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

Opções de formato de exportação

 

Formato Melhor para
CSV Universal — quase todo sistema lê; ideal para exportar a parceiros
JSON Preserva estruturas aninhadas; útil para consumidores semiestruturados
Parquet Grandes datasets analíticos; compressão colunar = arquivos menores, leitura mais rápida

Opções-chave de unloading

-- Dividir exports grandes em vários arquivos (bytes)
HEADER = TRUE              -- incluir nomes das colunas na primeira linha
OVERWRITE = TRUE           -- substituir arquivos existentes nesse caminho
MAX_FILE_SIZE = 104857600  -- 100 MB por arquivo de saída
Automação de Pipelines de Dados no Snowflake

O panorama da conectividade

O panorama da conectividade: conectores

Automação de Pipelines de Dados no Snowflake

Conectores Kafka e Spark

Conector Kafka

  • Tópicos entram direto em tabelas do Snowflake
  • Sem arquivos nem stages — usa Snowpipe Streaming
  • Latência de segundos
# connector.properties (Kafka settings)
snowflake.topic2table.map=events:
delivery_events
snowflake.ingestion.method=
SNOWPIPE_STREAMING

Conector Spark

  • Integra com a API de DataFrame do Spark
  • Jobs do Spark leem e escrevem no Snowflake
  • Suporta transformações em grande escala
// Ler do Snowflake para um DataFrame Spark
val df = spark.read.format("snowflake")
  .options(sfOptions).option("dbtable", 
    "shipments").load()
Automação de Pipelines de Dados no Snowflake

Integrações JDBC/ODBC e parceiras

Conectividade universal

Integração Tipo Uso na Harbr
JDBC / ODBC Drivers universais Ferramentas de BI (Tableau, Power BI, Looker) — consulta direta
Conector Python Driver nativo Python Pipelines de dados, ETL agendado, ciência de dados
dbt Transformação em SQL Executa modelos direto no compute do Snowflake
Fivetran / Airbyte Ingestão gerenciada Sistemas SaaS → Snowflake, sem código customizado
Automação de Pipelines de Dados no Snowflake

Vamos praticar!

Automação de Pipelines de Dados no Snowflake

Preparing Video For Download...