Automatisering med dbt build

Intermediate dbt

Mike Metzger

Data Engineer

Repetition

  • sources och seeds tillför initial data till dbt
  • models hanterar transformationen av data (vanligtvis från sources / seeds) för nedströmsparter
  • tests kan validera sources, seeds, models
    • Inbyggda (unique, not_null, relation, accepted_values)
    • Singulära
    • Generiska / återanvändbara
  • dbt build utför alla dessa uppgifter, vanligtvis i produktion
Intermediate dbt

dbt build

dbt build:

  • Kombinerar flera uppgifter
  • Kör modeller (dbt run)
  • Kör valideringar via tester (dbt test)
  • Bearbetar seeds (dbt seed)
  • Fler alternativ finns (dbt snapshot)
  • KÖR INTE dbt docs-operationer

Kommandona kan köras individuellt

Byggnation

1 Foto av Randy Fath på Unsplash
Intermediate dbt

dbt build – varför?

  • Enskilda delkommandon fungerar bra, men hanterar inte alla möjliga problem
    • dbt run validerar inte först (dvs. inga tester körs)
    • dbt seed kan vara ofullständig för vissa frågor
  • dbt build fastställer beroenden och kör alla tester innan produktionsändringar görs
  • dbt build kan vara överdrivet vid enbart testning eller små inkrementella ändringar
  • Stegen kan köras manuellt vid behov
Intermediate dbt

Alternativ för dbt build

  • dbt build --select <object>
  • dbt build -d
  • dbt build --exclude <object>
Intermediate dbt

Nu kör vi en övning!

Intermediate dbt

Preparing Video For Download...