work

Pipeline de datos en Azure — Coca-Cola

Diseño e implementación end-to-end de un pipeline de datos en Microsoft Azure para The Coca-Cola Company, desde la ingesta hasta la carga incremental en SQL Server.

Proyecto internacional de Data Engineering desarrollado en Capgemini para The Coca-Cola Company, en un equipo Scrum que trabajaba íntegramente en inglés. Cubrí el ciclo completo: toma de requisitos, diseño, implementación y despliegue en producción.

Arquitectura#

El sistema sigue una arquitectura por capas sobre Azure Data Lake Storage. Los datos entran en bruto en la capa Bronze, se limpian y normalizan en Silver, y se sirven ya modelados en Gold para consumo analítico.

Arquitectura completa del pipeline
Ingesta con Data Factory y Event Hubs, procesamiento en Databricks con Spark, y almacenamiento por capas Bronze → Silver → Gold sobre Delta Lake

Esa separación permitió algo que resultó clave a medio plazo: reprocesar transformaciones sin volver a pedir los datos al origen.

Ingesta y orquestación#

La ingesta combina cargas mensuales y semanales de datos semi-estructurados procedentes de sistemas muy distintos: SAP, Salesforce, TPVs en SQL y clickstream. Todo aterriza particionado por entidad y periodo en Blob Storage y Data Lake Gen2.

La orquestación vive en Azure Data Factory, con parametrización avanzada para no duplicar pipelines por fuente: los Linked Services y Datasets son reutilizables y el mismo pipeline sirve a varias entidades cambiando parámetros.

Pipeline de orquestación en Data Factory
Actividades Copy Data parametrizadas, preparación con Power Query, análisis con Data Flow y notificación automática por email ante fallos

Procesamiento#

El grueso de la transformación son notebooks PySpark en Azure Synapse Analytics, con Databricks como cómputo adicional integrado en Data Factory. La salida es una carga incremental optimizada sobre SQL Server siguiendo un esquema de hechos y dimensiones.

Desarrollé el pipeline completo en paralelo al sistema existente y lo validé contra él: mismas tablas de hechos, mismas vistas de gran volumen, comparando resultados fila a fila antes de sustituir nada.

Calidad del dato#

Las validaciones se ejecutan como paso obligatorio antes de la carga. Si alguna falla, el pipeline se detiene y notifica al equipo en lugar de propagar datos corruptos aguas abajo.

ValidaciónQué compruebaAcción al fallar
NulosCampos obligatorios vacíosBloqueo + aviso
DuplicadosClaves repetidas en la cargaBloqueo + aviso
RangosValores numéricos fuera de umbralBloqueo + aviso
Integridad referencialHechos sin dimensión asociadaBloqueo + aviso

Consumo y costes#

El modelo analítico se gestiona en Azure SQL Database, con procedimientos almacenados para las transformaciones y vistas de hechos y dimensiones. Como apoyo puntual al equipo de Data Storytelling, desarrollé también un cuadro de mando mensual en Power BI.

Por último, automaticé la migración de datos históricos a los tiers Cool y Cold de almacenamiento. Un detalle poco vistoso que redujo de forma notable la factura mensual sin afectar a las consultas habituales.

Lo que me llevo#

Trabajar sobre un sistema en producción de un cliente global enseña una cosa por encima del resto: lo que no se puede validar, no se puede sustituir. El pipeline paralelo, corriendo semanas en sombra contra el original, fue lo que hizo posible el cambio sin riesgo.