Automação de Pipelines de Dados no Snowflake
Emily Melhuish
Technical Curriculum Developer, Snowflake
Exportando dados para storage na nuvem
COPY INTO escreve resultados direto em um stageCOPY INTO @harbr_partner_export/
daily_summary/
FROM (SELECT * FROM
logistics.shipment_summary
WHERE export_date =
CURRENT_DATE() - 1);

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;
| 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

Conector Kafka
# connector.properties (Kafka settings)
snowflake.topic2table.map=events:
delivery_events
snowflake.ingestion.method=
SNOWPIPE_STREAMING
Conector Spark
// Ler do Snowflake para um DataFrame Spark
val df = spark.read.format("snowflake")
.options(sfOptions).option("dbtable",
"shipments").load()
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