Die Datenmigration ist ein komplexer Prozess, der eine sorgfältige Planung und Ausführung erfordert. Es ist wichtig, die Datenlandschaft zu verstehen, minimale Ausfallzeiten zu gewährleisten, die Erwartungen der Beteiligten zu erfüllen und vor allem die Integrität und Sicherheit Ihrer Daten während des gesamten Übergangs zu gewährleisten. Werden diese Faktoren nicht beachtet, kann dies zu Datenverlust, Datenbeschädigung oder Nichteinhaltung gesetzlicher Vorschriften führen, was erhebliche Auswirkungen auf das Geschäft haben kann. Im schlimmsten Fall bemerken die Stakeholder Datenprobleme, bevor das Datenteam sie bemerkt, was das Vertrauen in die Daten und das Team schwächt. Ein weiteres potenzielles Problem besteht darin, dass wegen Datenproblemen, die zuvor nicht bemerkt wurden, Überstunden gemacht werden müssen.
Die in dbt (Data Build Tool) eingebetteten Funktionen und Tools wie Great Expectations bieten leistungsstarke Lösungen, die Unternehmen bei der Bewältigung dieser Risiken unterstützen und sicherstellen, dass die Daten während des Migrationsprozesses zuverlässig und konform bleiben.
In diesem Artikel:
Nutzung von dbt für Datengenauigkeit
Ein leistungsstarkes Werkzeug zur Datenumwandlung: dbt ermöglicht es Teams, Datenpipelines zu erstellen, zu testen und zu dokumentieren. Durch den Einsatz von Funktionen wie Tests und Verträgen gewährleistet dbt die Konsistenz und Genauigkeit der Daten. Im Folgenden werden wir diese Funktionen im Detail untersuchen.
dbt bietet zwei Möglichkeiten zur Definition Tests, singuläre und generische Datentests.
- Singuläre Datentests: Benutzerdefinierte SQL-Abfrage, die geschrieben wird, um eine bestimmte Bedingung oder Logik in den Daten zu testen. Sie ist stark auf einen bestimmten Anwendungsfall oder eine bestimmte Geschäftslogik zugeschnitten. Im Wesentlichen handelt es sich um einen eigenständigen Test, bei dem der Entwickler eine benutzerdefinierte SQL-Abfrage schreibt, um nach bestimmten Datenanomalien oder Inkonsistenzen zu suchen.
- Allgemeine Datentests: Vordefinierte und wiederverwendbare Tests, die auf mehrere Modelle oder Spalten in verschiedenen Datenbeständen angewendet werden können.
Beispiele für generische Tests:
- Einzigartige Tests: Sicherstellen, dass ein Feld in Ihrem Datensatz eindeutige Werte enthält, was für Primärschlüsselfelder entscheidend ist
- Nicht-Null-Tests: Überprüfen, dass ein Feld keine Nullwerte enthält
- Tests der referenziellen Integrität: Überprüft, ob Fremdschlüsselbeziehungen aufrechterhalten werden, um die Konsistenz zwischen verwandten Tabellen zu gewährleisten
- Akzeptierte Werte: Nützliche Tests für Spalten, die vorhersehbare Daten erhalten
Die Tests können so konfiguriert werden, dass: entweder scheitern (Schweregrad: Fehler) oder geben Sie eine Warnung (Schweregrad: Warnung). Bedingte Ausdrücke wie error_if und warn_if können dieses Verhalten verfeinern, z. B. indem sie eine Warnung erst nach einer bestimmten Anzahl von Fehlern auslösen.
dbt Vertragsdurchsetzung
- Erzwingt, dass dbt-Modellschemata vordefinierte Datenstrukturen einhalten
- Definiert bestimmte Spalten, Datentypen und Beschränkungen (z. B. nicht null, eindeutig)
- löst Fehler aus, bevor das Modell als Tabelle materialisiert wird, was die Identifizierung von Schemaproblemen ermöglicht
Pro-Tipp für Datenmigrationen: verwenden. inkrementell Modelle, um nur neue oder geänderte Datensätze zu aktualisieren, was die Effizienz verbessert und einen vollständigen Neuaufbau der Tabelle vermeidet. Bei der Durchsetzung eines Vertrags ist die Option "append_new_columns" nützlich, da sie alte Spalten beibehält und so Probleme minimiert. Die Einstellung "sync_all_columns" ist besonders praktisch für die automatische Anpassung des Schemas durch das Hinzufügen neuer Spalten und das Entfernen fehlender Spalten und damit ideal für Migrationen mit häufigen Umbenennungen.
dbt-expectations vs. Große Erwartung
dbt-erwartungen integriert die Datenqualitätstests in dbt, während Große Erwartungen bietet einen breiteren Rahmen für die Verwaltung der Datenvalidierung über verschiedene Quellen hinweg. Zusammen verbessern sie die Genauigkeit und Zuverlässigkeit der Daten.
dbt-erwartungen
Das Paket dbt-expectations erweitert die Testfunktionen von dbt um eine Sammlung vorgefertigter, anpassbarer Datenqualitätstests, die von Great Expectations inspiriert sind. Dieses Paket hilft bei der Automatisierung und Standardisierung von Datenqualitätsprüfungen über mehrere Modelle hinweg und stellt sicher, dass Datensätze bestimmte Erwartungen erfüllen, bevor sie in nachgelagerten Prozessen verwendet werden.
Hier sind einige Beispiele für Datenqualitätstests, die Sie mit dem dbt-expectations-Repository durchführen können (wir werden im Webinar noch mehr behandeln):
- Spalte_Werte_erwarten_match_regex: Überprüft, ob alle Werte in einer Spalte mit einem bestimmten Muster eines regulären Ausdrucks übereinstimmen
- Erwartung_des_Spaltenmittelwerts_zu_viert, expect_column_min_to_be_between, expect_column_max_to_be_between: Stellt sicher, dass numerische Spaltenwerte innerhalb bestimmter Bereiche liegen
- Expect_column_pair_values_a_to_be_greater_than_b: Prüft, ob Werte in einer Spalte größer sind als Werte in einer anderen
Warum sollte man die Integration von Great Expectations in Betracht ziehen?
Mit dbt-erwartungen robuste Tests innerhalb eines einzigen dbt-Projekts zu ermöglichen, fragen Sie sich vielleicht, warum Sie die Große Erwartungen. Hier ist der Grund dafür:
- Datenbankübergreifende Vergleichedbt-expectations: dbt-expectations funktioniert gut innerhalb einer einzigen SQL-basierten data warehouse. Wenn Sie jedoch Daten zwischen verschiedenen Datenbanken (wie Snowflake und SQL Server) vergleichen müssen, bietet Great Expectations eine umfassendere Lösung.
- Breitere Datenvalidierung: Great Expectations unterstützt mehrere Datenquellen, darunter CSV, Parquet, JSON, APIs und verschiedene SQL-Datenbanken. Es bietet eine flexible und benutzerfreundliche Plattform zum Definieren, Verwalten und Ausführen von Datenqualitätstests für verschiedene Quellen.
Hauptmerkmale von Great Expectations:
- Datenprofilierung: Bevor Sie mit der Migration beginnen, sollten Sie mit GE ein Profil Ihrer Daten erstellen und die Erwartungen auf der Grundlage des aktuellen Zustands festlegen.
- Detaillierte Validierungsberichte und Dashboards: GE bietet umfassende Berichte und Visualisierungen und gibt die Ergebnisse in Formaten wie HTML, Slack, JSON und Data Docs aus. Dies erhöht die Transparenz und bietet tiefere Einblicke für technische und nichttechnische Stakeholder.
- Anpassbarkeit und Erweiterbarkeit: Mit GE können Sie benutzerdefinierte Erwartungen definieren, die auf Ihre Datenpipeline zugeschnitten sind, und sie mit anderen Testbibliotheken integrieren.
- Versionskontrolle und historische Validierung: Verfolgen Sie Änderungen der Datenqualität im Laufe der Zeit mit der Versionskontrolle, um Trends und wiederkehrende Probleme zu erkennen.
- Überwachung und Integration der Produktion: Integrieren Sie GE mit Datenorchestrierungstools wie Airflow, Prefect oder Dagster, um Datenqualitätsprüfungen in Ihre breiteren Arbeitsabläufe einzubinden, auch in solche, die nicht von dbt verwaltet werden.
Integration von Great Expectations mit dbt
Große Erwartungen Ergänzungen dbt durch die Bereitstellung einer flexiblen Plattform für die Datenvalidierung über Einzelprojektszenarien hinaus. Durch die Integration von GE mit dbt können Sie einen umfassenderen Ansatz für die Datenqualität erreichen und sicherstellen, dass Ihr Migrationsprozess so reibungslos und zuverlässig wie möglich verläuft.
Im nächsten Webinar werden wir uns mit praktischen Beispielen von dbt-Tests, dbt-expectations und Great Expectations-Validierungen befassen, also bleiben Sie dran!
- Isabel Mateus (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.
Zur Unterstützung bei der Erstellung von Visual Data Vault-Zeichnungen in Microsoft Visio wurde eine Schablone entwickelt, mit der Data Vault-Modelle gezeichnet werden können. Die Schablone ist erhältlich bei www.visualdatavault.com.