GenRawVault: wie man aus einer Steuerdatei ein ganzes DWH generieren kann

In meinem letzten Beitrag Willibald-Data: Übernahme der Kunden ins Data Warehouse habe ich am Beispiel der Schnittstelle für Kundendaten aus der Willibald Challenge beschrieben, wie diese mit Hilfe von dbt und dem dbt-Plugin AutomateDV in den Raw Vault des Data Warehouse übernommen werden können. Und schon in meinem Beitrag Die Kraft der Abstraktion habe ich an einem kleinen Beispiel gezeigt, wie man sich eine noch kompaktere Darstellung vorstellen kann, die alle benötigten Definitionen für das DWH enthält.

In diesem Beitrag zeige ich die gesamte Steuerdatei RawVault.xml, in der ich alle Definitionen für den Raw Vault des DWH der Willibald Challenge in insgesamt nur 917 Zeilen beschreibe.

Im Abschnitt <system> werden Parameter zur Steuerung des Systems gesammelt.

Im Abschnitt <file_imports> werden die Schnittstellen beschrieben, mit denen die Daten aus den operativen Systemen gelesen und in Tabellen in ein Source-Schema der DWH-Datenbank geschrieben werden.

Im Abschnitt <db_sources> werden die Datenquellen beschrieben, die im dbt-Modell als Sourcen verwendet werden.

Im Abschnitt <stages> werden alle Informationen zu den Stage-Tabellen des DWH gesammelt. Mit Hilfe dieser Informationen werden die Tabellen der Persistant Staging Area (PSA), der RawStage und der Stage definiert.

Im Abschnitt <dv_tables> werden die Objekte des RawVault beschrieben: die Hubs, Links, Satellites und die “Last Seen”-Tabellen. Die hier gesammelten Informationen werden auch zur Definition von Views auf die Links und Satellites verwendet.

Die vollständige RawVault.xml sieht so aus: RawVault.xml.

Aus dieser Steuerdatei werden mit xslt-Transformationen die Skripte erzeugt, die für den RawVault des DWH benötigt werden:

  • 11 Skripte für die PSA
  • 12 Skripte für die Raw Stage
  • 12 Skripte für die Stage
  • 13 Skripte für Hubs
  • 9 Skripte für Links
  • 37 Skripte für “Last Seen”-Tabellen
  • 18 Skripte für Satellites
  • 9 Skripte für Views auf Links
  • 36 Skripte für Views auf Satellites und
  • 9 yml-Skripte zur Beschreibung der Sourcen und Tabellen des dbt-Modells

Alle diese Skripte sind in der automatisch generierten dbt-Dokumentation enthalten: https://willibald.oberle-it-beratung.de

Darüberhinaus werden noch 24 Skripte zum Übernehmen der 12 Schnittstellen aus den csv-Dateien in die Source-Schemata erzeugt, sowie 12 Skripte zum Erstellen der csv-Dateien aus dem operativen System von Willibald.

Einen Überblick über das Konzept dieses DWH-Systems finden sie hier: Ein DWH mit git, Linux, Docker, PostgreSQL, dbt und AutomateDV.

Fazit: Es ist möglich, die gesamte Definition für die Übernahme der Schnittstellen aus einem operativen System in den RawVault eines DWH in einer Steuerdatei zusammenzufassen und daraus alle benötigten Skripte für die Transformation der Daten aus dem operativen System in das DWH zu generieren. Dieser Ansatz erlaubt es, auch spät im Entwicklungsprozess noch Änderungen vorzunehmen, die sonst, wegen des großen Anpassungsaufwands in vorhandenen Skripten nur schwer durchzuführen wären.

So, wenn Sie jetzt Fragen zu dieser Lösung haben, dann sagen Sie mir bitte Bescheid. Bis dahin werde ich mich vorerst wieder mit Sand, Strand und Urlaub beschäftigen.


Beitrag veröffentlicht

in

, ,

von

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert