Como usar o unnest no BigQuery

A UNNEST no BigQuery é uma função muito útil que permite achatar estruturas de dados aninhadas e repetidas para facilitar a análise. Ao lidar com dados hierárquicos complexos, como matrizes, a UNNEST vem em seu socorro.

Diferentemente dos dados tabulares tradicionais, essas matrizes contêm dados aninhados e repetidos, o que pode dificultar a agregação e as uniões. Quando isso acontece, o UNNEST permite expandir os dados aninhados ou repetidos em linhas separadas para que você possa analisar os elementos não aninhados com muito mais facilidade.

Neste artigo, exploraremos a função UNNEST no BigQuery para ver como ela pode simplificar a análise de dados aninhados. 

Compreensão de estruturas de dados aninhadas e repetidas no BigQuery

Ao analisar conjuntos de dados grandes e complexos no BigQuery, é comum encontrar campos aninhados e repetidos. Essas estruturas de dados aninhadas permitem que você armazene vários valores em um único campo no BigQuery, facilitando a manipulação de vários valores de uma só vez.

Ao examinar a tabela abaixo, você notará que a coluna com os “parâmetros do evento” contém subcolunas com vários valores, que fazem parte da mesma linha. 

BigQuery mais recente 1

Se você examinar o esquema da tabela, verá que o tipo de dados dessa coluna não é um inteiro, string, float ou booleano. Em vez disso, ela é definida como um registro, pois contém subcolunas.

BigQuery 2 mais recente

Como você pode ver, o campo “event_params” tem subcolunas (“key” e “value”) com vários valores dentro. Observe que o BigQuery suporta dados aninhados com subcolunas dentro de subcolunas. Nessa tabela, “value” contém várias subcolunas.

BigQuery 3 mais recente

Como o UNNEST funciona no BigQuery?

A função UNNEST no BigQuery é usada para achatar estruturas de dados aninhadas ou repetidas em linhas separadas. O que ela faz é tomar como entrada uma coluna com um tipo de dados aninhado, como um ARRAY, e expandir os elementos aninhados ou repetidos em várias linhas. Como resultado, ele achatará os dados em uma estrutura tabular.

Depois que a UNNEST transformar os dados aninhados ou repetidos em uma tabela plana, você poderá consultar as colunas diretamente e analisar seus elementos individuais.

Como usar o UNNEST no BigQuery

Para achatar estruturas de dados aninhadas no BigQuery, usaremos a função UNNEST. Esta é a sintaxe da UNNEST:

SELECT coluna1, coluna2, ...

FROM table_name, UNNEST(column) AS alias 

Usaremos a função UNNEST para dividir a coluna “event_params” em linhas separadas.

SELECT ga.event_name, params.key, params.value

FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_20210131` AS ga,

UNNEST(event_params) AS params

LIMITE 1000;

Vamos dar uma olhada mais de perto na consulta.

SELECT ga.event_name, params.key, params.value

Primeiro, especifiquei as colunas que desejo que o BigQuery retorne: event_name, params.key e params.value. “Params” é o alias que atribuirei quando escrever a função UNNEST.

FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_20210131` AS ga,

Essa é a tabela que quero consultar. Usei uma instrução AS para atribuir um alias à tabela: “ga”.

UNNEST(event_params) AS params

A função UNNEST expandirá os dados aninhados em linhas separadas.

LIMITE 1000;

Essa cláusula limita o número de linhas retornadas a 1000.

BigQuery 4 mais recente

O BigQuery expandiu os dados em linhas separadas, achatando os dados aninhados.

É assim que você pode aninhar dados no BigQuery. Se você quiser saber como resumir e analisar dados no BigQuery, confira este artigo sobre como usar funções agregadas.

Gerencie grandes conjuntos de dados com facilidade

Use o Sheetgo para conectar o BigQuery ao Google Sheets e lidar com dados extensos de forma eficiente

Você também pode gostar...

Além da RPA: Por que o futuro da automação de planilhas prioriza os dados

Você procurou por "RPA" para eliminar tarefas repetitivas. Mas e se o problema não for a tarefa, mas os dados? O "Reflexo da RPA" Toda equipe...

Como conectar seu lakehouse aos usuários corporativos - com uma base de dados sem código

Você investiu em um Lakehouse moderno. Por que sua equipe financeira ainda pede exportações em CSV? O paradoxo dos dados modernos Você criou um sistema de...
ciência de dados

Gerenciamento de estoque de joias: como escolher o sistema certo

O gerenciamento do estoque de joias é mais complexo do que em outros setores. Com itens de alto valor, matérias-primas preciosas e suprimentos complexos...