Práctica 16: Creating a Data Transformation Pipeline with Cloud Dataprep
Uso de Cloud Dataprep de Alteryx para explorar, limpiar y preparar datos de comercio electrónico para su análisis en BigQuery.
Objetivos de la Práctica
En esta práctica, utilizamos Cloud Dataprep by Alteryx, un servicio inteligente de datos para explorar, limpiar y preparar datos estructurados y no estructurados visualmente. El objetivo es construir un pipeline de transformación de datos que tome datos crudos de comercio electrónico y los prepare para el análisis.
Los objetivos específicos fueron:
- Conectar datasets de BigQuery a Dataprep.
- Explorar la calidad del dataset con Dataprep.
- Crear un pipeline de transformación de datos.
- Ejecutar jobs de transformación y enviar los resultados a BigQuery.
Desarrollo
1. Configuración Inicial y BigQuery
Primero, accedimos a Cloud Dataprep desde la consola de Google Cloud, aceptando los términos de servicio necesarios.
Aunque el foco es Dataprep, necesitamos BigQuery como punto de entrada y salida. Creamos un dataset llamado ecommerce en BigQuery y ejecutamos una query SQL para copiar un subconjunto de datos públicos (all_sessions_raw_dataprep) a nuestro dataset para su limpieza.
2. Conexión de Datos a Dataprep
Creamos un nuevo "Flow" en Dataprep llamado Ecommerce Analytics Pipeline. Importamos el dataset all_sessions_raw_dataprep desde BigQuery y lo añadimos al flujo. Esto permitió que Dataprep accediera a los datos para su procesamiento.
3. Exploración de Datos
Dataprep cargó una muestra del dataset en la vista "Transformer". Realizamos una exploración visual respondiendo preguntas clave sobre los datos:
- Identificamos columnas con valores nulos (ej.
itemQuantity,itemRevenue). - Detectamos tipos de datos inferidos incorrectamente (ej.
productSKUdetectado como entero cuando debería ser string). - Analizamos la distribución de valores (ej.
sessionQualityDimsesgado a valores bajos). - Identificamos valores atípicos y patrones en los datos.
4. Limpieza de Datos
Implementamos varios pasos de limpieza en nuestra "Recipe":
- Conversión de Tipos: Corregimos la columna
productSKUa tipo String. - Eliminación de Columnas: Borramos
itemQuantityeitemRevenueya que solo contenían valores nulos. - Deduplicación: Eliminamos filas duplicadas para asegurar la integridad de los datos.
- Filtrado:
- Filtramos sesiones sin ingresos (
totalTransactionRevenuees NULL). - Filtramos para mantener solo registros de tipo
PAGE(vistas de página) para evitar conteos dobles.
- Filtramos sesiones sin ingresos (
5. Enriquecimiento de Datos
Mejoramos el dataset con nuevas columnas y transformaciones:
- ID Único de Sesión: Como
visitIdno es único entre usuarios, creamosunique_session_idconcatenandofullVisitorIdyvisitId. - Mapeo de Acciones: La columna
eCommerceAction_typeusaba códigos numéricos. Creamos una columna calculadaeCommerceAction_labelusando unCASEstatement para mapear estos números a descripciones legibles (ej. 6 = 'Completed purchase'). - Ajuste de Ingresos: La columna
totalTransactionRevenueestaba multiplicada por 10^6. Creamos una nueva columnatotalTransactionRevenue1dividiendo el valor original por 1,000,000 para obtener el valor real.
6. Ejecución del Job a BigQuery
Finalmente, configuramos la salida del pipeline para escribir en una nueva tabla de BigQuery llamada revenue_reporting. Ejecutamos el job en el entorno Dataflow + BigQuery.
Una vez finalizado, verificamos en BigQuery que la tabla revenue_reporting se creó correctamente con los datos limpios y transformados.
Conclusión
Hemos creado exitosamente un pipeline ETL completo utilizando una interfaz visual, sin necesidad de escribir código complejo de procesamiento. Cloud Dataprep facilitó la identificación de problemas de calidad de datos y la aplicación de transformaciones, permitiendo obtener un dataset limpio y enriquecido listo para el análisis en BigQuery.
Próximos pasos: Explorar la automatización del pipeline mediante Cloud Scheduler para ejecuciones periódicas. Investigar la integración de funciones avanzadas de limpieza utilizando expresiones regulares personalizadas en Dataprep. Conectar el dataset resultante en BigQuery con herramientas de visualización como Looker Studio para crear dashboards de monitoreo de ingresos. Evaluar el costo del procesamiento en Dataflow para optimizar el uso de recursos en datasets de mayor volumen.