- 📘 Curso Modular de Ingeniería de Datos
- 📑 Tabla de Contenidos
- 🎯 Descripción
⚠️ Importante - Sobre el Uso de Notebooks- 🏗️ Estructura del Curso
- 📁 Estructura del Proyecto
- 🚀 Inicio Rápido
- 🧭 Guía de Uso
- 📊 Estado del Proyecto
- 📊 Progreso por Nivel
- 🔧 Tecnologías y Librerías Incluidas
- 🤝 Contribuciones
- 📚 Recursos Adicionales
- 📄 Licencia
- 👥 Autor Original
- 📞 Contacto y Soporte
- 🙏 Agradecimientos
- 📝 Copyright y Reconocimiento
Curso completo y estructurado para formar Ingenieros de Datos desde nivel principiante hasta avanzado, organizado en cuatro niveles progresivos: Junior, Mid, Senior y GenAI. El curso combina teoría sólida con práctica intensiva mediante Notebooks interactivos, casos de uso reales y proyectos aplicados.
Autor Original: LuisRai (Luis J. Raigoso V.)
Repositorio: https://github.com/lraigosov/data-engineer-course
⚠️ IMPORTANTE - SOBRE EL USO DE NOTEBOOKS:Este curso utiliza Jupyter Notebooks con fines exclusivamente educativos para facilitar el aprendizaje interactivo y la comprensión de cada concepto.
🚨 EN PRODUCCIÓN, EL USO DE NOTEBOOKS NO ES UNA PRÁCTICA RECOMENDABLE
En entornos de producción se deben utilizar:
- ✅ Scripts Python modulares (
.py)- ✅ Paquetes estructurados con proper testing
- ✅ CI/CD pipelines
- ✅ Orquestadores (Airflow, Prefect, Dagster)
- ✅ Contenedores (Docker) y despliegues automatizados
Los notebooks son excelentes para exploración, prototipado y enseñanza, pero NO para sistemas en producción que requieren escalabilidad, mantenibilidad y robustez.
- Introducción a la Ingeniería de Datos
- Programación en Python para datos
- Manipulación de datos (Pandas, NumPy)
- SQL básico e intermedio
- Limpieza y preparación de datos
- Visualización de datos
- Control de versiones con Git
- APIs y Web Scraping
- Proyecto Integrador 1
- Proyecto Integrador 2
- Apache Airflow: Fundamentos
- Streaming con Kafka
- Cloud AWS: S3, Glue, Athena, Lambda
- Cloud GCP: BigQuery, Dataflow, Cloud Run
- Cloud Azure: ADLS, Synapse, ADF, Databricks
- Bases de datos: PostgreSQL y MongoDB
- DataOps y CI/CD
- Conectores avanzados: REST, GraphQL, SFTP
- Optimización SQL y particionado
- FastAPI y servicios de datos
- Proyecto Integrador 1
- Proyecto Integrador 2
- Gobernanza y calidad de datos
- Data Lakehouse: Delta y Iceberg
- Spark Streaming avanzado
- Arquitecturas modernas: Lambda, Kappa, Data Mesh
- ML Pipelines y Feature Stores
- FinOps y optimización de costos cloud
- Seguridad y Compliance
- Observabilidad y linaje de datos
- Proyecto Integrador 1
- Proyecto Integrador 2
- Comparación OpenAI vs Google Gemini
- Fundamentos de LLMs y prompting
- Generación SQL: NL2SQL
- Generación automática de código ETL
- RAG: Documentación de datos
- Embeddings y similitud de datos
- Agentes y automatización
- Validación y calidad con LLMs
- Síntesis y aumento de datos
- Proyecto Integrador 1: Chatbot con RAG
- Proyecto Integrador 2: Plataforma self-service con GenAI
Módulo final del curso: Aplicación práctica de la Ingeniería de Datos como habilitador estratégico del negocio en contexto latinoamericano.
- Estrategia de datos LATAM: Marco conceptual
- Retail y consumo masivo
- Finanzas y banca
- Salud y farmacéutico
- Energía y recursos naturales
- Telecomunicaciones
- Industria y manufactura
- Logística y transporte
- Agro y alimentos
- Sector público y gobierno
curso_ingenieria_datos/
│
├── config/ # Configuraciones globales
│ ├── settings.yaml # Parámetros del proyecto
│ └── credentials.example # Plantilla de credenciales
│
├── notebooks/ # Notebooks organizados por nivel
│ ├── nivel_junior/ # 10 notebooks fundamentales
│ ├── nivel_mid/ # 10 notebooks intermedios
│ ├── nivel_senior/ # 10 notebooks avanzados
│ ├── nivel_genai/ # 10 notebooks de IA Generativa
│ └── negocios_latam/ # 11 notebooks: estrategia + 10 sectores
│
├── datasets/ # Datos para ejercicios
│ ├── raw/ # Datos sin procesar
│ ├── processed/ # Datos procesados
│ └── external/ # Datasets externos
│
├── scripts/ # Scripts auxiliares
│ ├── etl/ # Scripts ETL
│ ├── transformaciones/ # Transformaciones de datos
│ └── pipelines/ # Pipelines completos (retail, manufactura)
│
├── tests/ # Pruebas automatizadas
│ ├── unit/ # Pruebas unitarias
│ └── integration/ # Pruebas de integración
│
└── docs/ # Documentación
├── guia_instalacion.md # Guía de setup
├── roadmap.md # Roadmap del curso
└── referencias.md # Referencias y recursos
- Python 3.8 o superior
- Git instalado
- 4GB RAM mínimo
- 2GB espacio libre en disco
- Clona el repositorio:
git clone <url-del-repositorio>
cd curso_ingenieria_datos- Crea un entorno virtual:
python -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate- Instala las dependencias:
pip install -r requirements.txt- Configura las credenciales:
cp config/credentials.example config/credentials.yaml
# Edita credentials.yaml con tus datos- Inicia Jupyter:
jupyter notebook- Comienza por el Nivel Junior si eres principiante
- Ejecuta los notebooks en orden numerado
- Completa todos los ejercicios antes de avanzar
- Usa los datasets proporcionados para las prácticas
- Consulta la documentación en caso de dudas
- Revisa el roadmap para planificar el curso
- Adapta los ejercicios según tu audiencia
- Usa los tests para validar el progreso
- Consulta las referencias para ampliar contenido
- ✅
01_introduccion_ingenieria_datos.ipynb- Introducción y primer ETL - ✅
02_python_manipulacion_datos.ipynb- Fundamentos de Python - ✅
03_pandas_fundamentos.ipynb- Manipulación con Pandas - ✅
04_sql_basico.ipynb- SQL con SQLite - ✅
05_limpieza_datos.ipynb- Calidad y limpieza de datos - ✅
06_visualizacion_datos.ipynb- Matplotlib, Seaborn, Plotly - ✅
07_git_control_versiones.ipynb- Git y GitHub workflows - ✅
08_apis_web_scraping.ipynb- REST APIs y web scraping - ✅
09_proyecto_integrador_1.ipynb- ETL completo con validaciones - ✅
10_proyecto_integrador_2.ipynb- Pipeline near real-time con scheduler
- ✅
01_apache_airflow_fundamentos.ipynb- Orquestación con Airflow - ✅
02_streaming_kafka.ipynb- Streaming con Kafka - ✅
03_cloud_aws.ipynb- AWS: S3, Glue, Athena, Lambda - ✅
03b_cloud_gcp.ipynb- GCP: Cloud Storage, BigQuery, Dataflow, Cloud Run - ✅
03c_cloud_azure.ipynb- Azure: ADLS Gen2, Synapse, ADF, Databricks, ACI - ✅
04_bases_datos_postgresql_mongodb.ipynb- SQL y NoSQL - ✅
05_dataops_cicd.ipynb- DataOps, tests y CI/CD - ✅
06_conectores_avanzados_rest_graphql_sftp.ipynb- Conectores robustos - ✅
07_optimizacion_sql_particionado.ipynb- Optimización y particionado - ✅
08_fastapi_servicios_datos.ipynb- APIs de datos con FastAPI - ✅
09_proyecto_integrador_1.ipynb- API → DB → Parquet con Airflow - ✅
10_proyecto_integrador_2.ipynb- Kafka streaming → lake con idempotencia
- ✅
01_data_governance_calidad.ipynb- DAMA-DMBOK y linaje - ✅
02_lakehouse_delta_iceberg.ipynb- Data Lakehouse con Delta/Iceberg - ✅
03_spark_streaming.ipynb- Spark Structured Streaming avanzado - ✅
04_arquitecturas_modernas.ipynb- Lambda, Kappa, Delta, Data Mesh - ✅
05_ml_pipelines_feature_stores.ipynb- MLOps y feature stores - ✅
06_cost_optimization_finops.ipynb- FinOps y optimización cloud - ✅
07_seguridad_compliance.ipynb- Seguridad, GDPR, auditoría - ✅
08_observabilidad_linaje.ipynb- Observabilidad y OpenLineage - ✅
09_proyecto_integrador_1.ipynb- Plataforma de datos completa - ✅
10_proyecto_integrador_2.ipynb- Data Mesh con feature store
- ✅
00_comparacion_openai_gemini.ipynb- Comparación OpenAI vs Google Gemini - ✅
01_fundamentos_llms_prompting.ipynb- Fundamentos de LLMs y prompting - ✅
02_generacion_sql_nl2sql.ipynb- Text-to-SQL con seguridad - ✅
03_generacion_codigo_etl.ipynb- Generación de pipelines ETL - ✅
04_rag_documentacion_datos.ipynb- RAG para documentación técnica - ✅
05_embeddings_similitud_datos.ipynb- Embeddings y búsqueda semántica - ✅
06_agentes_automatizacion.ipynb- Agentes con LangGraph/AutoGen - ✅
07_calidad_validacion_llm.ipynb- Validación de datos con LLMs - ✅
08_sintesis_aumento_datos.ipynb- Generación de datos sintéticos - ✅
09_proyecto_integrador_1.ipynb- Chatbot de consulta con RAG - ✅
10_proyecto_integrador_2.ipynb- Plataforma self-service con GenAI
- ✅
01_estrategia_datos_latam.ipynb- Marco conceptual estratégico - ✅
02_retail_consumo_masivo.ipynb- OSA, calidad datos, $1.8M ahorro - ✅
03_finanzas_banca.ipynb- Fraude streaming, $3.2M ahorro - ✅
04_salud_farmaceutico.ipynb- Interoperabilidad HL7/FHIR, $800k ahorro - ✅
05_energia_recursos_naturales.ipynb- IoT predictivo, OEE, $4.5M ahorro - ✅
06_telecomunicaciones.ipynb- Churn reduction, $6.8M LTV salvado - ✅
07_industria_manufactura.ipynb- SPC + visión, $6.2M ahorro - ✅
08_logistica_transporte.ipynb- Routing optimization, $3.2M ahorro - ✅
09_agro_alimentos.ipynb- Agricultura precisión, yield +12.5% - ✅
10_sector_publico_gobierno.ipynb- Interoperabilidad gobierno, -65% tiempo
- ✅
productos.csv- 30 productos con categorías y precios - ✅
clientes.csv- 30 registros de clientes - ✅
ventas.csv- 50 transacciones de ventas - ✅
logs_actividad.json- 25 eventos de usuario
- ✅
scripts/etl/simple_etl.py- Pipeline ETL básico - ✅
scripts/transformaciones/data_transformations.py- Utilidades de transformación - ✅
scripts/pipelines/data_ingestion_pipeline.py- Pipeline de ingesta multi-fuente - ✅
scripts/pipelines/batch_processing.py- Procesamiento en lotes con paralelización - ✅
scripts/pipelines/retail/pipeline_retail.py- Pipeline KPIs retail (OSA) con CLI - ✅
scripts/pipelines/manufactura/pipeline_manufactura.py- Pipeline OEE manufactura con CLI
- ✅
tests/unit/test_transformations.py- 16 pruebas unitarias - ✅
tests/unit/test_pipeline_retail.py- Tests pipeline retail - ✅
tests/unit/test_pipeline_manufactura.py- Tests pipeline manufactura - ✅
tests/integration/test_pipelines.py- 15+ pruebas de integración - ✅ Suite completa: 18 tests passing
- ✅ Guía de instalación completa
- ✅ Roadmap del curso
- ✅ Referencias y recursos
- ✅ Guía de contribución
- ✅ Changelog
Progreso General: ✅ 100% completo (53/53 notebooks + infraestructura completa)
| Nivel | Duración | Notebooks | Completados | Proyectos | Estado |
|---|---|---|---|---|---|
| Junior | 6-8 sem | 10 | 10 ✅ | 2 ✅ | ✅ Completo |
| Mid | 8-10 sem | 12 | 12 ✅ | 2 ✅ | ✅ Completo |
| Senior | 10-12 sem | 10 | 10 ✅ | 2 ✅ | ✅ Completo |
| GenAI | 4-6 sem | 11 | 11 ✅ | 2 ✅ | ✅ Completo |
| Negocio LATAM | 4-6 sem | 10 | 10 ✅ | 0 | ✅ Completo |
- pandas - Manipulación y análisis de datos tabulares
- numpy - Computación numérica y álgebra lineal
- polars - DataFrame library de alto rendimiento (alternativa a Pandas)
- dask - Procesamiento paralelo y distribuido de datos
- sqlalchemy - ORM y toolkit SQL para Python
- psycopg2 - Driver PostgreSQL
- pymongo - Driver MongoDB
- duckdb - Base de datos analítica in-process
- pyarrow - Interface Python para Apache Arrow (datos columnares)
- apache-airflow - Plataforma de orquestación de workflows
- prefect - Framework moderno de orquestación
- dagster - Data orchestrator para ML, analytics, y ETL
- boto3 - SDK de AWS para Python
- google-cloud-storage - SDK de Google Cloud Storage
- azure-storage-blob - SDK de Azure Blob Storage
- s3fs - Interface filesystem para S3
- pyspark - Interface Python para Apache Spark
- delta-spark - Delta Lake para Spark
- kafka-python - Cliente Kafka para Python
- great-expectations - Framework de validación de datos
- pandera - Validación de DataFrames
- pydantic - Validación de datos con type hints
- requests - HTTP library
- fastapi - Framework web moderno y rápido
- uvicorn - ASGI server
- beautifulsoup4 - Web scraping
- httpx - Cliente HTTP async
- openai - API de OpenAI (GPT-4, embeddings)
- langchain - Framework para aplicaciones LLM
- langgraph - Construcción de agentes con grafos
- chromadb - Vector database
- sentence-transformers - Modelos de embeddings
- matplotlib - Biblioteca de visualización base
- seaborn - Visualizaciones estadísticas
- plotly - Gráficos interactivos
- streamlit - Framework para dashboards
- pytest - Framework de testing
- pytest-cov - Coverage para pytest
- black - Code formatter
- flake8 - Linter
- mypy - Type checker
Para instalar todas las dependencias:
pip install -r requirements.txt¡Las contribuciones son bienvenidas! Por favor:
- Haz fork del proyecto
- Crea una rama para tu feature (
git checkout -b feature/nueva-funcionalidad) - Haz commit de tus cambios (
git commit -m 'Agrega nueva funcionalidad') - Push a la rama (
git push origin feature/nueva-funcionalidad) - Abre un Pull Request
Consulta CONTRIBUTING.md para más detalles.
- Guía de Instalación Detallada
- Roadmap del Curso
- Referencias y Bibliografía
- FAQ - Preguntas Frecuentes
Este proyecto está bajo la Licencia MIT con requisito de atribución.
Cualquier replicación, modificación, distribución o trabajo derivado de este material DEBE incluir atribución prominente al autor original:
"LuisRai" (Luis J. Raigoso V.)
La atribución debe aparecer en:
- Documentación del proyecto
- Headers de archivos de código
- Interfaces de usuario
- Materiales de presentación
- Cualquier publicación derivada
Ver archivo LICENSE para detalles completos.
LuisRai - Luis J. Raigoso V. (LJRV)
Creador y desarrollador del curso completo
- GitHub: @lraigosov
- LinkedIn: lraigosov
- Repositorio: https://github.com/lraigosov/data-engineer-course
Todos los notebooks, scripts y materiales fueron creados por LuisRai (2024-2025)
- GitHub Issues: Para bugs y feature requests
- GitHub Discussions: Para preguntas generales y discusiones
- Email: A través de GitHub Issues
- Comunidad: A través de GitHub Issues
- Comunidad de Python y Jupyter
- Contribuidores de bibliotecas open source
- Estudiantes y beta testers del curso
- Comunidad de Ingeniería de Datos
© 2024-2025 LuisRai - Luis J. Raigoso V. (lraigosov)
Este material educativo fue creado íntegramente por LuisRai.
Cualquier uso, modificación o redistribución debe mantener visible el reconocimiento al autor original.
⭐ ¡Dale una estrella si este proyecto te ayuda! ⭐
Si utilizas este material, por favor reconoce a LuisRai como autor original.