Acerca de este codelab
1. Introducción
Imagina poder preparar tus datos para el análisis más rápido y de manera más eficiente sin necesidad de ser un experto en programación. Con la Preparación de datos de BigQuery, eso es una realidad. Esta potente función simplifica la transferencia, la transformación y la limpieza de datos, lo que permite que todos los profesionales de datos de tu organización preparen los datos.
¿Todo listo para descubrir los secretos ocultos en tus datos de productos?
Requisitos previos
- Conocimientos básicos de 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
- Accede a Google Cloud Console 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.
- 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.
- 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 de proyecto con el permiso de IAM serviceusage.services.enable
realiza este paso.
- Para habilitar la API de Gemini para Google Cloud, ve a la página Gemini para Google Cloud en Google Cloud Marketplace. Ir a Gemini para Google Cloud
- En el selector de proyectos, elige un proyecto.
- Haz clic en Habilitar. La página se actualiza y muestra el estado Enabled. Gemini en BigQuery ahora está disponible en el proyecto de Google Cloud seleccionado para todos los usuarios que tengan los permisos de IAM necesarios.
Configura roles y permisos para desarrollar preparaciones de datos
- En IAM y administración, selecciona IAM.
- Selecciona tu usuario y haz clic en el ícono de lápiz para "Editar principal".
Para usar la preparación de datos de BigQuery, necesitarás los siguientes roles y permisos:
- Editor de datos de BigQuery (roles/bigquery.dataEditor)
- Consumidor de Service Usage (roles/serviceusage.serviceUsageConsumer)
4. Cómo encontrar y suscribirse a la ficha "Demostración de preparación de datos de bq" en BigQuery Analytics Hub
En este instructivo, usaremos el conjunto de datos bq data preparation demo
. Es un conjunto de datos vinculado en BigQuery Analytics Hub del 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 mínimos, pero la preparación de datos se ejecuta en BigQuery y se escalará junto con ella.
Sigue estos pasos para encontrar y suscribirte al conjunto de datos vinculado:
- Accede a Analytics Hub: En la consola de Google Cloud, navega a BigQuery.
- En el menú de navegación de BigQuery, en "Gobernanza", selecciona "Analytics Hub".
- Busca la ficha: En la IU de Analytics Hub, haz clic en Buscar fichas.
- Escribe
bq data preparation demo
en la barra de búsqueda y presiona Intro.
- Suscribirse a la ficha: Selecciona la ficha de
bq data preparation demo
en los resultados de la búsqueda. - En la página de detalles de la ficha, haz clic en el botón Subscribirse.
- Revisa los diálogos de confirmación y actualiza el proyecto o el conjunto de datos si es necesario. Los valores predeterminados deben ser correctos.
- 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
- 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 ficha
bq data preparation demo
. Selecciona la tablastg_product
. - 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.
Como puedes ver en la vista previa de los datos que aparece a continuación, tenemos algunos desafíos que abordaremos, entre los que se incluyen los siguientes:
- La columna de precio contiene el importe y la moneda, lo que dificulta el análisis.
- La columna de productos mezcla el nombre y la categoría del producto (separados por una barra vertical |).
Gemini analiza tus datos de inmediato y sugiere varias transformaciones. En este ejemplo, vemos varias recomendaciones. En los próximos pasos, aplicaremos los que necesitamos.
6. Cómo controlar la columna de precios
Analicemos la columna Precio. Como vimos, contiene la moneda y el importe. Nuestro objetivo es separarlos en dos columnas distintas:Moneda y Monto.
Gemini identificó varias recomendaciones para la columna Precio.
- Busca una recomendación que diga algo similar a lo siguiente:
Descripción: "Esta expresión quita la "USD" inicial del campo especificado"
REGEXP_REPLACE(Price,` `r'^USD\s',` `r'')
- Selecciona Vista previa.
- Selecciona Aplicar.
A continuación, para la columna Price, convertiremos el tipo de datos de STRING a NUMERIC.
- Busca una recomendación que diga algo similar a lo siguiente:
Descripción: "Convierte la columna Precio de tipo cadena a float64"
SAFE_CAST(Price AS float64)
- Selecciona Aplicar.
Ahora deberías ver tres pasos aplicados en la lista de pasos.
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 (|).
Si bien podríamos volver a usar el lenguaje natural, exploremos otra de las funciones potentes de Gemini.
Limpia el nombre del producto
- Selecciona la parte de la categoría de una entrada de producto, incluido el carácter
|
, y bórrala.
Gemini reconocerá de forma inteligente este patrón y sugerirá una transformación para aplicar a toda la columna.
- Selecciona "Editar".
La recomendación de Gemini es acertada: quita todo lo que está después del carácter “|”, lo que aísla de manera eficaz el nombre del producto.
Pero esta vez no queremos reemplazar nuestros datos originales.
- En el menú desplegable de la columna de destino, selecciona "Crear columna nueva".
- Establece el nombre como ProductName.
- Obtén una vista previa de los cambios para asegurarte de que todo se vea bien.
- Aplica la transformación.
Cómo extraer la categoría de producto
Con lenguaje natural, le indicaremos a Gemini que extraiga la palabra después de la barra vertical (|) en la columna Producto. Este valor extraído se reemplazará en la columna existente llamada Producto.
- Haz clic en
Add Step
para agregar un nuevo paso de transformación.
- Selecciona
Transformation
en el menú desplegable. - En el campo de instrucción de lenguaje natural, ingresa "extraer la palabra después de la barra vertical (|) en la columna Producto". Luego, presiona Intro para generar el SQL.
- Deja la columna de segmentación como "Producto".
- Haga clic en Aplicar.
La transformación debería darte los siguientes resultados.
8. Cómo unir 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 los atributos de productos extendidos, stg_extended_product
, de una tabla de terceros. Esta tabla incluye detalles como la marca y la fecha de lanzamiento.
- Haz clic en
Add Step
. - Seleccionar
Join
- Navega a la tabla
stg_extended_product
.
Gemini en BigQuery eligió automáticamente la clave de unión productid por nosotros 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 "Unión por productid" y selecciona el botón de generación 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
.
- De forma opcional, selecciona Vista previa para obtener una vista previa de los resultados.
- Haz clic en
Apply
.
Limpia los atributos extendidos
Si bien la unión se realizó correctamente, los datos de los atributos extendidos requieren limpieza. La columna LaunchDate
tiene formatos de fecha incoherentes, y la columna Brand
contiene algunos valores faltantes.
Comenzaremos por abordar la columna LaunchDate
.
Antes de crear cualquier transformación, consulta las recomendaciones de Gemini.
- Haz clic en el nombre de la columna
LaunchDate
. Deberías ver algunas recomendaciones generadas similares a las de la siguiente imagen.
- Si ves una recomendación con el siguiente SQL, aplica la recomendación y omite los siguientes pasos.
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
- Si no ves una recomendación que coincida con la SQL anterior, haz clic en
Add Step
. - Selecciona
Transformation
. - En el campo SQL, ingresa lo siguiente:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
- Establece
Target Columns
enLaunchDate
. - Haz clic en
Apply
.
La columna LaunchDate ahora tiene un formato de fecha coherente.
9. Agrega una tabla de destino
Nuestro conjunto de datos ahora está limpio y listo para cargarse en una tabla de dimensiones de nuestro almacén de datos.
- Haz clic en
ADD STEP
. - Selecciona
Destination
. - Completa los parámetros obligatorios: Dataset:
bq_data_preparation_demo
Tabla:DimProduct
- Haz clic en
Save
.
Ya trabajamos con las pestañas "Datos" y "Esquema". Además de estos, BigQuery Data Preparation proporciona una vista "Graph" que muestra visualmente la secuencia de pasos de transformación de tu canalización.
10. Actividad complementaria A: Controla la columna Manufacturer y crea una 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 moverlos a una tabla de errores para su revisión.
Crea una tabla de errores
- Haz clic en el botón
More
junto al títulostg_product data preparation
. - En la sección
Setting
, seleccionaError Table
. - 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
, selecciona30 days (default)
.
- Haz clic en
Save
.
Configura la validación en la columna Fabricante
- Selecciona la columna Fabricante.
- Es probable que Gemini haya identificado una transformación relevante. Busca la recomendación que conserva solo las filas en las que el campo Manufacturer 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.
- Marca la opción "Las filas de validación con errores se envían a la tabla de errores" si no está marcada.
- Haz clic en
Apply
.
En cualquier momento, puedes revisar, modificar o borrar las transformaciones que aplicaste haciendo clic en el botón "Pasos aplicados".
Limpia la columna ProductID_1 redundante
Ahora se puede borrar la columna ProductID_1, que duplica el ProductID de nuestra tabla combinada.
- Ve a la pestaña
Schema
. - Haz clic en los 3 puntos junto a la columna
ProductID_1
. - Haz clic en
Drop
.
Ya está todo listo para ejecutar el trabajo de preparación de datos y validar toda nuestra canalización. Una vez que estemos conformes con los resultados, podemos programar la tarea para que se ejecute automáticamente.
- 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ónSave
. 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
- Cómo configurar la preparación de datos
- Cómo abrir tablas y navegar por la preparación de datos
- Cómo dividir columnas con datos numéricos y de descriptor de unidades
- Estandarización de formatos de fecha
- Cómo ejecutar preparaciones de datos