Ingeniería Analítica con dbt
Transforma tu Data Lake en un producto gobernado.
Usaremos dbt (data build tool) para compilar SQL modular en trabajos de Spark optimizados, aplicando calidad y linaje automáticamente.
01. ¿Qué es dbt?
dbt es el estándar moderno para transformación de datos. Permite a los analistas e ingenieros trabajar como ingenieros de software. Se conecta a Spark (via Thrift Server o Databricks) y ejecuta las transformaciones allí.
-
SQL + Jinja
Escribe lógica de negocio en SQL (`SELECT...`). Usa Jinja (`{{ ref() }}`) para manejar dependencias y variables.
-
DAG Automático
dbt analiza tus referencias `ref('tabla_bronce')` y decide el orden de ejecución correcto.
-- Configuración del materializado
{{ config(materialized='table') }}
SELECT
order_id,
cast(amount as double) as total,
customer_id
FROM
{{ ref('ventas_bronze') }} -- Dependencia
WHERE
amount > 0
02. Calidad de Datos (Tests)
Unique
Garantiza que no hay duplicados en tu clave primaria.
- unique:column: id
Not Null
Asegura que campos críticos (IDs, fechas) siempre tengan valor.
- not_null:column: email
Accepted Values
Valida que una categoría solo tenga valores permitidos.
values: ['activo', 'baja']
03. El Proyecto
Estructuraremos nuestro proyecto dbt siguiendo las capas de refinamiento de datos.