Codelab sobre cómo preparar datos con agentes de IA en BigQuery

1. Introducción

Imagina poder preparar tus datos para el análisis de forma más rápida y eficiente sin necesidad de ser un experto en programación. Con BigQuery Data Preparation, esto es una realidad. Esta potente función simplifica la transferencia, la transformación y la limpieza de datos, y pone la preparación de datos en manos de todos los profesionales de datos de tu organización.

¿Todo listo para descubrir los secretos ocultos en tus datos de productos?

Requisitos previos

  • Conocimientos básicos sobre la consola de Google Cloud
  • Conocimientos básicos de SQL

Qué aprenderás

  • Cómo la preparación de datos de BigQuery puede limpiar y transformar tus datos sin procesar en inteligencia empresarial práctica, con un ejemplo realista de la industria de la moda y la belleza
  • Cómo ejecutar y programar la preparación de datos para tus datos limpios

Requisitos

  • Una cuenta de Google Cloud y un proyecto de Google Cloud
  • Un navegador web, como Chrome

2. Configuración básica y requisitos

Configuración del entorno de autoaprendizaje

  1. Accede a la consola de Google Cloud y crea un proyecto nuevo o reutiliza uno existente. Si aún no tienes una cuenta de Gmail o de Google Workspace, debes crear una.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • El Nombre del proyecto es el nombre visible de los participantes de este proyecto. Es una cadena de caracteres que no se utiliza en las APIs de Google. Puedes actualizarla cuando quieras.
  • El ID del proyecto es único en todos los proyectos de Google Cloud y es inmutable (no se puede cambiar después de configurarlo). La consola de Cloud genera automáticamente una cadena única. Por lo general, no importa cuál sea. En la mayoría de los codelabs, deberás hacer referencia al ID de tu proyecto (suele identificarse como PROJECT_ID). Si no te gusta el ID que se generó, podrías generar otro aleatorio. También puedes probar uno propio y ver si está disponible. No se puede cambiar después de este paso y se usa el mismo durante todo el proyecto.
  • Recuerda que hay un tercer valor, un número de proyecto, que usan algunas APIs. Obtén más información sobre estos tres valores en la documentación.
  1. A continuación, deberás habilitar la facturación en la consola de Cloud para usar las APIs o los recursos de Cloud. Ejecutar este codelab no costará mucho, tal vez nada. Para cerrar recursos y evitar que se generen cobros más allá de este instructivo, puedes borrar los recursos que creaste o borrar el proyecto. Los usuarios nuevos de Google Cloud son aptos para participar en el programa Prueba gratuita de USD 300.

3. Antes de comenzar

Habilitar API

Para usar Gemini en BigQuery, debes habilitar la API de Gemini para Google Cloud. Por lo general, un administrador de servicios o un propietario del proyecto con el permiso de IAM serviceusage.services.enable realiza este paso.

  1. Para habilitar la API de Gemini para Google Cloud, ve a la página de Gemini para Google Cloud en Google Cloud Marketplace. Ir a Gemini para Google Cloud
  2. En el selector de proyectos, elige un proyecto.
  3. Haz clic en Habilitar. La página se actualiza y muestra el estado Habilitado. Gemini en BigQuery ahora está disponible en el proyecto de Google Cloud seleccionado para todos los usuarios que tienen los permisos de IAM necesarios.

Cómo configurar roles y permisos para desarrollar preparaciones de datos

  1. En IAM y administración, selecciona IAM.

4477412d79f29e0b.png

  1. Selecciona tu usuario y haz clic en el ícono de lápiz para "Editar principal".

5eb558e04ad12362.png

Para usar la preparación de datos de BigQuery, necesitarás los siguientes roles y permisos:

4. Cómo encontrar la ficha "bq data preparation demo" y suscribirse a ella en Analytics Hub de BigQuery

Usaremos el conjunto de datos bq data preparation demo para este instructivo. Es un conjunto de datos vinculado en Analytics Hub de BigQuery desde el que leeremos.

La preparación de datos nunca vuelve a escribir en la fuente, y te pediremos que definas una tabla de destino en la que escribir. La tabla con la que trabajaremos en este ejercicio solo tiene 1,000 filas para mantener los costos al mínimo, pero la preparación de datos se ejecuta en BigQuery y se ajustará según sea necesario.

Sigue estos pasos para encontrar el conjunto de datos vinculado y suscribirte a él:

  1. Accede a Analytics Hub: En la consola de Google Cloud, navega a BigQuery.
  2. En el menú de navegación de BigQuery, en "Gobernanza", selecciona "Analytics Hub".

6ddfac4dd863ca7b.png

  1. Busca la ficha: En la IU de Analytics Hub, haz clic en Search Listings.
  2. Escribe bq data preparation demo en la barra de búsqueda y presiona Intro.

