Skip to content

Cum să etichetezi modele în dbt

DodaTech Updated 2025-01-15 2 min read

In this tutorial, you'll learn about Cum să etichetezi modele în dbt. We cover key concepts, practical examples, and best practices.

Vei învăța cum să etichetezi modele în dbt cu tag-uri pentru a organiza proiectul și a rula selectiv subansambluri de modele.

Problema

În proiecte dbt mari, sute de modele sunt executate împreună. Vrei să rulezi doar modelele financiare, sau doar cele zilnice, sau doar cele ale echipei de marketing. Tag-urile rezolvă această nevoie de filtrare.

Modul Greșit

# dbt_project.yml — fără tag-uri, totul se execută deodată
models:
  my_project:
    +materialized: table
# Nu poți selecta un subset de modele
# Rulezi totul, deși ai nevoie doar de modele financiare
dbt run  # Durează 30 de minute

Modul Corect

# dbt_project.yml — tag-uri pe directoare
models:
  my_project:
    staging:
      +tags: ['staging']
    marts:
      finance:
        +tags: ['finance', 'daily']
      marketing:
        +tags: ['marketing', 'weekly']
      hr:
        +tags: ['hr', 'monthly']
# models/schema.yml — tag-uri per model
models:
  - name: daily_revenue
    config:
tags: ['finance', 'daily', 'critical']
  - name: user_acquisition
    config:
tags: ['marketing', 'weekly']
# Rulează doar modelele financiare
dbt run --select tag:finance

Output:

17:23:45  Running tag:finance
17:23:46  1 of 3 START sql table model daily_revenue
17:23:47  2 of 3 START sql table model monthly_profit
17:23:48  3 of 3 START sql view model cost_breakdown
17:23:49  Finished running 3 models

Pas cu Pas

1. Adaugă tag-uri în dbt_project.yml

models:
  my_project:
    marts:
      +tags: ['marts']
      finance:
        +tags: ['finance']

2. Adaugă tag-uri per model

models:
  - name: user_metrics
    config:
tags: ['analytics', 'daily']

3. Filtrează cu tag-uri

dbt run --select tag:daily
dbt test --select tag:critical
dbt build --select tag:finance

Sfaturi de Prevenție

  • Folosește tag-uri consistente: daily, weekly, monthly pentru frecvență
  • Adaugă tag-ul echipei: finance, marketing, engineering
  • Nu exagera cu tag-urile — 3-5 per model e suficient
  • Documentează tag-urile în README-ul proiectului

Greșeli Comune

  1. Prea multe tag-uri per model — dificil de gestionat și de filtrat
  2. Tag-uri inconsistente — uneori finance, alteori fin sau financial
  3. Tag-uri care nu se moștenesc — tag-urile pe director nu se aplică automat subdirectoarelor
  4. Filtrare incorectă--select tag:finance selectează modele cu acel tag, dar nu și dependențele lor

Întrebări Frecvente

### Cum moștenesc tag-urile?

Tag-urile se moștenesc la nivel de director. Dacă marts/finance/ are tag finance, toate modelele din acel director primesc tag-ul finance. Dar nu și subdirectoarele — trebuie specificat explicit.

Pot combina tag-uri în selecție?

Da — dbt run --select tag:finance tag:daily — selectează modele care au ambele tag-uri (intersecție). Folosește , pentru uniune.

Cum văd ce tag-uri există?

Rulează dbt list --resource-type model --output json | jq '.[].tags' pentru a lista toate tag-urile.

Construit de dezvoltătorii Doda Browser, DodaZIP și Durga Antivirus Pro. Instrumentele DodaTech se integrează perfect cu dbt pentru organizarea eficientă a modelelor.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro