Data Engineering

dbt - Geavanceerde functies

Jinja macro's, custom tests, packages, hooks, snapshots (SCD), incremental models, dbt Cloud, CI/CD

20 gespreksvragen·
Senior
1

Wat is in dbt het hoofddoel van Jinja-macro's?

Antwoord

Jinja-macro's maken hergebruik van SQL-code over meerdere dbt-modellen mogelijk. Ze werken als functies die parameters accepteren en dynamisch gegenereerde SQL-code retourneren. Dit voorkomt codeduplicatie en maakt het onderhouden van complexe transformaties in het hele project eenvoudiger.

2

Hoe definieer je een herbruikbare dbt-macro in een bestand?

Antwoord

Een dbt-macro wordt gedefinieerd met de Jinja macro/endmacro-syntaxis in een .sql-bestand binnen de macros-map. De macronaam wordt opgegeven na het macro-sleutelwoord, gevolgd door parameters tussen haakjes. Deze macro kan vervolgens worden aangeroepen vanuit elk model in het project.

3

Wat is het verschil tussen de strategieën 'timestamp' en 'check' voor dbt-snapshots?

Antwoord

De timestamp-strategie vergelijkt een updatedatumkolom (updated_at) om wijzigingen te detecteren, wat performanter is omdat slechts één kolom wordt vergeleken. De check-strategie vergelijkt waarden van opgegeven kolommen (check_cols) om wijzigingen te detecteren, nuttig wanneer er geen betrouwbare timestamp-kolom beschikbaar is.

4

Welke kolommen worden automatisch toegevoegd door dbt bij het maken van een snapshot?

5

Hoe configureer je een incremental-model met de 'merge'-strategie in dbt?

+17 gespreksvragen

Beheers Data Engineering voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis