Een dbt-project maken

Introductie tot dbt

Mike Metzger

Data Engineer

Wat is een dbt-project

  • Omvat onderdelen om met data in dbt te werken

    • Projectconfiguratie
    • Databronnen en -bestemmingen
    • SQL-queries
    • Templates
    • Documentatie
  • Geïmplementeerd als een mapstructuur

dbt-mapstructuur

Introductie tot dbt

Een nieuw project maken

  • Gebruik het commando dbt init
    • Vraagt de projectnaam
    • Vraagt het type database/data warehouse
  • Kan korter met dbt init <projectname>
  • Maakt de hoofdmap en alle benodigde structuur aan
repl:~/workspace$ dbt init
16:38:37  Running with dbt=1.8.4
Enter a name for your project (letters, digits, underscore): test_project
Which database would you like to use? [1] duckdb
Enter a number: 1
...
Introductie tot dbt

Configuratie met projectprofielen

  • Een profiel staat voor een specifieke deployment-situatie
    • Development
    • Staging/Test
    • Productie
  • Een dbt-project kan meerdere profielen hebben
  • Gedefinieerd in het bestand profiles.yml
marketing_campaign_results:
  outputs:
    dev:
      type: duckdb
      path: dbt.duckdb
    prod:
      type: snowflake
      ...
  target: dev
Introductie tot dbt

YAML

  • Yet Another Markup Language
  • Tekstbestand; inspringing is belangrijk (zoals in Python)
  • Veel gebruikt voor configuratie in development
  • Regels kunnen lastig zijn; houd items uitgelijnd zoals in de voorbeelden
marketing_campaign_results:
  outputs:
    dev:
      type: duckdb
      path: dbt.duckdb
    prod:
      type: snowflake
      ...
  target: dev
Introductie tot dbt

DuckDB

  • Open-source serverless database
    • Lijkt op sqlite
  • Ontworpen voor analytics
  • Gevectoriseerd (dus snel)
  • Eenvoudig te gebruiken

duckdb-logo

Introductie tot dbt

Laten we oefenen!

Introductie tot dbt

Preparing Video For Download...