Creare test singoli

dbt intermedio

Mike Metzger

Data Engineer

Cos'è un test singolo?

  • Test dati personalizzato
  • Scritto come query SQL
    • Deve restituire le righe non conformi
  • Definito come file .sql nelle directory tests

Immagine del test

1 Foto di Antoine Dautry su Unsplash
dbt intermedio

Esempio di test singolo

  • Crea un test per verificare:
    • order_total >= subtotal
select *
from order
where order_total < subtotal
  • Ricorda: vogliamo le righe che non superano il test; se tornano righe, il test fallisce.
  • Salva il file come assert_order_total_gte_subtotal.sql

Diagramma schema tabella order

dbt intermedio

Test singolo con Jinja

  • Possiamo usare Jinja nei test
    • Funzione ref
    • Altre se utile
  • dbt sostituisce l'output all'esecuzione del test
    • Riesegui il progetto se cambia il profilo dbt
select *
from {{ ref('order') }}
where order_total < subtotal
dbt intermedio

Debug dei test

  • Usa un editor SQL per creare la query iniziale
  • Metti la query nel file corretto
  • Dai un nome univoco al test
  • Usa l'opzione dbt test --select <testname>
  • Controlla gli errori e aggiorna di conseguenza
dbt intermedio

Ayo berlatih!

dbt intermedio

Preparing Video For Download...