
dbt - Geavanceerde functies
Jinja macro's, custom tests, packages, hooks, snapshots (SCD), incremental models, dbt Cloud, CI/CD
1Wat is in dbt het hoofddoel van Jinja-macro's?
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.
2Hoe definieer je een herbruikbare dbt-macro in een bestand?
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.
3Wat is het verschil tussen de strategieën 'timestamp' en 'check' voor dbt-snapshots?
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.
Welke kolommen worden automatisch toegevoegd door dbt bij het maken van een snapshot?
Hoe configureer je een incremental-model met de 'merge'-strategie in dbt?
+17 gespreksvragen
Andere Data Engineering-sollicitatieonderwerpen
Linux & Shell - Grondbeginselen
Git & GitHub - Grondbeginselen
Geavanceerde Python voor Data Engineering
Docker - Basisbeginselen
Google Cloud Platform - Fundamenten
CI/CD en codekwaliteit
Docker Compose
FastAPI - Data-API's
Geavanceerde SQL voor Data Engineering
Data Lake - Architectuur en ingestie
BigQuery voor Data Engineering
PostgreSQL - Administratie
Data Modeling voor Data Engineering
Fivetran & Airbyte - Data-ingestie
dbt - Grondbeginselen
Apache Airflow - Grondbeginselen
Kubernetes - Fundamenten
ETL- / ELT- / ETLT-patronen
Apache Airflow - Gevorderd
Airflow + dbt - Pipeline-orkestratie
PySpark - Grootschalige verwerking
Google Pub/Sub - Datastreaming
Apache Beam & Dataflow
Kubernetes - Productie en scaling
Terraform - Infrastructure as Code
NoSQL-databases
Moderne Data Architecture
Monitoring en observability
IAM en gegevensbeveiliging
Beheers Data Engineering voor je volgende gesprek
Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.
Begin gratis