Erwarten Sie großartige Daten mit dem Great Expectations Framework.

Daniel Milosz
Daniel Milosz
May 6, 2025
8 min read
Loading the Elevenlabs Text to Speech AudioNative Player...

In der heutigen datengetriebenen Welt wächst die Menge an Daten, die produziert und konsumiert werden, rasant. Viele Unternehmen haben jedoch aufgrund von Problemen mit der Datenqualität Schwierigkeiten, ihre Daten vollständig zu nutzen. An dieser Stelle kommt das Great Expectations (GX) -Framework ins Spiel. Es ist ein Tool, mit dem Unternehmen ihre Daten analysieren und deren Qualität überwachen können, sodass sie auf der Grundlage zuverlässiger Informationen bessere Entscheidungen treffen können. Dies dient jedoch nicht nur der Datenanalyse, sondern kann Ihnen auch beim Datenmanagement helfen, da es zur Durchsetzung, Verfolgung und Dokumentation der Datenqualitätsregeln verwendet werden kann. Der GX kann auch in der Datenwissenschaft äußerst nützlich sein, wenn Sie einem Optimierer oder einem Modell eine gute Datenqualität zur Verfügung stellen möchten. In diesem Artikel werden wir das GX-Framework untersuchen und untersuchen, wie es zur Überprüfung der Datenqualität verwendet werden kann. Wir werden auch eine schrittweise Anleitung zur Verwendung des Frameworks bereitstellen, einschließlich Installation, Integration mit verschiedenen Datenbanken und Datenüberprüfung.

Wie fange ich mit GX an?

Der einzige Schritt, um mit dem Spielen von GX zu beginnen, besteht darin, es mit dem folgenden Befehl zu installieren: pip install great_expectations und great_expectations init danach. Sie können die Standardwerte Ihrer Umgebung vor der eigentlichen Arbeit mit GX einrichten. In diesem Fall erfolgt die Einrichtung jedoch im Code, bevor die Daten überprüft werden. GX unterstützt die Verbindung zu mehreren Datenbanken wie BigQuery, MySQL, PostgreSQL, Redshift, Snowflake usw. In Dateien gespeicherte Daten können automatisch in Pandas & Spark-DFs geladen werden, auch Daten im Speicher können sofort getestet werden. In diesem Artikel werden wir uns mit der In-Memory-Datenüberprüfung von Pandas DF befassen.

Der nächste Schritt besteht darin, Ihre Datenquelle zu definieren und sie im GX-Kontext zu speichern. Es kann auch in der GX-Konfiguration erstellt und später verwendet werden, ohne es bereitzustellen.

Danach müssen wir ein Batch Request-Objekt erstellen, das die zu testenden Daten definiert.

Jetzt ist es an der Zeit, eine leere Erwartungssuite (eine Reihe von Tests) zu erstellen und mit den integrierten Erwartungen zu spielen:

Im Folgenden werden die Testergebnisse dargestellt. Erwähnenswert ist, dass GX einen Fehler auslöst, wenn die Spalte in den Daten nicht vorhanden ist. Wir sollten es zuerst mit Erwartungen auf Tabellenebene wie expect_table_columns_to_match_set testen.

Sie können Tests dauerhaft in der Expectation Suite speichern, die später mit dem folgenden Befehl einfach geladen und in Checkpoints verwendet werden kann.

Fehlgeschlagene Erwartungen können übersprungen werden, indem der Parameter discard_failed_expectations auf True geändert wird.

Analysieren Sie Ihre Daten mit dem Profiler

GX Profiler kann Ihnen helfen, eine Reihe von Erwartungen für Ihren neuen Datensatz zu erstellen. Sobald der Validator eingerichtet ist, ist der Rest ziemlich einfach. Der Profiler hat eine Menge zu steuernder Optionen. In diesem Fall wird nur die Spalte „customer_name“ von der Analyse ausgeschlossen.

