Das Seminar richtet sich an Teams, die dbt Core nicht nur verwenden, sondern gezielt erweitern. Der interne Ablauf von Parse, Compile und Execute wird bis zu Relation Cache, Transaktionen und Adaptermethoden nachvollzogen und in einer eigenen Erweiterung praktisch umgesetzt.
Inhaltsverzeichnis
- Lernziele und fachliche Einordnung
- Schrittweise Seminarinhalte
- Praxisübungen und Laborszenarien
- Zielgruppe und Voraussetzungen
- Didaktik und Arbeitsweise
Lernziele
- Compiler-, Makro-, Materialisierungs- und Adapterkomponenten technisch einordnen.
- Eine eigene Materialisierung mit sicherem Relationstausch und Cleanup implementieren.
- Eine benutzerdefinierte inkrementelle Strategie entwickeln und idempotent testen.
- Ein Adapter-Plugin mit Credentials, Connection Manager, Relationen und Katalogabfragen aufbauen.
- Kompatibilität, Packaging, Versionierung, CI und Supportgrenzen professionell organisieren.
Schrittweise Seminarinhalte
1. Compiler-, Adapter- und Materialisierungsarchitektur
Schwerpunkt: Parse, Compile, Execute, Jinja-Kontext, Adapterobjekt, Relation Cache, Transaktionen, Hooks und Datenbankanweisungen.
- Ausgangslage, Zielzustand und fachliche Grenzen für den Themenblock „Compiler-, Adapter- und Materialisierungsarchitektur“ anhand des Laborprojekts erfassen.
- Relevante Dateien, Ressourcen, Rollen und Abhängigkeiten zu Parse, Compile, Execute, Jinja-Kontext, Adapterobjekt, Relation Cache, Transaktionen, Hooks und Datenbankanweisungen identifizieren und in einer Arbeitscheckliste festhalten.
- Die erforderliche Konfiguration, den Code oder den Betriebsprozess schrittweise umsetzen und alle erzeugten Zwischenstände nachvollziehbar prüfen.
- Funktion, Sicherheit, Wiederholbarkeit, Datenwirkung und Fehlerverhalten mit definierten Positiv-, Negativ- und Wiederanlauffällen bewerten.
- Als Arbeitsergebnis ein technisches Ablaufmodell vom Projektcode bis zur physischen Relation dokumentieren, fachlich abnehmen und in einen wiederverwendbaren Projekt- oder Betriebsstandard überführen.
2. dbt-Kontextfunktionen und Laufzeitinformationen
Schwerpunkt: ref, source, var, env_var, target, this, execute, flags, graph, run_query und adapterbezogene Kontexte.
- Ausgangslage, Zielzustand und fachliche Grenzen für den Themenblock „dbt-Kontextfunktionen und Laufzeitinformationen“ anhand des Laborprojekts erfassen.
- Relevante Dateien, Ressourcen, Rollen und Abhängigkeiten zu ref, source, var, env_var, target, this, execute, flags, graph, run_query und adapterbezogene Kontexte identifizieren und in einer Arbeitscheckliste festhalten.
- Die erforderliche Konfiguration, den Code oder den Betriebsprozess schrittweise umsetzen und alle erzeugten Zwischenstände nachvollziehbar prüfen.
- Funktion, Sicherheit, Wiederholbarkeit, Datenwirkung und Fehlerverhalten mit definierten Positiv-, Negativ- und Wiederanlauffällen bewerten.
- Als Arbeitsergebnis einen sicheren Einsatz von Kontextwerten ohne unerwartete Parse- oder Laufzeiteffekte dokumentieren, fachlich abnehmen und in einen wiederverwendbaren Projekt- oder Betriebsstandard überführen.
3. Adapter Dispatch und datenbankübergreifende Logik
Schwerpunkt: dispatch-Suche, default- und adapterspezifische Implementierungen, Typabbildung, Datumsfunktionen und Portabilität.
- Ausgangslage, Zielzustand und fachliche Grenzen für den Themenblock „Adapter Dispatch und datenbankübergreifende Logik“ anhand des Laborprojekts erfassen.
- Relevante Dateien, Ressourcen, Rollen und Abhängigkeiten zu dispatch-Suche, default- und adapterspezifische Implementierungen, Typabbildung, Datumsfunktionen und Portabilität identifizieren und in einer Arbeitscheckliste festhalten.
- Die erforderliche Konfiguration, den Code oder den Betriebsprozess schrittweise umsetzen und alle erzeugten Zwischenstände nachvollziehbar prüfen.
- Funktion, Sicherheit, Wiederholbarkeit, Datenwirkung und Fehlerverhalten mit definierten Positiv-, Negativ- und Wiederanlauffällen bewerten.
- Als Arbeitsergebnis eine portable Makroschnittstelle mit kontrollierten Adaptervarianten dokumentieren, fachlich abnehmen und in einen wiederverwendbaren Projekt- oder Betriebsstandard überführen.
4. Lebenszyklus einer eigenen Materialisierung
Schwerpunkt: Materialization Block, bestehende Relation, temporäre Relation, Backup, Rename, Drop, Commit, Grants, Docs und Cleanup.
- Ausgangslage, Zielzustand und fachliche Grenzen für den Themenblock „Lebenszyklus einer eigenen Materialisierung“ anhand des Laborprojekts erfassen.
- Relevante Dateien, Ressourcen, Rollen und Abhängigkeiten zu Materialization Block, bestehende Relation, temporäre Relation, Backup, Rename, Drop, Commit, Grants, Docs und Cleanup identifizieren und in einer Arbeitscheckliste festhalten.
- Die erforderliche Konfiguration, den Code oder den Betriebsprozess schrittweise umsetzen und alle erzeugten Zwischenstände nachvollziehbar prüfen.
- Funktion, Sicherheit, Wiederholbarkeit, Datenwirkung und Fehlerverhalten mit definierten Positiv-, Negativ- und Wiederanlauffällen bewerten.
- Als Arbeitsergebnis eine robuste eigene Materialisierung mit sicherem Austauschverfahren dokumentieren, fachlich abnehmen und in einen wiederverwendbaren Projekt- oder Betriebsstandard überführen.
5. Eigene inkrementelle Strategie
Schwerpunkt: get_incremental_STRATEGY_sql, arg_dict, Ziel- und Temp-Relation, unique_key, Prädikate, Adaptergrenzen und Wiederholbarkeit.
- Ausgangslage, Zielzustand und fachliche Grenzen für den Themenblock „Eigene inkrementelle Strategie“ anhand des Laborprojekts erfassen.
- Relevante Dateien, Ressourcen, Rollen und Abhängigkeiten zu get_incremental_STRATEGY_sql, arg_dict, Ziel- und Temp-Relation, unique_key, Prädikate, Adaptergrenzen und Wiederholbarkeit identifizieren und in einer Arbeitscheckliste festhalten.
- Die erforderliche Konfiguration, den Code oder den Betriebsprozess schrittweise umsetzen und alle erzeugten Zwischenstände nachvollziehbar prüfen.
- Funktion, Sicherheit, Wiederholbarkeit, Datenwirkung und Fehlerverhalten mit definierten Positiv-, Negativ- und Wiederanlauffällen bewerten.
- Als Arbeitsergebnis eine getestete eigene Strategie für einen klar abgegrenzten Ladefall dokumentieren, fachlich abnehmen und in einen wiederverwendbaren Projekt- oder Betriebsstandard überführen.
6. Struktur eines dbt-Adapters
Schwerpunkt: Python-Package, Entry Points, Credentials, Connection Manager, Adapterklasse, Relation, Column, Include-Projekt und Makros.
- Ausgangslage, Zielzustand und fachliche Grenzen für den Themenblock „Struktur eines dbt-Adapters“ anhand des Laborprojekts erfassen.
- Relevante Dateien, Ressourcen, Rollen und Abhängigkeiten zu Python-Package, Entry Points, Credentials, Connection Manager, Adapterklasse, Relation, Column, Include-Projekt und Makros identifizieren und in einer Arbeitscheckliste festhalten.
- Die erforderliche Konfiguration, den Code oder den Betriebsprozess schrittweise umsetzen und alle erzeugten Zwischenstände nachvollziehbar prüfen.
- Funktion, Sicherheit, Wiederholbarkeit, Datenwirkung und Fehlerverhalten mit definierten Positiv-, Negativ- und Wiederanlauffällen bewerten.
- Als Arbeitsergebnis ein lauffähiges Adaptergerüst mit sauber getrennten Verantwortlichkeiten dokumentieren, fachlich abnehmen und in einen wiederverwendbaren Projekt- oder Betriebsstandard überführen.
7. Credentials und Connection Manager implementieren
Schwerpunkt: Profilfelder, Validierung, Authentisierung, Verbindungsöffnung, Abbruch, Retry, Transaktionen, Exception Mapping und Thread-Sicherheit.
- Ausgangslage, Zielzustand und fachliche Grenzen für den Themenblock „Credentials und Connection Manager implementieren“ anhand des Laborprojekts erfassen.
- Relevante Dateien, Ressourcen, Rollen und Abhängigkeiten zu Profilfelder, Validierung, Authentisierung, Verbindungsöffnung, Abbruch, Retry, Transaktionen, Exception Mapping und Thread-Sicherheit identifizieren und in einer Arbeitscheckliste festhalten.
- Die erforderliche Konfiguration, den Code oder den Betriebsprozess schrittweise umsetzen und alle erzeugten Zwischenstände nachvollziehbar prüfen.
- Funktion, Sicherheit, Wiederholbarkeit, Datenwirkung und Fehlerverhalten mit definierten Positiv-, Negativ- und Wiederanlauffällen bewerten.
- Als Arbeitsergebnis eine testbare Verbindungs- und Fehlerbehandlung für den Zieladapter dokumentieren, fachlich abnehmen und in einen wiederverwendbaren Projekt- oder Betriebsstandard überführen.
8. Relationen, Spalten und Datenbankoperationen
Schwerpunkt: Quoting, Datenbank-, Schema- und Identifier-Komponenten, create_schema, drop_relation, rename_relation, Typabbildung und Caching.
- Ausgangslage, Zielzustand und fachliche Grenzen für den Themenblock „Relationen, Spalten und Datenbankoperationen“ anhand des Laborprojekts erfassen.
- Relevante Dateien, Ressourcen, Rollen und Abhängigkeiten zu Quoting, Datenbank-, Schema- und Identifier-Komponenten, create_schema, drop_relation, rename_relation, Typabbildung und Caching identifizieren und in einer Arbeitscheckliste festhalten.
- Die erforderliche Konfiguration, den Code oder den Betriebsprozess schrittweise umsetzen und alle erzeugten Zwischenstände nachvollziehbar prüfen.
- Funktion, Sicherheit, Wiederholbarkeit, Datenwirkung und Fehlerverhalten mit definierten Positiv-, Negativ- und Wiederanlauffällen bewerten.
- Als Arbeitsergebnis eine konsistente Objekt- und Namenslogik für den Adapter dokumentieren, fachlich abnehmen und in einen wiederverwendbaren Projekt- oder Betriebsstandard überführen.
9. Katalog, Introspection und Dokumentationsabfragen
Schwerpunkt: get_catalog, list_relations, get_columns, Metadatenberechtigungen, Performance, Filter und catalog.json.
- Ausgangslage, Zielzustand und fachliche Grenzen für den Themenblock „Katalog, Introspection und Dokumentationsabfragen“ anhand des Laborprojekts erfassen.
- Relevante Dateien, Ressourcen, Rollen und Abhängigkeiten zu get_catalog, list_relations, get_columns, Metadatenberechtigungen, Performance, Filter und catalog.json identifizieren und in einer Arbeitscheckliste festhalten.
- Die erforderliche Konfiguration, den Code oder den Betriebsprozess schrittweise umsetzen und alle erzeugten Zwischenstände nachvollziehbar prüfen.
- Funktion, Sicherheit, Wiederholbarkeit, Datenwirkung und Fehlerverhalten mit definierten Positiv-, Negativ- und Wiederanlauffällen bewerten.
- Als Arbeitsergebnis eine funktionsfähige Metadatenerfassung für dbt Docs und Artefakte dokumentieren, fachlich abnehmen und in einen wiederverwendbaren Projekt- oder Betriebsstandard überführen.
10. Adaptertests, Fixtures und Kompatibilität
Schwerpunkt: funktionale Basistests, Materialisierungen, Seeds, Snapshots, Tests, Contracts, Python- oder UDF-Fähigkeiten und CI-Matrix.
- Ausgangslage, Zielzustand und fachliche Grenzen für den Themenblock „Adaptertests, Fixtures und Kompatibilität“ anhand des Laborprojekts erfassen.
- Relevante Dateien, Ressourcen, Rollen und Abhängigkeiten zu funktionale Basistests, Materialisierungen, Seeds, Snapshots, Tests, Contracts, Python- oder UDF-Fähigkeiten und CI-Matrix identifizieren und in einer Arbeitscheckliste festhalten.
- Die erforderliche Konfiguration, den Code oder den Betriebsprozess schrittweise umsetzen und alle erzeugten Zwischenstände nachvollziehbar prüfen.
- Funktion, Sicherheit, Wiederholbarkeit, Datenwirkung und Fehlerverhalten mit definierten Positiv-, Negativ- und Wiederanlauffällen bewerten.
- Als Arbeitsergebnis einen automatisierten Kompatibilitätsnachweis für zentrale dbt-Funktionen dokumentieren, fachlich abnehmen und in einen wiederverwendbaren Projekt- oder Betriebsstandard überführen.
11. Paketdesign, Tests und Veröffentlichung
Schwerpunkt: öffentliche Makros, Konfigurationsoberfläche, Dokumentation, Integrationsprojekt, semantische Versionierung, Changelog und Rückwärtskompatibilität.
- Ausgangslage, Zielzustand und fachliche Grenzen für den Themenblock „Paketdesign, Tests und Veröffentlichung“ anhand des Laborprojekts erfassen.
- Relevante Dateien, Ressourcen, Rollen und Abhängigkeiten zu öffentliche Makros, Konfigurationsoberfläche, Dokumentation, Integrationsprojekt, semantische Versionierung, Changelog und Rückwärtskompatibilität identifizieren und in einer Arbeitscheckliste festhalten.
- Die erforderliche Konfiguration, den Code oder den Betriebsprozess schrittweise umsetzen und alle erzeugten Zwischenstände nachvollziehbar prüfen.
- Funktion, Sicherheit, Wiederholbarkeit, Datenwirkung und Fehlerverhalten mit definierten Positiv-, Negativ- und Wiederanlauffällen bewerten.
- Als Arbeitsergebnis ein releasefähiges internes dbt-Package mit klarer Unterstützungsgrenze dokumentieren, fachlich abnehmen und in einen wiederverwendbaren Projekt- oder Betriebsstandard überführen.
12. Packaging, Versionierung und Release des Adapters
Schwerpunkt: Python-Build, Abhängigkeiten, Versionsschema, Changelog, Dokumentation, Freigabekanal, Signierung, Rückwärtskompatibilität und Support.
- Ausgangslage, Zielzustand und fachliche Grenzen für den Themenblock „Packaging, Versionierung und Release des Adapters“ anhand des Laborprojekts erfassen.
- Relevante Dateien, Ressourcen, Rollen und Abhängigkeiten zu Python-Build, Abhängigkeiten, Versionsschema, Changelog, Dokumentation, Freigabekanal, Signierung, Rückwärtskompatibilität und Support identifizieren und in einer Arbeitscheckliste festhalten.
- Die erforderliche Konfiguration, den Code oder den Betriebsprozess schrittweise umsetzen und alle erzeugten Zwischenstände nachvollziehbar prüfen.
- Funktion, Sicherheit, Wiederholbarkeit, Datenwirkung und Fehlerverhalten mit definierten Positiv-, Negativ- und Wiederanlauffällen bewerten.
- Als Arbeitsergebnis einen releasefähigen Adapter mit nachvollziehbarem Wartungsmodell dokumentieren, fachlich abnehmen und in einen wiederverwendbaren Projekt- oder Betriebsstandard überführen.
13. Fortgeschrittenes Debugging von Makros und Adaptern
Schwerpunkt: Log Events, print und log, compiled SQL, Python-Tracebacks, Adapter Exceptions, Relation Cache, Transaktionen und reproduzierbare Minimalfälle.
- Ausgangslage, Zielzustand und fachliche Grenzen für den Themenblock „Fortgeschrittenes Debugging von Makros und Adaptern“ anhand des Laborprojekts erfassen.
- Relevante Dateien, Ressourcen, Rollen und Abhängigkeiten zu Log Events, print und log, compiled SQL, Python-Tracebacks, Adapter Exceptions, Relation Cache, Transaktionen und reproduzierbare Minimalfälle identifizieren und in einer Arbeitscheckliste festhalten.
- Die erforderliche Konfiguration, den Code oder den Betriebsprozess schrittweise umsetzen und alle erzeugten Zwischenstände nachvollziehbar prüfen.
- Funktion, Sicherheit, Wiederholbarkeit, Datenwirkung und Fehlerverhalten mit definierten Positiv-, Negativ- und Wiederanlauffällen bewerten.
- Als Arbeitsergebnis einen systematischen Diagnoseleitfaden für Framework-Erweiterungen dokumentieren, fachlich abnehmen und in einen wiederverwendbaren Projekt- oder Betriebsstandard überführen.
Praxisübungen und Laborszenarien
- Implementierung einer eigenen Materialisierung mit temporärer Relation, Backup und Rollback.
- Entwicklung einer inkrementellen Strategie für einen abgegrenzten Plattformfall.
- Aufbau eines Adaptergerüsts mit Profilvalidierung, Connection Manager und Relation-Klasse.
- Erstellung einer automatisierten Testmatrix und eines releasefähigen Python-Pakets.
Zielgruppe und Voraussetzungen
Zielgruppe: Senior Data Engineers, Framework Engineers, Python-Entwicklung, Datenplattformhersteller und technische Architekten.
Voraussetzungen: Sehr gute dbt-Core-, SQL-, Jinja- und Python-Kenntnisse; Erfahrung mit Treibern, Datenbank-Metadaten und automatisierten Tests.
Didaktik und Arbeitsweise
Kurze Fachimpulse werden unmittelbar durch Demonstrationen, geführte Konfigurationsschritte, Code-Reviews und kontrollierte Fehlerfälle vertieft. Jede Übung arbeitet mit einem versionierten Laborprojekt, definierten Prüfpunkten und einer nachvollziehbaren Dokumentation.
Fachbereichsleitung und Trainerteam
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 4 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 2.396 zzgl. MwSt. Inhaus: € 6.800 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Senior Data Engineers, Framework Engineers, Python-Entwicklung, Datenplattformhersteller und technische Architekten |
| Voraussetzungen: | Sehr gute dbt-Core-, SQL-, Jinja- und Python-Kenntnisse; Erfahrung mit Treibern, Datenbank-Metadaten und automatisierten Tests |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhouse, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
