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
certificado
Gratis
acceso
NIEVA

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.

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!