Repositorio en español para aprender en diferentes niveles ingeniería de datos (data engineering)
📊 Ingeniería de Datos
⭐ Recuerda darle Star (estrella) o Guardar (Watch) al repositorio para recibir notificaciones y estar al tanto de las últimas actualizaciones y novedades.
Así puedes seguir el avance y enterarte cuando hay nuevo contenido, recursos o ejercicios.
Este repositorio está diseñado para aprender Ingeniería de Datos desde cero hasta un nivel profesional, con bases sólidas, ejemplos prácticos y un enfoque moderno donde la AI se usa como copiloto, no como reemplazo.
Todo el contenido está en español y pensado para personas de todos los niveles.
📚 ¿Qué vas a aprender?
A lo largo de esta ruta de aprendizaje, dominarás:
🎯 Fundamentos Esenciales
- Conceptos clave: Tipos de datos, pipelines, batch vs streaming
- Herramientas: Git, Docker, archivos
.env, entornos reproducibles - Buenas prácticas: Desde el día 1
💾 SQL (La Base de Todo)
- Básico a Avanzado: SELECT, JOINs, Window Functions, optimización
- Modelado relacional: Diseño de bases de datos
- PostgreSQL: Base de datos real para practicar
🐍 Python para Datos
- Fundamentos: Python esencial trabajando con Jupyter Notebooks
- Pandas: Manipulación y exploración de datos
- Jupyter Notebooks: Análisis interactivo y visualizaciones
- Storytelling: Comunicar insights efectivamente a personas de negocios
- Scripts y módulos: Estructura de proyectos (para pipelines)
🏗️ Modelado y Calidad
- Modelado analítico: Star Schema, Snowflake, tablas de hechos
- Calidad de datos: Métricas, validaciones, testing
- Herramientas: Great Expectations, Pandera
⚙️ Pipelines y Orquestación
- Pipelines con Python: Desde cero hasta producción
- Orquestadores: Prefect, Dagster, Airflow, Luigi
- Cloud: Step Functions, Composer, Data Factory
🤖 Inteligencia Artificial como Copiloto
- Cursor IDE: AI integrada para desarrollo
- Buenas prácticas: Cuándo y cómo usar AI
- Límites: Entender qué puede y no puede hacer AI
☁️ Data Engineering en la Nube
- Conceptos fundamentales: Arquitecturas cloud
- AWS, GCP, Azure: Servicios principales
- Multi-cloud: Estrategias avanzadas
🚀 Proyectos Prácticos
- Principiante: Pipeline ETL simple con código funcional
- Intermedio: Validaciones, Airflow local, AI como copiloto
- Avanzado: Producción local, cloud gratis, pipelines completos
🗺️ Ruta de Aprendizaje Visual
Para ver el diagrama completo de la ruta de aprendizaje con el flujo recomendado, visita:
💡 El diagrama visual muestra cómo se conectan todos los módulos y cuál es el orden recomendado de aprendizaje.
🎯 Objetivo del repositorio
Ayudarte a:
- Entender qué hace un/a Data Engineer
- Construir bases técnicas reales (no solo herramientas)
- Aprender a escribir SQL y Python de calidad
- Diseñar pipelines mantenibles
- Prepararte para escalar hacia arquitecturas como Data Lakes
👥 ¿Para quién es?
- 👶 Principiantes que quieren entrar al mundo de datos
- 👩💻 Perfiles intermedios que ya usan SQL/Python pero quieren hacerlo mejor
- 🚀 Perfiles avanzados que buscan reforzar fundamentos y buenas prácticas
🚀 Cómo empezar
1. Configura tu entorno
Sigue la Guía de Configuración Inicial completa para configurar:
- Python y dependencias
- Git
- Docker (opcional, para SQL)
- Variables de entorno
2. ⭐ Opcional: Configura Cursor para uso de AI
Si quieres usar AI como copiloto durante tu aprendizaje, puedes configurar Cursor:
- Guía de Cursor para Data Engineers
- El chat de Cursor puede ayudarte con preguntas sobre cualquier contenido
- Nota: Cursor es completamente opcional. Puedes usar cualquier editor (VS Code, PyCharm, etc.)
3. Sigue la ruta de aprendizaje
- Lee ¿Qué es Data Engineering?
- Revisa el Roadmap
- Sigue el orden sugerido en el roadmap
- Practica con los ejercicios y proyectos
💡 Nuevo: Revisa SETUP.md para una guía completa de configuración inicial con todos los requisitos y pasos detallados.
⚙️ Configuración de variables de entorno (Opcional)
Este proyecto usa archivos .env para gestionar configuraciones de forma segura. Para desarrollo local, no necesitas configurar nada - los valores por defecto funcionan perfectamente.
Configuración rápida:
# 1. Copia el archivo de ejemplo desde la raíz del proyecto cp .env.example .env
2. Para el módulo SQL con Docker (opcional)
El docker-compose.yml usa automáticamente el .env de la raíz
cd 02_sql
docker-compose up -d
💡 Para desarrollo local: Los valores por defecto funcionan sin necesidad de editar nada. Solo copia el archivo y ya está listo.
📝 Más adelante: Si necesitas configurar valores específicos (credenciales de producción, APIs externas, etc.), puedes editar el archivo.env. Lee más sobre.enven: Archivos .env para Data Engineers
🔒 Nota: El archivo.envestá en.gitignore(no se commitea). Solo el.env.exampleestá versionado. Los ejemplos y ejercicios del proyecto usan estas variables automáticamente.
🎯 Start Here
¿No sabes por dónde empezar? Elige una de estas opciones:
📖 Empieza aquí → Introducción
Conceptos básicos de Data Engineering para principiantes🗺️ Ruta sugerida → Roadmap
Guía completa paso a paso para convertirte en Data Engineer🚀 Primer proyecto → Principiante
Aprende haciendo: proyectos prácticos desde el primer día🧭 Índice visual (ruta de aprendizaje)
Elige tu punto de partida:
- 👶 Si vas empezando: empieza por Introducción → Fundamentos
- 👩💻 Si ya manejas SQL/Python: salta a Modelado, Calidad y Pipelines
- 🚀 Si buscas enfoque moderno: revisa Inteligencia Artificial como copiloto y Proyectos End-to-End
- ✔️ = Contenido completo y listo para usar
- 🚧 = Contenido en progreso o parcial
- 📘 = Carpeta con múltiples archivos
🟩 Nivel 0 — Introducción ✔️
🟨 Nivel 1 — Fundamentos ✔️
- 📘 Fundamentos (carpeta)
- ✔️ 00. Tipos de Datos
- ✔️ 01. ¿Qué es un Pipeline?
- ✔️ 02. Batch vs Streaming
- ✔️ 03. Git y GitHub
- ✔️ 04. Archivos .env
- ✔️ 05. Docker
- ✔️ 06. Introducción a SQL
- ✔️ 07. Buenas Prácticas (integrado en "¿Qué es un pipeline?")
- ✔️ 08. Data Engineering en la Nube
🟧 Nivel 2 — SQL para Data Engineers ✔️
- 📘 SQL (carpeta)
- ✔️ SQL vs PostgreSQL - ¿Por qué PostgreSQL?
- ✔️ Herramientas SQL
- ✔️ SQL básico
- ✔️ SQL intermedio
- ✔️ SQL avanzado
- ✔️ Modelado Relacional
- ✔️ Ejercicios
🟦 Nivel 3 — Python aplicado ✔️
* Sintaxis esencial, Jupyter Notebooks, manejo de archivos * Scripts vs módulos (para cuando construyas pipelines)- ✔️ Pandas
🟪 Nivel 4 — Modelado y calidad ✔️
* Modelos dimensionales, Star Schema, Snowflake * Métricas y KPIs de calidad * Validaciones y Testing * Herramientas (Great Expectations, Pandera) * Modelado Star Schema, Calidad, Validaciones, Testing, Great Expectations, Pandera🟥 Nivel 5 — Pipelines y orquestación ✔️
* Conceptos fundamentales * Pipelines con Python puro * Prefect, Dagster (local - empezar aquí) * Airflow, Luigi (enterprise) * Orquestadores Cloud (Step Functions, Composer, Data Factory) * Soluciones de referencia para todos los ejercicios de orquestadores🤖 Inteligencia Artificial como copiloto ✔️
- 📘 Inteligencia Artificial como Copiloto (carpeta)
- ✔️ Cómo usar AI como Data Engineer
- ✔️ Ejemplos de Prompts Efectivos
- ✔️ Documentación con AI
- ✔️ Herramientas
🚀 Proyectos End-to-End ✔️
* ✅ Proyecto 1 (ETL Simple): Dataset y código funcional completos * ✅ Proyecto 2 (Análisis Pandas): Estructura completa con notebooks * ✅ Proyecto 3 (Docker Pipeline): Estructura completa * 📋 Guías de Git incluidas para gestión de archivos * ✅ Proyecto 1 (SQL + Python): Estructura completa con templates * ✅ Proyecto 2 (Validaciones): Estructura completa con Great Expectations * ✅ Proyecto 3 (Airflow Local): Estructura completa con DAGs * ✅ Proyecto 4 (IA como Copiloto): Estructura completa con prompts y ejemplos * 📋 Guías de Git incluidas para gestión de archivos * Estructura y READMEs completos, código en desarrollo☁️ Data Engineering en la Nube ✔️
* ✔️ Guía completa de orquestadores cloud y servicios principales * ✔️ AWS Step Functions, Google Cloud Composer, Azure Data Factory * ✔️ Comparación, ventajas y cuándo usar cada uno✅ Cómo contribuir / sugerir mejoras
¿Encontraste un error o quieres proponer un tema?
- Abre un Issue con sugerencias
- O manda un Pull Request
- Lee nuestra Guía de Contribución para más detalles
- Revisa nuestro Código de Conducta
❓ Preguntas Frecuentes
¿Tienes dudas? Revisa nuestro FAQ con preguntas comunes sobre:
- Cómo empezar
- Configuración técnica
- Problemas comunes
- Sobre el aprendizaje
- Contribuciones
📚 Documentación Adicional
- SETUP.md - Guía completa de configuración inicial
- FAQ.md - Preguntas frecuentes
- CONTRIBUTING.md - Cómo contribuir
- requirements.txt - Dependencias del proyecto
- .github/GUIDE_DISCUSSIONS.md - Guía completa para usar Discussions 💬
💬 Comunidad
¿Tienes preguntas o quieres compartir algo? Únete a nuestras Discussions:
📖 ¿No sabes cómo usar Discussions? Lee la guía completa.🌐 Documentación Web
📄 GitHub Pages: Ver sitio web ✅
💡 Nota: Pages es un índice de navegación. El contenido completo está en el repositorio de GitHub para mejor experiencia con código, notebooks y ejemplos.
🤖 Inteligencia Artificial como copiloto
En este repositorio:
- Usamos AI para:
- Nunca para evitar entender los fundamentos.
La AI potencia al Data Engineer que sabe lo que está haciendo.
🧠 Filosofía
- Menos magia, más fundamentos
- Código claro > código "ingenioso"
- Pensar en datos como producto
- Ingeniería antes que herramientas
📬 Contacto
💖 ¿Quieres apoyar este proyecto?
Si te resulta útil y quieres contribuir al crecimiento del contenido, puedes apoyar con una donación en GitHub Sponsor:
¡Gracias por tu apoyo!