GuíaBásico

Guía de Python para Data Engineering

Continúa directo desde `data-engineering-foundations-guide`: mismo caso de Kiosko, mismo pipeline, mismos datos de `orders` y `events` — lo que cambia es cómo está escrito el código que los procesa. Esta guía toma el script plano de foundations y lo convierte, módulo a módulo, en un paquete Python de producción: empaquetado con `uv` (`pyproject.toml`, layout `src/`, `uv.lock`), tests con `pytest` sobre cada función del pipeline, logging estructurado en JSON en vez de `print`, reintentos deterministas con `tenacity` para fallas transitorias, y DuckDB y Polars a fondo como los dos motores de transformación diaria que reemplazan los loops de Python puro y `sqlite3` de foundations. Nunca se usa pandas. Cierra con un capstone que ensambla el paquete completo — instalable, testeado, logueado, resiliente — y compara las tres implementaciones de la misma transformación (loop en Python, SQL con DuckDB, `LazyFrame` con Polars) para probar que producen exactamente el mismo resultado.

64
lecciones
8
módulos
Inglés · Español
disponible en
certificado
Gratis
acceso
NIEVA

Resultados

Lo que vas a poder hacer

  • Convertir un script plano en un paquete instalable con `uv`: `pyproject.toml`, layout `src/`, `uv.lock`, y `uv run` como forma de ejecutarlo
  • Escribir tests con `pytest` (fixtures, parametrize, arrange-act-assert) sobre las funciones de extracción, transformación y calidad heredadas de foundations
  • Reemplazar cada `print()` por logging estructurado en JSON con contexto (`run_id`, `partition_date`) usando el módulo `logging` y `structlog`
  • Distinguir errores que deben reintentarse de errores que deben ir a cuarentena, e implementar reintentos deterministas con `tenacity` (backoff, jitter, cuándo rendirse), probados sin usar `random`
  • Usar DuckDB como motor de trabajo diario: SQL directo sobre Parquet/CSV, la API relacional en Python, y persistencia en archivo o en memoria
  • Usar Polars a fondo: DataFrames eager vs `LazyFrame`, el plan de consulta optimizado con `.explain()`, expresiones, `group_by`/`agg` y joins
  • Decidir con criterio cuándo usar DuckDB y cuándo Polars, y por qué ambos desplazaron a pandas en pipelines de producción
  • Ensamblar un paquete final con entry point de línea de comandos, configuración sin valores hardcodeados, y un test de integración que prueba idempotencia con `assert`, no a ojo

Antes de empezar

Qué necesitas traer

Es para ti si...

  • Quien ya completó `data-engineering-foundations-guide` (o tiene un pipeline equivalente escrito como script plano) y quiere llevarlo a nivel de producción
  • Data engineers junior que escriben pipelines funcionales pero sin tests, sin logging estructurado y sin manejo de reintentos
  • Developers que siguen usando pandas por costumbre y quieren migrar a DuckDB/Polars con criterio, no por moda
  • Cualquiera que necesite entregar un pipeline de datos que un equipo de ingeniería real aceptaría revisar

Requisitos y materiales

  • `data-engineering-foundations-guide` completada (o equivalente: el pipeline de extracción, calidad, transformación y carga de Kiosko funcionando como script plano)
  • Python intermedio: funciones, manejo de excepciones, comprensión de listas
  • Laptop propia con Python 3 y `uv` instalables — todo corre local y con $0

Contenido

El temario, módulo por módulo

Abre cualquiera para ver sus lecciones.

Dudas frecuentes

Lo que suele preguntarse

Empieza cuando quieras

Reseñas

Lo que dicen los estudiantes

Estas reseñas son de estudiantes inscritos que completaron al menos el 50% del curso. Moderamos las reseñas solo por motivos de contenido (spam, lenguaje ofensivo, datos personales), nunca por ser críticas o negativas.

Aún no hay reseñas aprobadas.

¡Sé el primero en compartir tu experiencia!