Pular para conteúdo

expandir struct

fábrica

expande todos os campos de uma coluna estruturada (struct) em colunas individuais, de uma só vez — sem precisar listar cada campo manualmente.


quando usar

  • achatar rapidamente um objeto aninhado inteiro quando você quer todos os campos, não apenas alguns
  • simplificar dados vindos de fontes que retornam objetos bem tipados (ex: leitura de parquet/iceberg com colunas struct)
  • preparar uma tabela plana para consumo por ferramentas de bi que não lidam bem com colunas aninhadas

configuração

campo tipo obrigatório descrição
source_field string sim coluna do tipo struct a expandir
keep_source bool não mantém a coluna struct original no resultado · padrão: false

exemplo

dado um dataset com uma coluna endereco do tipo struct:

cliente_id endereco
1 {cidade: "SP", estado: "SP", cep: "01000-000"}

configuração:

{
  "source_field": "endereco",
  "keep_source": false
}

resultado:

cliente_id cidade estado cep
1 SP SP 01000-000

todos os campos do struct viram colunas próprias, e a coluna endereco original é removida.


expandir struct vs. expandir json

quando usar
expandir struct (este nó) a coluna já é um tipo estruturado e você quer todos os campos de uma vez
expandir json a coluna é texto json/jsonb e você quer escolher caminhos específicos a extrair, com controle de tipo por campo