Cuando un proyecto dbt crece, el código repetido se multiplica.
Las mismas transformaciones en staging, la misma lógica para leer snapshots, los mismos joins en cada mart.
Sin modularidad, cada cambio se convierte en una operación de buscar y reemplazar con riesgo de romper algo.
Este capítulo del libro Data Engineering with dbt te da los patrones concretos para evitarlo, capa por capa.
No se trata de modularizar por modularizar.
Cada capa tiene sus propios componentes reutilizables.
Veremos también cómo gestionar claves correctamente.
También hablaremos de Master Data Management dentro de dbt:
La parte más práctica del capítulo.
Dos macros que resuelven el patrón más repetido en proyectos de datos: guardar histórico y obtener la versión actual.
save_history crea modelos incrementales insert-only que comparan hashes para detectar cambios, con soporte para filtros de entrada, high watermark y optimización de escritura.current_from_history extrae la versión más reciente de cada entidad usando funciones de ventana, lista para alimentar modelos REF, DIM o REPORT.Ambas están parametrizadas y listas para adaptar a tu proyecto.
¡Empezamos! 🚀