Crear las referencias al modelo BRONZE
Introducción
En la arquitectura de capas de un proyecto de BI con DBT, los modelos se suelen organizar en Bronze, Silver y Gold:
- Bronze: datos raw o crudos directamente de la fuente, sin apenas transformación.
- Silver: datos parcialmente transformados y normalizados, listos para análisis más complejos.
- Gold: datos finales, listos para consumo por dashboards y reporting.
Para construir un modelo Silver, necesitamos referenciar los modelos Bronze previamente cargados en la base de datos.
Creación de referencias
- Ejecutar los siguientes comandos
- cd formacion_db_postgres
- $env:DBT_PROFILES_DIR = (Get-Location)
- dbt run-operation generate_source –args ‘{«schema_name»: «BRONZE»}’
- Crear dentro de la carpeta BRONZE, el fichero bronze_model.yml y copiar el texto generado por el comando anterior dentro del fichero.
- El esquema DBT_FORMACION será utilizado por DBT como destino para la creación de todas las tablas, funcionando como nuestro Data Warehouse.
- Para cada tabla, es posible autogenerar el fichero .sql que referencia la tabla de origen.
- Es imprescindible configurar el atributo schema: BRONZE para indicar a DBT el esquema de PostgreSQL sobre el que debe operar.
- Ejemplo de consultar los datos de la tabla base_bronze_media_type.sql
- Ahora se crearán vistas en Postgres.
- Esto se crea porque cada fichero .sql qué tengamos en el proyecto DBT, al ejecutar dbt run se crea todo en el esquema de postgres
Importante
- Evitar el uso de * en los SELECT. Siempre que se conozcan las columnas a consultar, deben especificarse explícitamente en el SELECT, lo que reduce significativamente los costes de procesamiento.
- Vistas vs. Tablas:
- Por defecto, DBT crea vistas. No obstante, es posible configurar que algunos modelos se materialicen como tablas, vistas, vistas materializadas o efímeras, según las necesidades del proyecto o del modelo específico.
Referencia: https://docs.getdbt.com/reference/resource-configs/materialized
Francisco Rodriguez Alfaro