Skip to content

caroacostatovany/ingenieria-de-datos

📊 Ingeniería de Datos

License Language Contributions

GitHub stars GitHub forks GitHub issues GitHub contributors

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:

📄 Ruta de Aprendizaje Visual

💡 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

  1. Lee ¿Qué es Data Engineering?
  2. Revisa el Roadmap
  3. Sigue el orden sugerido en el roadmap
  4. 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 .env en: Archivos .env para Data Engineers

🔒 Nota: El archivo .env está en .gitignore (no se commitea). Solo el .env.example está 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:

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


🧭 Í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

Leyenda:

  • ✔️ = Contenido completo y listo para usar
  • 🚧 = Contenido en progreso o parcial
  • 📘 = Carpeta con múltiples archivos

🟩 Nivel 0 — Introducción ✔️


🟨 Nivel 1 — Fundamentos ✔️


🟧 Nivel 2 — SQL para Data Engineers ✔️


🟦 Nivel 3 — Python aplicado ✔️

  • 📘 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

🟪 Nivel 4 — Modelado y calidad ✔️


🟥 Nivel 5 — Pipelines y orquestación ✔️


🤖 Inteligencia Artificial como copiloto ✔️


🚀 Proyectos End-to-End ✔️

  • 📘 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

☁️ Data Engineering en la Nube ✔️

  • 📘 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

✅ Cómo contribuir / sugerir mejoras

¿Encontraste un error o quieres proponer un tema?

⭐ Si este repo te ayuda, dale Star (estrella) — así apoyas el contenido en español y podrás recibir notificaciones de actualizaciones importantes.


❓ 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

💬 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:

    • 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.


🧠 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:

✨ Donar vía Sponsor

¡Gracias por tu apoyo!


Releases

No releases published

Sponsor this project

 

Packages

 
 
 

Contributors