Transformação Nest

OBSERVAÇÃO: as transformações fazem parte da linguagem subjacente não diretamente acessível aos usuários. Esse conteúdo é mantido apenas para fins de referência.

Cria um Objeto ou Matriz de valores usando nomes de colunas e seus respectivos valores como pares chave-valor para uma ou mais colunas. O tipo de coluna gerada é determinado pelo parâmetro into.

A transformação nest é o oposto da unnest, que descompacta os dados do Objeto em colunas e linhas separadas. Consulte Transformação Unnest.

Uso básico

ItemAItemB
2233
4455

Exemplo de objeto:

nest col:ItemA,ItemB into:'obj' as:'myObj'

Saída: consulte abaixo.

ItemAItemBmyObj
2233{"ItemA":"22","ItemB","33"}
4455{"ItemA":"44","ItemB","55"}

Exemplo de matriz:

nest col:ItemA,ItemB into:'array' as:'myArray'

Saída: matrizes de saída não incluem o nome da coluna.

ItemAItemBmyArray
2233["22","33"]
4455["44","55"]

Parâmetros

nest col:column_ref [into: object|array] [as:'new_column_name']

TokenObrigatório?Tipo de dadosDescrição
nestStransformNome da transformação
colSstringNome da coluna de origem
intoNstringTipo de dados da coluna de saída: object (padrão) ou array
asNstringNome da coluna recém-gerada

Para mais informações sobre os padrões de sintaxe, consulte Notas de sintaxe da documentação da linguagem.

col

Identifica as colunas às quais aplicar a transformação. Especifique uma ou mais colunas.

Para especificar várias colunas, leve em conta estes fatores:

  • Os nomes de colunas distintas são separados por vírgulas. Os valores dos nomes de colunas diferenciam maiúsculas de minúsculas.
  • Se for o caso, vários valores podem ser especificados usando um til (~).

Para cada coluna listada, um novo par de colunas chave e de valor é gerado.

nest col: Qty, Amount

Saída: é criado um objeto de dados a partir das colunas Qty e Amount.

Você também pode especificar intervalos de colunas usando o operador til (~):

nest col:Column1~Column20 as:'bigNest'

Saída: os dados das colunas Column1 e Column20, e de todas as colunas exibidas entre elas na grade de dados, são aninhados na nova coluna bigNest.

Observações sobre o uso:

Obrigatório?Tipo de dados
SimString (nome da coluna)

into

Define o tipo de coluna de saída. Valores aceitos:

  • object
  • array

Se este parâmetro não é especificado, o tipo de saída é Object.

Observações sobre o uso:

Obrigatório?Tipo de dados
Não (o padrão é Object)String (nome do tipo de dados)

as

Nome da nova coluna que está sendo gerada. Se o parâmetro as não for especificado, será usado um nome padrão.

nest col: CustId,ProdId as:'masterNest'

Saída: os dados das colunas CustId e ProdId são aninhados em uma nova coluna chamada masterNest.

Observações sobre o uso:

Obrigatório?Tipo de dados
NãoString (nome da coluna)

Exemplos

Fonte:

No exemplo a seguir, as dimensões dos móveis são armazenadas em colunas separadas em centímetros.

CategoriaNomeComprimentoLarguraAltura
bancoHooska118,1174,9346,34
lumináriaTansk30,4830,48

165,1

estante de livrosBrock27,94160,02201,93
sofáLoafy9522783

Transformação:

Use a transformação nest para agrupar os dados em uma única coluna.

nest col:Length~Height as:'Dimensions'

Resultados:

CategoriaNomeComprimentoLarguraAlturaDimensões
bancoHooska118,1174,9346,34{"Length_cm":"118.11","Width_cm":"74.93","Height_cm":"46.34"}
lumináriaTansk30,4830,48

165,1

{"Length_cm":"30.48","Width_cm":"30.48","Height_cm":"165.1"}
estante de livrosBrock27,94160,02201,93{"Length_cm":"27.94","Width_cm":"160.02","Height_cm":"201.93"}
sofáLoafy9522783{"Length_cm":"95,"Width_cm":"227","Height_cm":"83"}

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Google Cloud Dataprep
Precisa de ajuda? Acesse nossa página de suporte.