In unserem erster Beitrag dieser Seriehaben wir uns mit der Erstellung unserer Staging-Schicht mithilfe von DataVault4dbt befasst, einem Open-Source-Paket, das für Data Vault 2.0 in dbt entwickelt wurde. In dieser Folge machen wir uns auf die Reise, um unsere ersten Standardentitäten im Raw Vault zu erstellen, darunter Hubs, Links und Satelliten.
Wie in unserem vorherigen Beitrag empfehlen wir, sich über die neuesten Änderungen und Anpassungen im DataVault4dbt-Paket auf dem Laufenden zu halten, indem Sie sich auf der Projektseite GitHub-Repository Wiki.
Bevor wir beginnen
Bevor wir beginnen, vergewissern Sie sich, dass Sie das DataVault4dbt-Paket in Ihrer packages.yml-Datei korrekt installiert haben und dass Sie den Befehl dbt deps.
Für diesen Lehrgang verwenden wir die TPCH Snowflake-Beispieldaten. Außerdem gehen wir davon aus, dass Sie Ihr Staging-Modell, das die Berechnung von Hashkeys und Hashdiffs umfasst, bereits eingerichtet haben. Hier ist ein Ausschnitt aus der Konfiguration unseres Staging-Modells, den wir später beim Erstellen der Raw Vault-Entitäten benötigen:
stg_bestellungen
A. Standard-Nabe
Hubs werden auf der Grundlage einer eindeutigen Liste von Geschäftsschlüsseln erstellt, wodurch ihre Konfiguration relativ einfach ist. In diesem Beispiel erstellen wir den Hub für Bestellungen:
auftrag_h
- Hashkey: der Name des Hashkeys im Staging-Modell
- business_keys: Name des Geschäftsschlüssels, der als Eingabe für den zuvor genannten Hashkey verwendet wird
- source_models: Name des Staging-Modells
B. Standard Link
Verknüpfungsmodelle stellen Verbindungen zwischen Geschäftsschlüsseln her. In unserem Fall werden wir eine Verbindung zwischen dem zuvor gebildeten Order Hub und dem Customer Hub herstellen:
Bestellung_Kunde_1
- link_hashkey: Hashkey des Links, generiert aus den Fremdschlüsseln der Hubs in der Staging-Schicht
- foreign_haskeys: eine Liste von fremden Hashkeys, die in unseren Link aufgenommen werden sollen
- source_models: Name des Staging-Modells
C. Standard-Satellit Version 0
Gemäß den Data Vault 2.0-Standards werden die Satelliten der Version 0 als inkrementelle Tabellen erstellt. In unserem Beispiel wird der Satellit mit dem zuvor erstellten Order Hub verbunden:
auftrag_0s
- parent_hashkey: Name des Hashkeys der übergeordneten Einheit, in unserem Fall der Order Hub
- src_hashdiff: hashdiff wurde bereits für das Staging-Modell berechnet
- src_payload: in der Hashdiff-Berechnung verwendete Originalspalten
- source_model: Name des Staging-Modells
D. Standard-Satellit Version 1
Außerdem ist der Satellit der Version 1 eine virtuell erzeugte Entität, die auf unserem Satelliten der Version 0 aufbaut. Abgesehen von der Materialisierungsart besteht der Hauptunterschied zum V0-Satelliten in der Einführung einer neuen Spalte zur Berechnung des Ladungsenddatums. Das Enddatum der Ladung wird für uns im weiteren Verlauf nützlich sein, wenn wir mit PIT-Tabellen im Business Vault arbeiten.
Auftrag_s
- sat_v0: Name des zugehörigen Satelliten der Version 0
- Hashkey: Hashkey-Name der übergeordneten Einheit, in unserem Fall der Auftrag Hub
- hashdiff: hashdiff wurde bereits für das Staging-Modell berechnet
- ledts_alias: Name der zu erzeugenden Spalte für das Lastende
- add_is_current_flag: wenn true, wird eine neue Spalte erzeugt, die die zuletzt geladenen Zeilen auf der Grundlage des Enddatums des Ladevorgangs kennzeichnet
Schlussbemerkungen
Auf dieser Reise durch die Erstellung von Raw Vault-Standardentitäten haben wir eine solide Grundlage für unsere Data Vault 2.0-Architektur geschaffen. Durch die Verwendung von DataVault4dbt innerhalb von dbt haben wir die Entwicklung von Hubs, Links und Satelliten vereinfacht. Diese grundlegenden Bausteine sind der Grundstein für eine robuste und skalierbare data warehousing-Lösung.
Im weiteren Verlauf dieser Serie werden wir fortgeschrittene Konzepte erforschen und uns in die Feinheiten der Data Vault-Modellierung vertiefen, um das volle Potenzial unserer Daten zu erschließen.
- Hernan Revale (Scalefree)
Updates und Support erhalten
Bitte senden Sie Anfragen und Funktionswünsche an [email protected].
Für Anfragen zu Data Vault-Schulungen und Schulungen vor Ort wenden Sie sich bitte an [email protected] oder registrieren Sie sich unter www.scalefree.com.
Um die Erstellung von Visual Data Vault-Zeichnungen in Microsoft Visio zu unterstützen, wurde eine Schablone implementiert, die zum Zeichnen von Data Vault-Modellen verwendet werden kann. Die Schablone ist erhältlich bei www.visualdatavault.com.