Cómo utilizar unnest en BigQuery

UNNEST en BigQuery es una función muy útil que permite aplanar estructuras de datos anidadas y repetidas para facilitar el análisis. Cuando se trata de datos jerárquicos complejos como arrays, UNNEST viene al rescate.

A diferencia de los datos tabulares tradicionales, estas matrices contienen datos anidados y repetidos, lo que puede dificultar la agregación y las uniones. Cuando esto ocurre, UNNEST te permite expandir los datos anidados o repetidos en filas separadas para que puedas analizar los elementos no anidados con mucha más facilidad.

En este artículo, exploraremos la función UNNEST en BigQuery para ver cómo puede simplificar el análisis de datos anidados. 

Comprensión de las estructuras de datos anidadas y repetidas en BigQuery

Al analizar conjuntos de datos grandes y complejos en BigQuery, es habitual encontrar campos anidados y repetidos. Estas estructuras de datos anidadas permiten almacenar varios valores en un único campo de BigQuery, lo que facilita la manipulación de varios valores a la vez.

Si observa la tabla siguiente, se dará cuenta de que la columna con los “parámetros del evento” contiene subcolumnas con varios valores, que forman parte de la misma fila. 

Unnest BigQuery 1

Si examina el esquema de la tabla, verá que el tipo de datos de esta columna no es un entero, una cadena, un flotador ni un booleano. Está definida como un registro, ya que contiene subcolumnas.

Unnest BigQuery 2

Como puede ver, el campo “event_params” tiene subcolumnas (“key” y “value”) con múltiples valores en su interior. Observe que BigQuery admite datos anidados con subcolumnas dentro de subcolumnas. En esta tabla, “value” contiene múltiples subcolumnas.

Unnest BigQuery 3

¿Cómo funciona UNNEST en BigQuery?

La función UNNEST en BigQuery se utiliza para aplanar estructuras de datos anidadas o repetidas en filas separadas. Lo que hace es tomar como entrada una columna con un tipo de datos anidados como un ARRAY, y expandir los elementos anidados o repetidos en múltiples filas. Como resultado, aplanará los datos en una estructura tabular.

Después de que UNNEST transforme los datos anidados o repetidos en una tabla plana, podrá consultar directamente las columnas y analizar sus elementos individuales.

Cómo utilizar UNNEST en BigQuery

Para aplanar estructuras de datos anidadas en BigQuery, utilizaremos la función UNNEST. Aquí está la sintaxis UNNEST:

SELECT columna1, columna2, ...

FROM nombre_tabla, UNNEST(columna) AS alias 

Utilizaremos la función UNNEST para dividir la columna “event_params” en filas separadas.

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

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

UNNEST(event_params) COMO params

LIMITE 1000;

Echemos un vistazo más de cerca a la consulta.

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

En primer lugar, he especificado las columnas que quiero que BigQuery devuelva: event_name, params.key y params.value. “Params” es el alias que asignaré cuando escriba la función UNNEST.

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

Esta es la tabla que quiero consultar. He utilizado una sentencia AS para asignar un alias a la tabla: “ga”.

UNNEST(event_params) COMO params

La función UNNEST expandirá los datos anidados en filas separadas.

LIMITE 1000;

Esta cláusula limita el número de filas devueltas a 1000.

Unnest BigQuery 4

BigQuery ha expandido los datos en filas separadas, aplanando los datos anidados.

Así es como se pueden anular datos en BigQuery. Si quieres aprender a resumir y analizar datos en BigQuery, consulta este artículo sobre cómo utilizar las funciones agregadas.

Gestione fácilmente grandes conjuntos de datos

Utiliza Sheetgo para conectar BigQuery con Google Sheets y manejar grandes volúmenes de datos de forma eficiente.

También te puede gustar...

Más allá de la RPA: Por qué el futuro de la automatización de hojas de cálculo pasa por los datos

Ha buscado "RPA" para eliminar tareas repetitivas. Pero ¿y si el problema no es la tarea, sino los datos? El "reflejo RPA" Todo equipo...

Cómo conectar el lago a los usuarios de la empresa con una base de datos sin código

Ha invertido en un Lakehouse moderno. Por qué su equipo financiero sigue pidiendo exportaciones CSV? La paradoja de los datos modernos Ha...
datascience

Gestión de inventarios de joyería: cómo elegir el sistema adecuado

La gestión del inventario de joyería es más compleja que en otros sectores. Con artículos de gran valor, materias primas preciosas e intrincados...