schema cast¶
controle
infere e tipifica as colunas de um dataset antes que ele chegue à camada bronze — a etapa que garante que tipos de dado (texto, número, data, booleano) fiquem corretos e explícitos desde o primeiro ponto onde os dados são persistidos.
quando usar¶
- logo após uma fonte que entrega tudo como texto (ex: csv, planilhas, algumas apis) e você precisa de tipos corretos antes de persistir
- padronizar a tipagem de um pipeline de ingestão antes da camada bronze, evitando que colunas numéricas ou de data cheguem como texto no lakehouse
- quando você quer revisar e ajustar manualmente os tipos sugeridos automaticamente, em vez de confiar apenas na inferência da fonte
como funciona¶
o nó opera em dois momentos diferentes:
- configuração (amostra) — ao abrir o nó no builder, ele roda automaticamente uma pequena amostra dos dados upstream, infere o tipo de cada coluna e mostra valores de exemplo, para você revisar e ajustar o tipo de cada campo antes de salvar
- execução em produção — a cada run do pipeline, o nó aplica os tipos definidos na configuração (conversão explícita), produzindo uma tabela com o schema já corrigido
se uma conversão falhar para algum valor específico, o resultado daquela célula fica nulo em vez de quebrar o pipeline inteiro.
configuração¶
| campo | tipo | obrigatório | descrição |
|---|---|---|---|
columns |
lista de {name, target_type, nullable, order} |
sim (preenchida automaticamente pela amostra) | definição de tipo por coluna |
cada item de columns:
| campo | descrição |
|---|---|
name |
nome da coluna |
target_type |
TEXT, BIGINT, INTEGER, DOUBLE, DECIMAL, BOOLEAN, TIMESTAMP, DATE |
nullable |
se a coluna aceita valores nulos |
order |
posição da coluna na tabela resultante |
exemplo¶
após rodar a amostra automática sobre um export de vendas, o nó pode sugerir:
{
"columns": [
{ "name": "pedido_id", "target_type": "BIGINT", "nullable": false, "order": 0 },
{ "name": "cliente_nome", "target_type": "TEXT", "nullable": true, "order": 1 },
{ "name": "valor", "target_type": "DECIMAL", "nullable": true, "order": 2 },
{ "name": "data_pedido", "target_type": "TIMESTAMP", "nullable": true, "order": 3 }
]
}
você pode ajustar qualquer tipo sugerido antes de salvar — por exemplo, trocar valor de DOUBLE (sugestão automática) para DECIMAL, se a precisão exata for importante para o negócio.
posição recomendada no pipeline¶
amostragem automática ao configurar
não é preciso digitar tipos manualmente do zero — ao abrir o nó no builder, a plataforma já roda uma amostra dos dados e preenche columns com uma sugestão de tipo por coluna, baseada nos valores reais encontrados.
para conversão pontual, use converter tipo
se você só precisa ajustar o tipo de uma ou duas colunas específicas em vez de tipificar o dataset inteiro, o nó converter tipo é mais direto.