Ein dbt-Projekt erstellen

Einführung in dbt

Mike Metzger

Data Engineer

Was ist ein dbt-Projekt

  • Umfasst Bausteine für Arbeit mit Daten in dbt

    • Projektkonfiguration
    • Datenquellen & -ziele
    • SQL-Abfragen
    • Templates
    • Doku
  • Als Ordnerstruktur umgesetzt

dbt folder structure

Einführung in dbt

Neues Projekt erstellen

  • Nutze den Befehl dbt init
    • Fragt den Projektnamen ab
    • Fragt die Datenbank-/Warehouse-Art ab
  • Kürzer: dbt init <projectname>
  • Erstellt den Projektordner und die nötige Struktur
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
...
Einführung in dbt

Konfiguration mit Projektprofilen

  • Ein Profil steht für ein Deployment-Szenario
    • Development
    • Staging/Test
    • Production
  • Ein dbt-Projekt kann mehrere Profile haben
  • Definiert in profiles.yml
marketing_campaign_results:
  outputs:
    dev:
      type: duckdb
      path: dbt.duckdb
    prod:
      type: snowflake
      ...
  target: dev
Einführung in dbt

YAML

  • Yet Another Markup Language
  • Textdatei, aber Einrückungen zählen (wie in Python)
  • In vielen Entwicklungs-Setups zur Konfiguration genutzt
  • Regeln teils knifflig – Einträge wie in den Beispielen ausrichten
marketing_campaign_results:
  outputs:
    dev:
      type: duckdb
      path: dbt.duckdb
    prod:
      type: snowflake
      ...
  target: dev
Einführung in dbt

DuckDB

  • Open-Source, serverlose Datenbank
    • Ähnlich wie SQLite
  • Für Analytics gebaut
  • Vektorisiert (also schnell)
  • Einfache Nutzung

duckdb logo

Einführung in dbt

Lass uns üben!

Einführung in dbt

Preparing Video For Download...