Skip to content

tuni56/datalake-analytics-pipeline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏗️ Data Lake Analytics Pipeline

Un pipeline de análisis de datos transaccionales escalable en AWS que permite procesamiento eficiente, validación de calidad y carga en un entorno analítico centralizado.


🚀 Resumen del Proyecto

Objetivo: Optimizar el procesamiento y análisis de datos transaccionales a gran escala.

Problema: Procesos ineficientes para manejar grandes volúmenes de datos, con alta latencia y sin control de calidad.

Solución: Un pipeline serverless utilizando AWS Glue, S3 y Redshift que:

  • Reduce el tiempo de procesamiento en un 70%
  • Habilita análisis casi en tiempo real
  • Escala automáticamente con el volumen de datos

🛠️ Stack Tecnológico

Servicio / Tecnología Función
Amazon S3 Almacenamiento de datos crudos y curados
AWS Glue Crawler + ETL PySpark jobs
Apache Spark Transformación distribuida de datos
Amazon Redshift Almacén analítico
AWS Lambda Automatización del pipeline (opcional)
EventBridge Orquestación serverless (opcional)
Amazon QuickSight Visualización de datos

🔁 Flujo del Pipeline

  1. Ingesta: Archivos CSV/JSON son subidos a un bucket S3 (raw).
  2. Catálogo: Un crawler de Glue identifica el esquema y lo registra en el Glue Data Catalog.
  3. Transformación ETL:
    • Limpieza y transformación de datos con PySpark en AWS Glue
    • Conversión a formato Parquet
    • Validaciones de calidad de datos
  4. Carga: Datos curados son almacenados en otro bucket S3 y luego cargados en Redshift.
  5. Visualización: Dashboards interactivos son generados desde Redshift.

🧪 Validaciones de Calidad de Datos

  • Eliminación de registros con campos nulos críticos
  • Reglas aplicadas:
    • amount > 0
    • payment_method IN [‘credit’, ‘debit’, ‘cash’]
    • date IS NOT NULL
  • Registros fallidos se almacenan en un bucket de errores

📈 Resultados Clave

Métrica Antes Después
Tiempo de procesamiento ~2 hrs 30 min
Calidad de datos Baja Alta (validada)
Acceso a reportes Manual Automatizado y centralizado

🧰 Cómo Reproducir (Simulación o Demo)

  1. Crear buckets S3: raw/, curated/, logs/
  2. Subir un dataset de prueba (data/)
  3. Configurar Glue Crawler para detectar esquema
  4. Ejecutar Glue Job con PySpark (glue_jobs/etl_job.py)
  5. Crear una tabla en Redshift y cargar los datos desde S3
  6. Conectar Redshift a QuickSight o Tableau

🧠 Próximos Pasos

  • Añadir API REST para ingestión en tiempo real (AWS API Gateway + Lambda)
  • Integrar validación con Deequ o Great Expectations
  • Configurar alertas automáticas con Amazon CloudWatch

👩‍💻 Autora

Rocío Baigorria
Data Scientist & AWS Solutions Architect
Especializada en soluciones cloud escalables, pipelines analíticos y machine learning.
🔗 LinkedIn


📜 Licencia

MIT License – uso libre con atribución.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages