Skip to content

euler369/curso_data_engineer_jr_kalex

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

🚀 Curso de Data Engineering Junior

📚 Descripción del Curso

Este curso completo está diseñado para ingenieros de datos junior que quieren dominar las herramientas fundamentales del Data Engineering: SQL y Python. El curso cubre desde fundamentos hasta conceptos avanzados, incluyendo PostgreSQL, MS SQL Server, análisis de datos con Python, y pipelines ETL.

🎯 Objetivos de Aprendizaje

SQL

  • Comprender los fundamentos de SQL y bases de datos relacionales
  • Dominar consultas SELECT, filtros y ordenamiento
  • Aprender a usar funciones agregadas y GROUP BY
  • Entender y aplicar diferentes tipos de JOINs
  • Trabajar con Common Table Expressions (CTEs)
  • Conocer las diferencias entre PostgreSQL y MS SQL Server

Python para Data Engineering

  • Dominar Python desde fundamentos hasta aplicaciones avanzadas
  • Análisis y transformación de datos con Pandas y NumPy
  • Conectar Python con bases de datos relacionales
  • Implementar pipelines ETL completos
  • Crear visualizaciones efectivas de datos
  • Aplicar mejores prácticas de ingeniería de datos

📁 Estructura del Curso


🗄️ MÓDULOS SQL

Módulo 1: Fundamentos de SQL y Bases de Datos

  • Conceptos básicos de bases de datos relacionales
  • Instalación y configuración de PostgreSQL y MS SQL Server
  • Creación de bases de datos y tablas
  • Tipos de datos y restricciones

Módulo 2: Consultas Básicas SELECT

  • Sintaxis básica de SELECT
  • Filtrado con WHERE
  • Ordenamiento con ORDER BY
  • Limitación de resultados

Módulo 3: Funciones y Operadores

  • Funciones de texto y números
  • Operadores de comparación y lógicos
  • Funciones de fecha y hora
  • Diferencias entre PostgreSQL y MS SQL Server

Módulo 4: Agregación y Agrupación

  • Funciones agregadas (COUNT, SUM, AVG, MIN, MAX)
  • Cláusula GROUP BY
  • Filtrado con HAVING
  • Subconsultas básicas

Módulo 5: JOINs y Relaciones

  • INNER JOIN
  • LEFT JOIN, RIGHT JOIN, FULL JOIN
  • CROSS JOIN
  • Self JOIN
  • Múltiples JOINs

Módulo 6: Common Table Expressions (CTEs)

  • CTEs básicas
  • CTEs recursivas
  • Casos de uso prácticos
  • Diferencias de sintaxis entre sistemas

🐍 MÓDULOS PYTHON

Módulo 1: Fundamentos de Python

  • Tipos de datos y estructuras de control
  • Funciones y manejo de errores
  • Comprensiones de listas
  • Decoradores básicos

Módulo 2: Pandas y Análisis de Datos

  • Series y DataFrames
  • Lectura y escritura de datos (CSV, Excel, JSON)
  • Limpieza y transformación de datos
  • Operaciones de agregación y groupby
  • Merge y join de DataFrames

Módulo 3: NumPy y Operaciones Numéricas

  • Arrays y operaciones matriciales
  • Indexación y slicing avanzado
  • Broadcasting
  • Funciones estadísticas

Módulo 4: Conexión a Bases de Datos

  • PostgreSQL con psycopg2
  • MySQL con pymysql
  • SQLAlchemy ORM
  • Operaciones CRUD
  • Manejo de transacciones

Módulo 5: ETL y Transformación de Datos

  • Proceso Extract, Transform, Load
  • Extracción desde múltiples fuentes
  • Transformación y limpieza
  • Carga a destinos
  • Automatización de pipelines

Módulo 6: Visualización de Datos

  • Matplotlib para gráficos básicos
  • Seaborn para visualizaciones estadísticas
  • Plotly para gráficos interactivos
  • Mejores prácticas de visualización
  • Dashboards básicos

Módulo 7: Docker para Data Engineering

  • Contenedores y orquestación
  • Dockerfiles y mejores prácticas
  • Docker Compose para múltiples servicios
  • Bases de datos contenerizadas
  • Entornos reproducibles
  • Stack completo de Data Engineering

