data build tool (dbt) für Anfänger und Fortgeschrittene

Das Data build tool (dbt) ist das nicht mehr ganz so neue Tool für SQL-basiertes Data-Engineering und Data-Analytics. Das dbt-core-Repo zeigt den ersten Release in 2016, und v1.0 folgte in 12/2021. Stand 05/2023 wird es aktiv entwickelt und hat 6.900 Sterne auf Github. Gleichzeitig sehe ich jedoch noch eine zögerliche Adaption dieses wichtigen, wenn nicht sogar des wichtigsten Vertreters des Paradigmenwechsels von ETL zu ELT.

Ich gebe zu: dbt hat eine steile Lernkurve.

Aber wer viel SQL spricht, kann mit dbt die Produktivität um das Zehnfache steigern.Versprochen!

Ziel dieses Workshops ist es, diese steile Lernkurve deutlich abzuflachen und somit die Adaption von dbt zu beschleunigen.

Vorkenntnisse

  • Vorkenntnisse in SQL und Git sind notwendig
  • Vorkenntnisse in Python und erste Kontakte mit dbt sind von Vorteil

Lernziele

Für Anfänger:

  • dbt für parametrisierte SQL-Ausführung
  • Nutzung der out-of-the-box Data Lineage
  • Verstehen von dbt models (und sources)
  • Tipps und Tricks für Datentests
  • Staging- und Prod-Umgebungen mit dbt

Für Fortgeschrittene (evtl. nur als Ausblick):
  • dbt incremental models
  • dbt-Makros für Dataset-Naming
  • dbt-Automatisierung mit Workflows
  • Tooling für Quality Assurance (SQLFluff, pre-commit)
  • Erfahrungen aus einem Migrationsprojekt

Agenda

  • 8:00 Uhr: Registrierung und Begrüßungskaffee
  • 9:00 Uhr
    • Kurze Einführung dbt
    • Einrichten + Datenbankverbindung
    • DBT Sources & Modelle
  • 10:45 Uhr: Pause
  • 11:00 Uhr
    • Dokmentation & Lineage
    • Plugins
    • Testen
  • 12:30 Uhr: Mittagspause
  • 13:30 Uhr
    • Makros
    • Incremental Models
    • Staging, Production, CI/CD
  • 14:30 Uhr: Pause
  • 14:45 Uhr
    • Linting, Formatter
    • Deployment, Automatisierung
  • ~ 16:00 Uhr Ende

 

Technische Anforderungen

  • Laptop mit
    • dbt für BigQuery (dbt-bigquery), installiert per Python Pip (bevorzugt) oder Docker (https://docs.getdbt.com/docs/core/installation)
    • Python + die Möglichkeit Packages zu installieren und zu verwalten (poetry, pip+virtualenv, pyenv oder andere).
    • Im Workshop verwendete Python Packages: dbt-bigquery, sqlfluff, pre-commit, elementary-data, Ruff
    • Wer mag, kann auch VS Code DevContainer verwenden
  • IDE der Wahl (wir selber haben PyCharm und VSCode im Einsatz und können diese unterstützen)
  • Git & unbeschränkten Zugriff auf's Internet. Wir werden ein Git-Repository für die Übungen bereitstellen.
Wenn möglich, bitte einen Laptop mit weitgehenden Adminrechten, ohne Corporate Firewall/Proxy. Aus Erfahrung führt dies immer wieder zu langwierigen/in der Kürze der Zeit unlösbaren Problemen. Lieber den eigenen Laptop mitbringen.

Speaker

 

Niklas Haas
Niklas Haas nutzt als Machine Learning Engineer und Google Cloud Architect Cloud-Technologien und Machine Learning, um die Verarbeitung großer Datenmengen zu automatisieren und zu skalieren, Dateneinblicke zu generieren, Anomalien zu erkennen und Vorhersagen zu treffen. Seine Arbeit ist nicht mit dem Proof of Concept abgeschlossen, stattdessen möchte er das Datenprodukt in Produktion sehen.

Matthias Niehoff
Matthias Niehoff ist als Data Architect sowie Head of Data & AI für codecentric unterwegs und unterstützt Kunden bei Design und Umsetzung von Datenarchitekturen. Dabei liegt sein Fokus weniger auf dem Modell, sondern viel mehr auf der notwendigen Infrastruktur und Organisation, um Daten- und KI-Projekten zum Erfolg zu verhelfen.

data2day-Newsletter

Ihr möchtet über die data2day
auf dem Laufenden gehalten werden?

 

Anmelden