Erstellen eines dbt-Projekts

Einführung in dbt

Mike Metzger

Data Engineer

Was ist ein dbt-Projekt?

  • Beinhaltet Komponenten für die Arbeit mit Daten in dbt

    • Projektkonfiguration
    • Datenquellen & Ziele
    • SQL-Abfragen
    • Vorlagen
    • Dokumentation
  • Als Ordnerstruktur umgesetzt

dbt-Ordnerstruktur

Einführung in dbt

Ein neues Projekt erstellen

  • dbt init-Befehl
    • Verlangt den Namen des Projekts
    • Verlangt, welche Datenbank-/Data-Warehouse-Typ verwendet werden soll
  • Kürzer mit dbt init <projectname>
  • Erstellt den Projektordner und die benötigte 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 mittels Projektprofilen

  • Ein Profil steht für ein bestimmtes Bereitstellungsszenario
    • Entwicklung
    • Staging / Test
    • Produktion
  • 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 sind wichtig (wie bei Python)
  • In vielen Entwicklungsszenarien für die Konfiguration verwendet
  • Regeln teils knifflig – Einträge an den Beispielen orientieren
marketing_campaign_results:
  outputs:
    dev:
      type: duckdb
      path: dbt.duckdb
    prod:
      type: snowflake
      ...
  target: dev
Einführung in dbt

DuckDB

  • Open-Source-Serverless-Datenbank
    • Ähnlich wie sqlite
  • Für Analysen konzipiert
  • Vektorisiert (also SCHNELL)

duckdb logo

Einführung in dbt

Lass uns üben!

Einführung in dbt

Preparing Video For Download...