Cum să configurezi dependențele expunerilor în dbt
In this tutorial, you'll learn about Cum să configurezi dependențele expunerilor în dbt. We cover key concepts, practical examples, and best practices.
Când definești o expunere (exposure) în dbt, poți specifica dependențele acesteia față de alte modele, surse sau snapshot-uri. Acest ghid explică cum să configurezi corect câmpul depends_on pentru expuneri în fișierul YAML.
Step-by-Step Fix
1. Identifică modelele de care depinde expunerea
Înainte de a scrie configurația, stabilește ce modele, surse sau snapshot-uri alimentează expunerea ta (de exemplu, un raport Tableau sau un dashboard Looker).
2. Definește expunerea cu depends_on
# models/exposures.yml
version: 2
exposures:
- name: sales_dashboard
label: Dashboard Vânzări
type: dashboard
maturity: high
url: https://looker.example.com/dashboards/42
depends_on:
- ref('dim_customers')
- ref('fct_orders')
- ref('dim_products')
- source('raw', 'orders')
3. Verifică dependențele cu dbt
dbt list --select exposure:sales_dashboard
Output așteptat:
exposure:my_project.sales_dashboard
4. Rulează doar modelele necesare expunerii
dbt build --select +exposure:sales_dashboard
Output așteptat:
15:23:45 Completed successfully
15:23:46 1 of 4 OK created sql table model dim_customers
15:23:47 2 of 4 OK created sql table model dim_products
15:23:48 3 of 4 OK created sql table model fct_orders
15:23:49 4 of 4 OK created sql table model fct_orders
Common Mistakes
| Greșeală | Soluție |
|---|---|
Lipsește ref() pentru modelele interne |
Folosește ref('nume_model') nu numele tabelului direct |
Se folosește source() fără a defini sursa în YAML |
Asigură-te că sursa există în fișierul sources.yml |
| Dependență ciclică între expuneri | dbt nu permite cicluri — verifică graful cu dbt graph |
| Se omit dependențe indirecte | dbt le include automat, dar specificarea lor explicită ajută la documentare |
Prevention Tips
- Documentează toate expunerile într-un singur fișier
exposures.yml - Verifică periodic dependențele cu
dbt list --select exposure:* - Folosește
dbt build --select +exposure:numepentru a testa lanțul complet - Adaugă expunerile în sistemul de monitorizare a calității datelor
DodaTech Tools
Doda Browser afișează graful complet al expunerilor și dependențelor lor. DodaZIP arhivează configurațiile YAML pentru versionare. Durga Antivirus Pro verifică expunerile pentru vulnerabilități de securitate în SQL-ul generat.
FAQ
Construit de dezvoltatorii Doda Browser, DodaZIP și Durga Antivirus Pro. Instrumentele DodaTech se integrează nativ cu dbt pentru productivitate și securitate sporite.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro