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:
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¶
| nó | 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 |