7e0cb82b80174cdc.png

  1. Suscríbete a la ficha: Selecciona la ficha bq data preparation demo en los resultados de la búsqueda.
  2. En la página de detalles de la ficha, haz clic en el botón Suscribirse.
  3. Revisa los cuadros de diálogo de confirmación y actualiza el proyecto o el conjunto de datos si es necesario. Los valores predeterminados deben ser correctos.

2ef0ac1e3557f2f9.png

  1. Accede al conjunto de datos en BigQuery: Una vez que te hayas suscrito correctamente, los conjuntos de datos de la ficha se vincularán a tu proyecto de BigQuery.

Regresa a BigQuery Studio.

5. Explora los datos y lanza la preparación de datos

  1. Busca el conjunto de datos y la tabla: En el panel Explorador, selecciona tu proyecto y, luego, busca el conjunto de datos que se incluyó en la lista bq data preparation demo. Selecciona la tabla stg_product.
  2. Abrir en Preparación de datos: Haz clic en los tres puntos verticales junto al nombre de la tabla y selecciona Open in Data Preparation.

Se abrirá la tabla en la interfaz de Preparación de datos, lista para que comiences a transformar tus datos.

76ace3d4b5cfc2d0.png

Como puedes ver en la vista previa de los datos a continuación, tenemos algunos desafíos relacionados con los datos que abordaremos, incluidos los siguientes:

  • La columna de precios contiene el importe y la moneda, lo que dificulta el análisis.
  • La columna de producto combina el nombre y la categoría del producto (separados por un símbolo de barra vertical |).

f4d93aa59a56447a.png

De inmediato, Gemini analiza tus datos y sugiere varias transformaciones. En este ejemplo, vemos varias recomendaciones. En los próximos pasos, aplicaremos los que necesitemos.

fd4d14e4fa3c31c1.png

6. Cómo controlar la columna Precio

Abordemos la columna Precio. Como vimos, contiene tanto la moneda como el importe. Nuestro objetivo es separar estos datos en dos columnas distintas:Moneda y Importe.

Gemini identificó varias recomendaciones para la columna Precio.

  1. Busca una recomendación que diga algo similar a lo siguiente:

Descripción: "Esta expresión quita el prefijo "USD " del campo especificado"

REGEXP_REPLACE(Price,` `r'^USD\s',` `r'')
  1. Selecciona Vista previa.

c9327cfbd32247d6.png

  1. Selecciona Aplicar.

A continuación, para la columna Price, convierte el tipo de datos de STRING a NUMERIC.

  1. Busca una recomendación que diga algo similar a lo siguiente:

Descripción: "Convierte la columna Precio del tipo string a float64"

SAFE_CAST(Price AS float64)
  1. Selecciona Aplicar.

Ahora deberías ver tres pasos aplicados en la lista de pasos.

d3359af47dce0c15.png

7. Cómo controlar la columna de productos

La columna de productos contiene el nombre y la categoría del producto, separados por una barra vertical (|).

Si bien podríamos volver a usar el lenguaje natural, exploremos otra de las potentes funciones de Gemini.

Limpia el nombre del producto

  1. Selecciona la parte de la categoría de una entrada de producto, incluido el carácter |, y bórrala.

5171d598a8cb3a75.png

Gemini reconocerá de forma inteligente este patrón y sugerirá una transformación para aplicar a toda la columna.

  1. Selecciona “Editar”.

b36cac918b4f30e9.png

La recomendación de Gemini es acertada: quita todo lo que aparece después del carácter “|”, lo que aísla de manera eficaz el nombre del producto.

Pero esta vez no queremos sobrescribir nuestros datos originales.

  1. En el menú desplegable de la columna de destino, selecciona "Crear columna nueva".
  2. Establece el nombre como ProductName.

bda19e0e5e536ccd.png

  1. Obtén una vista previa de los cambios para asegurarte de que todo se vea bien.
  2. Aplica la transformación.

Extrae la categoría del producto

Con lenguaje natural, le indicaremos a Gemini que extraiga la palabra que se encuentra después de la barra vertical (|) en la columna Producto. Este valor extraído se reemplazará en la columna existente llamada Producto.

  1. Haz clic en Add Step para agregar un nuevo paso de transformación.

77944047e698494c.png

  1. Selecciona Transformation en el menú desplegable.
  2. En el campo de instrucción en lenguaje natural, ingresa "extrae la palabra que aparece después de la barra vertical (|) en la columna Producto" y, luego, presiona Retorno para generar el código SQL.

82efc2447a3210bd.png

  1. Deja la columna objetivo como "Producto".
  2. Haga clic en Aplicar.

La transformación debería arrojar los siguientes resultados.

d741c66d9e0e8e00.png

8. Unión para enriquecer los datos

A menudo, querrás enriquecer tus datos con información de otras fuentes. En nuestro ejemplo, uniremos nuestros datos de productos con atributos de productos extendidos, stg_extended_product, de una tabla de terceros. En esta tabla, se incluyen detalles como la marca y la fecha de lanzamiento.

  1. Haz clic en Add Step.
  2. Seleccionar Join
  3. Navega a la tabla stg_extended_product.

dca14451c3fbc7f0.png

