Lección 1 de 18· Orientación: qué vas a construir
Has terminado los cursos de Polars y DuckDB, y has practicado piezas sueltas: limpiar un DataFrame aquí, escribir una consulta analítica allá. En este proyecto unes todo eso en una sola pieza coherente: un pipeline ETL moderno que toma datos crudos, los convierte en una capa analítica limpia y los deja listos para consultar — exactamente el tipo de trabajo que harías en un equipo de datos real.
No es un tutorial más: es un artefacto que podrás mostrar. Al terminar tendrás un proyecto reproducible, documentado y defendible en una entrevista.
ETL significa Extraer → Transformar → Cargar (Load). La idea es vieja; lo "moderno" está en las herramientas y la forma de trabajar:
Vas a construir un pipeline con cuatro etapas claras, más una capa de orquestación que las une:
El resultado: un proyecto que extrae datos de varias fuentes en memoria, los transforma y enriquece con expresiones perezosas de Polars, valida su calidad con reglas reproducibles, y los carga a Parquet para consultarlos con DuckDB.
En lugar de un único bloque gigante, avanzarás por hitos. Cada uno construye una etapa del pipeline, la deja funcionando y te prepara para la siguiente:
| Hito | Construyes | Resultado |
|---|---|---|
| 1 — Extracción e ingesta | Lectura de fuentes heterogéneas y tipado explícito | Datos crudos en memoria, con esquema |
| 2 — Transformaciones | Limpieza, joins, agregaciones y lazy frames | Datos limpios y enriquecidos |
| 3 — Validación | Reglas de calidad + módulo de reporte | Confianza en los datos antes de cargar |
| 4 — Carga analítica | Escritura a Parquet y consulta con DuckDB | Capa analítica consultable |
| 5 — Pipeline y portafolio | Orquestación de extremo a extremo + documentación | Proyecto reproducible y presentable |
Cada hito termina con un cuestionario corto para afianzar lo aprendido, y casi todo el trabajo ocurre en notebooks que ejecutas y modificas tú mismo.
Este es un proyecto de aplicación, no un curso introductorio. Damos por sentado que ya:
select, filter, with_columns, expresiones (pl.col(...)), group_by y joins;SELECT con agregaciones y joins.No vamos a re-enseñar esas bases: las usarás para construir algo más grande. Cuando un hito introduzca una técnica nueva (por ejemplo, optimización del plan lazy o escritura particionada en Parquet), la explicaremos en su momento, justo donde la necesitas.
Si algún concepto de Polars o DuckDB se te resiste, vuelve un momento a esos cursos y luego retoma aquí — el proyecto seguirá esperándote.
Trabajarás en el entorno data_advanced, con Polars y DuckDB ya disponibles. Todos los datos se generan en memoria dentro de los notebooks: no necesitas descargar archivos ni conectarte a ninguna red.
Una pieza de portafolio completa que demuestra que sabes:
En la siguiente lección veremos la arquitectura completa del pipeline y el dataset con el que trabajaremos. Cuando estés listo, empezamos. 🚀
Gratis