s3 / minio¶
destino
grava os dados do upstream como arquivo no minio ou em buckets s3 compatíveis. suporta parquet, csv e json. usa duckdb httpfs para escrita direta sem staging intermediário.
casos de uso¶
- persistir dados processados no lakehouse para consumo futuro
- exportar resultados de pipelines como arquivos csv para download
- criar backups de dados transformados em object storage
formatos suportados¶
| formato | compressão disponível | observações |
|---|---|---|
parquet |
snappy, zstd, gzip, none | recomendado — mais eficiente |
csv |
— | header incluso automaticamente |
json |
— | escrito como array de objetos |
configuração¶
| campo | tipo | obrigatório | descrição |
|---|---|---|---|
bucket |
string | não | nome do bucket · padrão: bucket do lakehouse do workspace |
key |
string | sim | caminho de destino no bucket. suporta {{variavel}} |
file_format |
enum | não | parquet, csv, json · padrão: parquet |
compression |
enum | não | snappy, zstd, gzip, none · padrão: snappy (parquet) |
exemplos¶
parquet com snappy (padrão)¶
parquet com zstd (melhor compressão)¶
csv exportado para bucket externo¶
{
"bucket": "bucket-compartilhado-externo",
"key": "relatorios/vendas_2024.csv",
"file_format": "csv"
}
caminho dinâmico com variáveis de pipeline¶
{
"key": "exports/{{entidade}}/{{ano}}/{{mes}}/data.parquet",
"file_format": "parquet",
"compression": "snappy"
}
com variáveis entidade=pedidos, ano=2024, mes=03:
json array¶
estrutura de saída por formato¶
parquet: arquivo binário colunar — leitura rápida pelo catálogo e pelo nó s3 source.
csv:
id,nome,email,created_at
1,João Silva,joao@email.com,2024-01-15
2,Maria Costa,maria@email.com,2024-01-16
json:
[
{ "id": 1, "nome": "João Silva", "email": "joao@email.com" },
{ "id": 2, "nome": "Maria Costa", "email": "maria@email.com" }
]
usando como lakehouse¶
para que os dados gravados apareçam no catálogo, o caminho deve seguir a convenção do lakehouse:
prefira o nó destino lakehouse ou use o lakehouse reader no pipeline seguinte.
branch developer¶
em pipelines no branch developer, as escritas em buckets externos são bloqueadas. escritas no bucket padrão do workspace são redirecionadas para um prefixo de staging com ttl de 1 hora.
credenciais¶
as credenciais do minio são lidas das variáveis de ambiente — não é necessário configurar no vault.