Skapa ett dbt-projekt

Introduktion till dbt

Mike Metzger

Data Engineer

Vad är ett dbt-projekt

  • Omfattar komponenter för att arbeta med data i dbt

    • Projektkonfiguration
    • Datakällor och destinationer
    • SQL-frågor
    • Mallar
    • Dokumentation
  • Implementeras som en mappstruktur

dbt-mappstruktur

Introduktion till dbt

Hur man skapar ett nytt projekt

  • Använd kommandot dbt init
    • Frågar efter projektets namn
    • Frågar vilken databas / datalagerttyp
  • Kan kombineras med dbt init <projectname>
  • Skapar projektmappen på toppnivå och all nödvändig 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
...
Introduktion till dbt

Definiera konfiguration med projektprofiler

  • En profil representerar ett visst driftsättningsscenario
    • Utveckling
    • Staging / Test
    • Produktion
  • Ett dbt-projekt kan ha flera profiler
  • Definieras i filen profiles.yml
marketing_campaign_results:
  outputs:
    dev:
      type: duckdb
      path: dbt.duckdb
    prod:
      type: snowflake
      ...
  target: dev
Introduktion till dbt

YAML

  • Yet Another Markup Language
  • Textfil där indragning spelar roll (som i Python)
  • Används i många utvecklingsscenarier för konfiguration
  • Reglerna kan vara knepiga – håll främst poster i linje som i exemplen
marketing_campaign_results:
  outputs:
    dev:
      type: duckdb
      path: dbt.duckdb
    prod:
      type: snowflake
      ...
  target: dev
Introduktion till dbt

DuckDB

  • Serverlös databas med öppen källkod
    • Liknar sqlite
  • Utformad för analys
  • Vektoriserad (det vill säga SNABB)
  • Enkel att använda

duckdb-logotyp

Introduktion till dbt

Nu kör vi en övning!

Introduktion till dbt

Preparing Video For Download...