Skip to content

Cum să configurezi dependențele expunerilor în dbt

DodaTech Updated 2025-01-15 2 min read

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:nume pentru 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

### Ce este o expunere în dbt?

O expunere este o definiție YAML care descrie un consumator downstream al datelor tale (dashboard, raport, API) și dependențele sale față de modelele dbt.

### Cum afli ce expuneri există în proiect?

Rulează dbt list --resource-type exposure pentru a vedea toate expunerile definite.

### Pot expunerile să aibă dependențe multiple?

Da, poți lista oricâte ref() și source() în câmpul depends_on.

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