GuíaBásico
Guía de dbt y Analytics Engineering
Toma el warehouse dimensional que `data-modeling-for-analytics-guide` diseñó y construyó a mano para Kiosko —star schema, `dim_product` historizado con SCD tipo 2, accumulating snapshot, tabla ancha para BI— y lo convierte en un proyecto de software real con dbt-core + dbt-duckdb. Aprendes la anatomía de un proyecto dbt (sources, staging, marts), el grafo de dependencias con `ref()` y las materializaciones (view, table, incremental), a escribir tests declarativos (los cuatro genéricos de fábrica, un test genérico propio y tests singulares para reglas de negocio), a automatizar el SCD tipo 2 con snapshots de dbt (en vez del `MERGE INTO` escrito a mano), a construir modelos incrementales idempotentes, y a generar documentación y linaje automático con `dbt docs generate`. Todo corre local con dbt-core y dbt-duckdb, sin cuenta de dbt Cloud ni de ningún proveedor cloud. Cierra con un capstone que porta el resto de los marts de Kiosko al proyecto y corre `dbt build` de punta a punta: sources, snapshot, todos los modelos en orden de DAG y todos los tests, con un reporte final `PASS/WARN/ERROR` literal.
- 64
- lecciones
- 8
- módulos
- Inglés · Español
- disponible en
- Sí
- certificado
- Gratis
- acceso
Resultados
Lo que vas a poder hacer
- Instalar dbt-core + dbt-duckdb y entender la anatomía mínima de un proyecto dbt (`dbt_project.yml`, `profiles.yml`, `models/`)
- Declarar los archivos crudos de Kiosko como `source()` y construir modelos de staging (`stg_orders`, `stg_events`, `stg_stores`, `stg_products`) leyendo CSV/JSONL directo sin cargarlos antes
- Usar `ref()` para construir el grafo de dependencias del proyecto, y elegir entre materializaciones `view` y `table` con criterio
- Escribir tests declarativos: los cuatro genéricos de fábrica (`unique`, `not_null`, `accepted_values`, `relationships`), un test genérico propio y tests singulares para reglas de negocio
- Automatizar el SCD tipo 2 de `dim_product` con un snapshot de dbt (`dbt snapshot`, estrategia `timestamp`), reemplazando el `MERGE INTO` manual
- Convertir un modelo en incremental (`materialized: incremental`, `is_incremental()`) y probar idempotencia corriéndolo dos veces sobre la misma fecha
- Escribir una macro Jinja reutilizable, documentar modelos y columnas, y generar documentación y linaje automático con `dbt docs generate`
- Ensamblar un proyecto dbt completo y correrlo de punta a punta con `dbt build`, integrando sources, snapshot, modelos y tests en el orden correcto del DAG
Antes de empezar
Qué necesitas traer
Es para ti si...
- Quien ya completó `data-modeling-for-analytics-guide` (o tiene un modelo dimensional equivalente) y necesita convertirlo en un proyecto versionado y testeado
- Analytics engineers y data engineers que corren SQL de transformación a mano, en scripts sueltos, sin control de versiones ni tests
- Devs preparándose para roles donde dbt es requisito principal (consultoría de datos, roles con Snowflake/BigQuery)
- Cualquiera que necesite automatizar SCD tipo 2 sin escribir `MERGE INTO` a mano en cada cambio de esquema
Requisitos y materiales
- `data-modeling-for-analytics-guide` completada (o equivalente: un modelo dimensional con star schema y SCD tipo 2 funcionando)
- SQL intermedio: `SELECT`, `JOIN`, `GROUP BY`, CTEs básicas
- Laptop propia con Python 3 y capacidad de instalar dbt-core + dbt-duckdb (`pip install dbt-core dbt-duckdb`) — todo corre local y con $0
Contenido
El temario, módulo por módulo
Abre cualquiera para ver sus lecciones.
- Presentación del módulo: de un modelo de juguete a los datos reales de Kiosko
- Declarando los datos crudos de Kiosko como sources
- La función `source()` y por qué importa
- Leyendo archivos directamente con `external_location`
- Staging models: un modelo por cada tabla fuente
- Nombrando staging models: el prefijo `stg_`
- Construyendo `stg_orders` y `stg_events`
- Mini-proyecto: la capa de staging completa de Kiosko
- Presentación del módulo: de vistas de staging al star schema con `ref()`
- La función `ref()` y el DAG que construye
- Materializaciones: `view` contra `table`
- Reconstruyendo `dim_store` y `dim_date`
- Reconstruyendo `fact_orders` con `ref()`
- Eligiendo materializaciones para Kiosko
- Inspeccionando el DAG con `dbt ls`
- Mini-proyecto: el star schema de Kiosko en dbt
- Presentación del módulo: de un star schema que corre a un star schema en el que confías
- Qué verifica, exactamente, un data test
- Tests genéricos: `unique` y `not_null` en `fact_orders`
- Tests genéricos: `accepted_values` y `relationships`
- Escribiendo un test genérico propio: `test_is_positive`
- Tests singulares para reglas de negocio
- Leyendo el reporte de `dbt test`
- Mini-proyecto: la suite de tests de Kiosko
- Presentación del módulo: de un star schema que confías a un star schema que recuerda su pasado
- Qué hace, exactamente, un snapshot de dbt
- `timestamp` contra `check`: las dos estrategias de un snapshot
- Configurando `dim_product_snapshot`
- Corriendo el primer snapshot
- Cambiando la fuente y snapshoteando de nuevo
- Consultando el `dim_product` historizado
- Mini-proyecto: el SCD tipo 2 de Kiosko en dbt
- Módulo 6 — Modelos incrementales e idempotencia
- Por qué existen los modelos incrementales
- La macro `is_incremental()`
- Eligiendo una estrategia incremental
- Convirtiendo `fact_orders` en incremental
- Probando idempotencia corriendo dos veces
- `--full-refresh` cuando necesitas reconstruir
- Mini-proyecto: `fact_orders` incremental de Kiosko
- Módulo 7 — Macros, documentación y linaje
- Escribiendo tu primera macro
- Una macro de ingreso reutilizable para Kiosko
- Documentando modelos y columnas
- Generando docs con `dbt docs generate`
- Leyendo el grafo de linaje
- Cuándo un proyecto dbt necesita un orquestador
- Mini-proyecto: el proyecto documentado de Kiosko
- Módulo 8 — Proyecto: el primer warehouse dbt de Kiosko
- El brief: Kiosko necesita un warehouse versionado
- Portando los marts restantes de data-modeling
- Ensamblando la estructura completa del proyecto
- Corriendo `dbt build` de punta a punta
- Consultando el mart final
- Qué le sigue faltando a Kiosko
- Mini-proyecto: el primer warehouse dbt de Kiosko
Dudas frecuentes
Lo que suele preguntarse
Sin límite. Es una guía gratuita: entras cuando quieras, las veces que quieras.
No. Los módulos están ordenados de menos a más, pero puedes saltar al que necesites. Tu progreso se guarda por lección.
Lo que haga falta está en «Qué necesitas traer», arriba. Si no aparece nada ahí, puedes empezar desde cero.
En el grupo de WhatsApp del Club, y cada quince días hay un live con un instructor donde se resuelven dudas en vivo.
Sí. Al terminar todas las lecciones se emite automáticamente, con un código verificable que puedes compartir en LinkedIn.
Empieza cuando quieras
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!