GuíaBásico

Guía de dbt y Analytics Engineering

Aprende analytics engineering con dbt: convierte un warehouse dimensional en un proyecto de software real con dbt-core y dbt-duckdb, con modelos, tests, snapshots, materializaciones incrementales y documentación automática. Es la continuación de la Guía de Modelado de Datos para Analítica (el curso anterior de este ecosistema): ahí diseñaste y construiste a mano el warehouse dimensional de Kiosko —star schema, `dim_product` historizado con SCD tipo 2, accumulating snapshot, tabla ancha para BI— y aquí lo conviertes 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.

Dónde encaja

Esta guía es parte de algo más grande

Se estudia dentro de estos programas, con acompañamiento y fechas.

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!