Pular para conteúdo

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)

{
  "key": "exports/clientes/data.parquet",
  "file_format": "parquet",
  "compression": "snappy"
}

parquet com zstd (melhor compressão)

{
  "key": "exports/historico/data.parquet",
  "file_format": "parquet",
  "compression": "zstd"
}

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:

exports/pedidos/2024/03/data.parquet

json array

{
  "key": "dumps/produtos.json",
  "file_format": "json"
}

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:

{org_id}/{workspace_id}/lakehouses/{lh_slug}/tabelas/{table_name}/data.parquet

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.