Gemini en BigQuery eligió automáticamente la clave de unión productid y calificó los lados izquierdo y derecho, ya que el nombre de la clave es idéntico.

Nota: Asegúrate de que el campo de descripción diga "Join by productid". Si incluye claves de unión adicionales, reemplaza el campo de descripción por "Unir por productid" y selecciona el botón de generar en el campo de descripción para volver a generar la expresión de unión con la siguiente condición L.

productid

= R.

productid. 4d6dbfea28772f34.png

  1. De manera opcional, selecciona Vista previa para obtener una vista previa de los resultados.
  2. Haz clic en Apply.

Cómo limpiar los atributos extendidos

Si bien la unión se realizó correctamente, los datos de los atributos extendidos requieren cierta limpieza. La columna LaunchDate tiene formatos de fecha incoherentes, y la columna Brand contiene algunos valores faltantes.

Comenzaremos por abordar la columna LaunchDate.

f9b570d7c2d3a98d.png

Antes de crear cualquier transformación, consulta las recomendaciones de Gemini.

  1. Haz clic en el nombre de la columna LaunchDate. Deberías ver algunas recomendaciones generadas similares a las de la siguiente imagen.

62b6e6027a46ba75.png

  1. Si ves una recomendación con el siguiente código SQL, aplícala y omite los próximos pasos.
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. Si no ves una recomendación que coincida con el código SQL anterior, haz clic en Add Step.
  2. Selecciona Transformation.
  3. En el campo SQL, ingresa lo siguiente:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. Establece Target Columns en LaunchDate.
  2. Haz clic en Apply.

La columna LaunchDate ahora tiene un formato de fecha coherente.

ccf34aa05754a834.png

9. Cómo agregar una tabla de destino

Nuestro conjunto de datos ahora está limpio y listo para cargarse en una tabla de dimensiones en nuestro almacén de datos.

  1. Haz clic en ADD STEP.
  2. Selecciona Destination.
  3. Completa los parámetros obligatorios: Dataset: bq_data_preparation_demo Table: DimProduct
  4. Haz clic en Save.

79fdc3666a3a21b9.png

Ahora trabajamos con las pestañas "Datos" y "Esquema". Además de estas, la Preparación de datos de BigQuery proporciona una vista de "Gráfico" que muestra visualmente la secuencia de pasos de transformación en tu canalización.

95e64d8152228f7b.png

10. Bonificación A: Cómo controlar la columna Fabricante y crear la tabla de errores

También identificamos valores vacíos en la columna Manufacturer. Para estos registros, queremos implementar una verificación de calidad de los datos y trasladarlos a una tabla de errores para su posterior revisión.

Crea una tabla de errores

  1. Haz clic en el botón More junto al título stg_product data preparation.
  2. En la sección Setting, selecciona Error Table.
  3. Marca la casilla Enable error table y configura los parámetros de la siguiente manera:
  • Conjunto de datos: Selecciona bq_data_preparation_demo.
  • Tabla: Ingresa err_dataprep
  • En Define duration for keeping errors, selecciona 30 days (default).
  1. Haz clic en Save.

adb5722f05c1b205.png

Configura la validación en la columna Fabricante

  1. Selecciona la columna Fabricante.
  2. Es probable que Gemini haya identificado una transformación pertinente. Busca la recomendación que solo conserva las filas en las que el campo Fabricante no está vacío. Tendrá un SQL similar al siguiente:
Manufacturer IS NOT NULL

2.Haz clic en el botón "Editar" de esta recomendación para revisarla.

4749b551a03d8193.png

  1. Marca la opción "Las filas de validación con errores se envían a la tabla de errores" si no está marcada.
  2. Haz clic en Apply.

En cualquier momento, puedes revisar, modificar o borrar las transformaciones que aplicaste haciendo clic en el botón "Pasos aplicados".

15df6caacbdd6a69.png

Limpia la columna redundante ProductID_1

Ahora se puede borrar la columna ProductID_1, que duplica el ProductID de nuestra tabla combinada.

  1. Ve a la pestaña Schema.
  2. Haz clic en los 3 puntos junto a la columna ProductID_1.
  3. Haz clic en Drop.

Ahora podemos ejecutar el trabajo de preparación de datos y validar toda nuestra canalización. Cuando estemos satisfechos con los resultados, podemos programar el trabajo para que se ejecute automáticamente.

  1. Antes de salir de la vista de preparación de datos, guarda tus preparaciones. Junto al título stg_product data preparation, deberías ver un botón Save. Haz clic en el botón para guardar.

11. Limpia el entorno

  • Borra el stg_product data preparation.
  • Borra el conjunto de datos bq data preparation demo

12. Felicitaciones

Felicitaciones por completar el codelab.

Temas abordados

  • Configura la preparación de datos
  • Cómo abrir tablas y navegar por la preparación de datos
  • Cómo dividir columnas con datos de descriptores numéricos y de unidades
  • Estandarización de formatos de fecha
  • Ejecuta preparaciones de datos