Der folgende Bildschirm zeigt nur einen Teil der Tests, die uns der Profiler vorgeschlagen hat. Erwähnenswert ist, dass einige von ihnen für uns keinen Sinn ergeben werden, sodass sie später fallen gelassen werden können. Erwartungen werden als JSON-Dateien gespeichert, daher besteht die Möglichkeit, die Datei mit Tests durchzugehen und die Erwartungen dort zu löschen/zu ändern.

Kontrollpunkte

Die vorherigen Lösungen eignen sich für Entwicklungs- und Testzwecke und nicht für Produktionsumgebungen. Mit Hilfe der letzteren kommt der Checkpoint. Es gruppiert mehrere Aktionen, darunter das Ausführen von Tests, das Generieren von Dokumentations-/Validierungsberichten, das Hochladen dieser bei Bedarf in den Cloud-Speicher und die Benachrichtigung über die Fehler über mehrere Kanäle wie E-Mail oder Slack. Der Beispielcode zum Konfigurieren und Ausführen des Checkpoints ist unten dargestellt

Während der Checkpoint-Entwicklung können die Ergebnisse anhand gedruckter JSON-Daten verifiziert werden, es gibt jedoch eine viel einfachere Möglichkeit, dies zu tun. Im Hauptverzeichnis von Great Expectation finden Sie mehrere Verzeichnisse, darunter große_erwartungen/unverbindlich/data_docs/local_site in dem die Dokumentation der Erwartungssuiten und Validierungen zu finden ist. Der oben angegebene Checkpoint hat den folgenden Bericht generiert.

Vor- und Nachteile

Great Expectations ist ein großes Open-Source-Framework mit vielen Funktionen. Das Tool kann äußerst nützlich sein, um die Qualität Ihrer Daten zu überprüfen. Sie müssen sich jedoch der Einschränkungen bewusst sein. Vorteile:

  • Unterstützt mehrere Datenquellen: Spark, Pandas, BigQuery, Athena, PostgreSQL, MySQL und mehr
  • Natives Tool für Python-Entwickler
  • Tests können sowohl auf der Grundlage gespeicherter Erwartungen als auch dynamisch über den Validator durchgeführt werden
  • Integriert in das DBT Framework
  • Verfügbare Validierungsbenachrichtigungen auf Slack/E-Mail usw.
  • Integrationen mit Cloud-Festplatten
  • Möglichkeit, die eingebauten Erwartungen zu erweitern
  • Erwartungen können direkt in JSONs geändert oder über Python-Code erstellt werden
  • HTML-Dokumentation von Tests und Validierungsberichten

Nachteile:

  • Die Aufrechterhaltung ähnlicher Tests kann schmerzhaft sein. Alle Tests müssen separat geändert werden.
  • Eine große Liste von Abhängigkeiten kann zu Konflikten in Ihrem Projekt führen
  • Das Framework wird ständig verbessert, es kann jedoch zu Fehlern kommen, die schwer zu diagnostizieren sind und die nicht schnell behoben werden

Zusammenfassung

In dem Artikel wird das Great Expectations (GX) -Framework vorgestellt, das Unternehmen bei der Analyse und Überwachung der Qualität ihrer Daten unterstützen kann. Das Framework lässt sich problemlos in die DBT Transformation Engine integrieren und unterstützt die Verbindung zu mehreren Datenbanken. Der Artikel enthält eine schrittweise Anleitung zur Verwendung von GX, einschließlich der Einrichtung einer Datenquelle, der Erstellung eines Batch Request-Objekts und der Definition von Tests anhand integrierter Erwartungen. Der Artikel behandelt auch den GX-Profiler, der dabei helfen kann, eine Reihe von Erwartungen an einen neuen Datensatz zu erstellen, sowie Prüfpunkte für Produktionsumgebungen. Insgesamt bietet der Artikel einen umfassenden Überblick über die Verwendung von GX für die Datenvalidierung und -überwachung.

Share this post
Data Science
Daniel Milosz
MORE POSTS BY THIS AUTHOR
Daniel Milosz

Curious how we can support your business?

TALK TO US