⭐ 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.
A lo largo de esta ruta de aprendizaje, dominarás:
- Conceptos clave: Tipos de datos, pipelines, batch vs streaming
- Herramientas: Git, Docker, archivos
.env, entornos reproducibles - Buenas prácticas: Desde el día 1
- 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
- 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 analítico: Star Schema, Snowflake, tablas de hechos
- Calidad de datos: Métricas, validaciones, testing
- Herramientas: Great Expectations, Pandera
- Pipelines con Python: Desde cero hasta producción
- Orquestadores: Prefect, Dagster, Airflow, Luigi
- Cloud: Step Functions, Composer, Data Factory
- 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
- Conceptos fundamentales: Arquitecturas cloud
- AWS, GCP, Azure: Servicios principales
- Multi-cloud: Estrategias avanzadas
- Principiante: Pipeline ETL simple con código funcional
- Intermedio: Validaciones, Airflow local, AI como copiloto
- Avanzado: Producción local, cloud gratis, pipelines completos
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.
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
- 👶 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
Sigue la Guía de Configuración Inicial completa para configurar:
- Python y dependencias
- Git
- Docker (opcional, para SQL)
- Variables de entorno
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.)
- 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.
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.
¿No sabes por dónde empezar? Elige una de estas opciones:
Conceptos básicos de Data Engineering para principiantes
Guía completa paso a paso para convertirte en Data Engineer
Aprende haciendo: proyectos prácticos desde el primer día
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
Leyenda:
- ✔️ = Contenido completo y listo para usar
- 🚧 = Contenido en progreso o parcial
- 📘 = Carpeta con múltiples archivos
- 📘 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
- 📘 SQL (carpeta)
- ✔️ SQL vs PostgreSQL - ¿Por qué PostgreSQL?
- ✔️ Herramientas SQL
- DBeaver (visualización y generación de queries)
- Otras herramientas (pgAdmin, TablePlus, etc.)
- ✔️ SQL básico
- ✔️ SQL intermedio
- ✔️ SQL avanzado
- ✔️ Modelado Relacional
- ✔️ Ejercicios
- 📘 Python (carpeta)
- ✔️ Fundamentos
- Sintaxis esencial, Jupyter Notebooks, manejo de archivos
- Scripts vs módulos (para cuando construyas pipelines)
- ✔️ Pandas
- Manipulación de datos, exploración (EDA), Jupyter Notebooks
- ✔️ Storytelling con Datos
- Comunicar insights efectivamente a personas de negocios, visualizaciones
- ✔️ Ejemplos (Notebooks)
- Notebooks interactivos para practicar todos los conceptos
- 📘 Modelado y calidad (carpeta)
- ✔️ Modelado
- Modelos dimensionales, Star Schema, Snowflake
- ✔️ Calidad de Datos
- Métricas y KPIs de calidad
- Validaciones y Testing
- Herramientas (Great Expectations, Pandera)
- ✔️ Ejemplos (Notebooks)
- Modelado Star Schema, Calidad, Validaciones, Testing, Great Expectations, Pandera
- 📘 Pipelines (carpeta)
- ✔️ Pipelines básicos
- Conceptos fundamentales
- Pipelines con Python puro
- ✔️ Orquestadores
- Prefect, Dagster (local - empezar aquí)
- Airflow, Luigi (enterprise)
- Orquestadores Cloud (Step Functions, Composer, Data Factory)
- ✔️ Ejercicios y Soluciones
- Soluciones de referencia para todos los ejercicios de orquestadores
- 📘 Inteligencia Artificial como Copiloto (carpeta)
- ✔️ Cómo usar AI como Data Engineer
- ✔️ Ejemplos de Prompts Efectivos
- ✔️ Documentación con AI
- ✔️ Herramientas
- Cursor para Data Engineers
- ✔️ Límites de la AI
- ✔️ Buenas Prácticas de AI
- 📘 Proyectos (carpeta)
- ✔️ Nivel Principiante
- ✅ 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
- ✔️ Nivel Intermedio
- ✅ 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
- 🚧 Nivel Avanzado
- Estructura y READMEs completos, código en desarrollo
- 📘 Orquestadores Cloud
- ✔️ 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
- ✔️ Conceptos fundamentales
¿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
⭐ Si este repo te ayuda, dale Star (estrella) — así apoyas el contenido en español y podrás recibir notificaciones de actualizaciones importantes.
¿Tienes dudas? Revisa nuestro FAQ con preguntas comunes sobre:
- Cómo empezar
- Configuración técnica
- Problemas comunes
- Sobre el aprendizaje
- Contribuciones
- 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 💬
¿Tienes preguntas o quieres compartir algo? Únete a nuestras Discussions:
📖 ¿No sabes cómo usar Discussions? Lee la guía completa.
📄 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.
En este repositorio:
-
Usamos AI para:
- explicar código
- generar ejemplos
- documentar pipelines
- crear tests
-
Nunca para evitar entender los fundamentos.
La AI potencia al Data Engineer que sabe lo que está haciendo.
- Menos magia, más fundamentos
- Código claro > código "ingenioso"
- Pensar en datos como producto
- Ingeniería antes que herramientas
Si te resulta útil y quieres contribuir al crecimiento del contenido, puedes apoyar con una donación en GitHub Sponsor:
¡Gracias por tu apoyo!