🛠️ Requisitos Previos

  • Conocimientos básicos de informática
  • Acceso a internet para descargar software
  • Motivación para aprender SQL

💻 Software Requerido

Para SQL:

  • PostgreSQL: Versión 14 o superior
  • MS SQL Server: SQL Server Express o Developer Edition
  • Editor de código: VS Code, DBeaver, o pgAdmin

Para Python:

  • Python: Versión 3.8 o superior

  • Editor: VS Code, PyCharm, o Jupyter Notebook

  • Librerías: pandas, numpy, matplotlib, seaborn, psycopg2, sqlalchemy

    pip install -r modulos_python/requirements.txt

Para Docker:

  • Docker Desktop: Para Windows/Mac

  • Docker Engine: Para Linux

  • Docker Compose: Incluido en Docker Desktop

    docker --version
    docker-compose --version

🚀 Cómo Empezar

Ruta de Aprendizaje Recomendada:

  1. Comienza con SQL (Módulos SQL 1-6)

    • Aprende los fundamentos de bases de datos
    • Practica consultas y joins
    • Domina las CTEs
  2. Continúa con Python (Módulos Python 1-3)

    • Fundamentos de Python
    • Análisis de datos con Pandas
    • Operaciones numéricas con NumPy
  3. Integra ambos (Módulos Python 4-6)

    • Conecta Python con bases de datos
    • Crea pipelines ETL
    • Visualiza y comunica resultados
  4. Conteneriza todo (Módulo Python 7)

    • Aprende Docker y contenedores
    • Despliega bases de datos en Docker
    • Crea entornos reproducibles
    • Orquesta stacks completos

Pasos Iniciales:

  1. Lee el README de cada módulo
  2. Instala el software requerido
  3. Sigue los ejemplos paso a paso
  4. Ejecuta los scripts de práctica
  5. Completa los ejercicios prácticos
  6. Construye tu propio proyecto integrador

📖 Recursos Adicionales

SQL:

Python:

Docker:

🤝 Contribuciones

Si encuentras errores o quieres mejorar el curso, ¡las contribuciones son bienvenidas!

📊 Proyecto Final

Al completar todos los módulos, estarás preparado para:

  • ✅ Diseñar y consultar bases de datos complejas
  • ✅ Construir pipelines ETL robustos con Python
  • ✅ Analizar grandes volúmenes de datos
  • ✅ Crear visualizaciones impactantes
  • ✅ Contenerizar aplicaciones con Docker
  • ✅ Desplegar stacks completos de Data Engineering
  • ✅ Automatizar procesos de ingeniería de datos

🎓 Certificación

Al completar todos los módulos y ejercicios prácticos, habrás desarrollado las habilidades fundamentales de un Data Engineer Junior y estarás listo para:

  • 🚀 Trabajar en proyectos reales de ingeniería de datos
  • 💼 Contribuir a pipelines de datos en producción
  • 🐳 Desplegar aplicaciones contenerizadas
  • ☁️ Continuar tu aprendizaje con temas avanzados:
    • Apache Airflow para orquestación
    • Apache Spark para Big Data
    • Cloud Platforms (AWS, GCP, Azure)
    • Kubernetes para orquestación avanzada
    • Data Streaming con Kafka

¡Comienza tu viaje en el mundo del Data Engineering y conviértete en un experto en datos! 🚀🎉

SQL + Python + Docker = Data Engineering Excellence 💪🐳


📈 Roadmap del Curso

Fundamentos
    ↓
┌───────────────────────────────┐
│  Módulos SQL (1-6)            │
│  ✓ Consultas y bases de datos │
└───────────────────────────────┘
    ↓
┌───────────────────────────────┐
│  Módulos Python (1-3)         │
│  ✓ Python, Pandas, NumPy      │
└───────────────────────────────┘
    ↓
┌───────────────────────────────┐
│  Módulos Python (4-6)         │
│  ✓ Bases de datos, ETL, Viz   │
└───────────────────────────────┘
    ↓
┌───────────────────────────────┐
│  Módulo Docker (7)            │
│  ✓ Contenedores y orquestación│
└───────────────────────────────┘
    ↓
Data Engineer Junior 🎓

About

curso_data_engineer_jr_kalex

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TSQL 58.5%
  • Python 41.1%
  • Dockerfile 0.4%