En este tutorial mostramos cómo construir una pipeline de datos avanzada usando Dagster. Configuramos un IOManager personalizado que guarda los activos en formato CSV, definimos particiones diarias para generar datos, y procesamos datos sintéticos de ventas pasando por limpieza, creación de características y entrenamiento de un modelo. Además, incorporamos un chequeo de calidad que valida valores nulos, rangos y categorías, y organizamos de forma estructurada los metadatos y resultados. La idea central es una implementación práctica que integre desde la ingesta de datos crudos, transformaciones, validaciones y aprendizaje automático en un flujo reproducible.
Primero instalamos las librerías necesarias —Dagster, Pandas y scikit-learn— e importamos los módulos esenciales. Creamos una carpeta base para almacenar los archivos y definimos una fecha de inicio para las particiones diarias.
Luego, creamos un gestor de entrada y salida (IOManager) personalizado que guarda los datos en CSV o JSON según el tipo de objeto y los carga cuando los necesitaremos. Lo registramos en Dagster y definimos particiones diarias para que el pipeline pueda ejecutarse por día.
A continuación, diseñamos tres activos clave. El primero genera ventas sintéticas con ruido y valores nulos simulando imperfecciones reales. El segundo limpia esos datos eliminando nulos y recortando valores extremos para mejorar la robustez. El tercero añade nuevas características, como interacciones y columnas estandarizadas, preparando la información para el modelado.
Incorporamos una validación sobre el conjunto limpio que comprueba que no haya valores nulos, que la columna de promociones solo contenga 0 o 1 y que las unidades estén dentro de los límites esperados. Después, entrenamos un modelo de regresión lineal simple con las características creadas, y almacenamos las métricas de rendimiento y coeficientes para su análisis.
Registramos todos los activos y el IOManager en Dagster, y ejecutamos la pipeline completa para un día específico. Guardamos los resultados en archivos CSV y JSON en la carpeta designada, verificamos que la ejecución haya sido exitosa y mostramos el tamaño de los archivos generados junto con las métricas del modelo.
En resumen, esta implementación demuestra cómo combinar particiones, definición de activos y chequeos de calidad en un flujo reproducible y modular. Cada activo produce y guarda sus resultados en formatos compatibles, asegurando el control y trazabilidad de todo el proceso. Este enfoque práctico supone una base sólida para extender pipelines reales más complejas, integrando todo desde la ingesta hasta el aprendizaje automático en un solo entorno controlado.



