EXEMPLO: transformações Extractkv e Unnest

Neste exemplo, mostramos como você pode descompactar dados aninhados em um Objeto em colunas separadas usando as transformações abaixo:

Fonte:

Você tem a seguinte informação sobre carros usados. A coluna VIN contém identificadores de veículo, e a coluna Properties contém pares chave-valor que descrevem as características de cada veículo. Você quer descompactar esses dados em colunas separadas.

VINProperties
XX3 JT4522year=2004,make=Subaru,model=Impreza,color=green,mileage=125422,cost=3199
HT4 UJ9122year=2006,make=VW,model=Passat,color=silver,mileage=102941,cost=4599
KC2 WZ9231year=2009,make=GMC,model=Yukon,color=black,mileage=68213,cost=12899
LL8 UH4921year=2011,make=BMW,model=328i,color=brown,mileage=57212,cost=16999

Transformação:

Adicione a seguinte transformação, que identifica todos os valores-chave na coluna como se começassem com caracteres alfabéticos.

  • A string valueafter identifica onde o valor correspondente começa após a chave.
  • A string delimiter indica o fim de cada par chave-valor.

extractkv col:Properties key:`{alpha}+` valueafter:`=` delimiter:`,`

Agora que o objeto de valores foi criado, você pode usar a transformação unnest para descompactar esses dados mapeados. Na instrução a seguir, cada chave é especificada, o que resulta em colunas separadas encabeçadas pela chave nomeada:

unnest col:extractkv_Properties keys:'year','make','model','color','mileage','cost'

Resultados:

Quando você descartar as colunas Properties desnecessárias, o conjunto de dados ficará da seguinte maneira:

VINyearmakemodelcolormileagecost
XX3 JT45222004SubaruImprezagreen1254223199
HT4 UJ91222006VWPassatsilver1029414599
KC2 WZ92312009GMCYukonblack6821312899
LL8 UH49212011BMW328ibrown5721216999
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.