Pular para conteúdo

inferência de schema

um dos maiores atritos em plataformas de dados tradicionais é ter que declarar manualmente a estrutura de cada tabela antes de conseguir usá-la: nome de cada coluna, tipo, se aceita nulo, etc. na datablixt isso não é necessário — o schema de qualquer tabela do catálogo é inferido automaticamente a partir dos dados que já estão gravados.

como funciona, do ponto de vista de quem usa

ao abrir a aba schema de uma tabela no catálogo, a plataforma lê a tabela e devolve, na hora:

  • o nome de cada coluna;
  • o tipo de dado detectado (texto, número inteiro, número decimal, data, verdadeiro/falso, etc.);
  • se a coluna tem valores nulos.

não existe um passo prévio de "criar a tabela" ou "definir o DDL" — a estrutura da tabela é sempre um reflexo fiel do que o pipeline gravou na última execução.

por que isso importa para o negócio

isso elimina uma etapa clássica de atrito entre times de negócio e engenharia: não é preciso abrir um chamado pedindo "adicionar uma coluna ao schema" quando um workflow passa a gravar um novo campo — o catálogo simplesmente reflete a nova estrutura na próxima consulta.

schema evolutivo

como o schema é sempre inferido a partir do dado atual, ele acompanha naturalmente a evolução do pipeline: se um workflow passa a gravar uma nova coluna, ou deixa de gravar uma coluna antiga, a próxima consulta ao catálogo já reflete essa mudança — sem migração manual de schema.

isso é especialmente útil em conectores que expandem campos semiestruturados (por exemplo, colunas JSON/JSONB), onde a própria plataforma consegue detectar os campos internos de um objeto JSON e sugerir a expansão em colunas individuais.

quando o schema parece "errado"

o schema inferido reflete os dados como eles estão fisicamente gravados na última execução bem-sucedida do pipeline. se uma coluna aparece com um tipo inesperado (por exemplo, um número interpretado como texto), geralmente é porque a fonte original enviou valores mistos naquela coluna — vale revisar o nó de origem ou aplicar uma conversão de tipo explícita no workflow antes da gravação final.