Skip to content

Cum să verifici modele în dbt

DodaTech Updated 2025-01-15 2 min read

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

Vei învăța cum să verifici modele dbt înainte de a le rula în producție, folosind dbt compile și dbt run pentru a depana erorile de sintaxă și dependențe.

Problema

Rulezi dbt run și primești erori de compilare. Pierzi timp cu rulări care eșuează. Verificarea modelelor înainte de execuție economisește timp și previne erorile.

Modul Greșit

# Rulezi direct în producție fără verificare
dbt run  # Eroare după 5 minute de execuție
# Migration failed — trebuie să repari și să rulezi din nou

Modul Corect

1. Compilarea modelelor

dbt compile --model order_summary

Output:

-- target/compiled/my_project/models/order_summary.sql
SELECT
    u.id,
    u.name,
    COUNT(o.id) AS order_count
FROM analytics.stg_users u
LEFT JOIN analytics.stg_orders o ON u.id = o.user_id
GROUP BY u.id, u.name
dbt compile  # Compilează toate modelele

2. Verificarea erorilor

dbt compile 2>&1 | grep -i "error"
Compilation Error in model order_summary (models/order_summary.sql)
  Model "ref('stg_users')" was not found

3. Rularea cu debug

dbt run --model order_summary --debug

Output debug:

17:23:45  Opening a new connection to database
17:23:45  Executing SQL: CREATE OR REPLACE VIEW ...
17:23:46  SQL status: SUCCESS
17:23:46  Closing connection

Pas cu Pas

1. Rulează dbt compile înainte de dbt run

dbt compile --select order_summary
# Verifică sintaxa fără a executa

2. Verifică SQL-ul generat

cat target/compiled/my_project/models/order_summary.sql
# Vezi SQL-ul final după procesarea Jinja

3. Rulează cu --debug dacă apar erori

dbt run --model order_summary --debug 2>&1 | less

Sfaturi de Prevenție

  • Rulează dbt compile în pipeline-ul CI înainte de dbt run
  • Folosește dbt --warn-error pentru a trata avertismentele ca erori
  • Verifică target/compiled/ pentru SQL-ul generat
  • Testează modelele pe un subset de date înainte de producție

Greșeli Comune

  1. Compilare omisă — rulezi direct dbt run și pierzi timp cu erori
  2. Ignorarea erorilor de compilare — unele erori apar doar la rulare; verifică target/compiled/
  3. Debug prea verbos--debug produce mult output; filtrează cu grep -i error
  4. Necompilat după schimbări — dacă schimbi modelul, trebuie să recompilezi

Întrebări Frecvente

### Care e diferența între `dbt compile` și `dbt run`?

dbt compile generează SQL-ul final fără a-l executa. dbt run compilează și execută. Compile e mai rapid și sigur pentru verificare.

Cum văd SQL-ul generat de un model?

După dbt compile, verifică target/compiled/<project>/models/<model>.sql.

Ce fac dacă compilarea e OK dar execuția eșuează?

Problema e probabil în baza de date — tabelă lipsă, permisiuni insuficiente, sau tipuri de date incompatibile. Rulează cu --debug pentru detalii.

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

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro