Pular para conteúdo

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:

  1. 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
  2. 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

[fonte] → [schema cast] → [quality gate] → [lakehouse writer: camada bronze]

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.