Datenqualität sicherstellen

So verbessert Apache Griffin die Data Quality

| Autor / Redakteur: Thomas Joos / Nico Litzel

Die Architektur von Apache Griffin
Die Architektur von Apache Griffin (Bild: The Apache Software Foundation)

Apache Griffin kann die Datenqualität in Big-Data-Umgebungen verbessern. Das Open Source Tool unterstützt die Batch-Verarbeitung und den Streaming-Modus. Wir geben einen Überblick.

Apache Griffin ist seit Ende 2018 ein Top-Level-Projekt bei Apache. Mit dem Open Source Data Quality Tool lässt sich die Datenqualität von Quelldaten in Big-Data-Umgebungen verbessern. Anwender können eigene Qualitätskriterien definieren. Vor allem, wenn Daten in verschiedenen Quellen verteilt sind und zur Weiterverarbeitung eingelesen werden müssen, kann Apache Griffin dabei helfen, die Datenqualität deutlich zu verbessern. Bei den Daten kann es sich zum Beispiel um Batchdaten aus einem relationalen Datenbanksystem handeln, um Daten aus einem Hadoop-System oder nahezu Echtzeit-Streaming-Daten von Kafka, Storm und anderen Echtzeit-Datenplattformen.

eBay und PayPal nutzen Griffin

Ursprünglich wurde Apache Griffin vor allem bei eBay eingesetzt, um Streamingdaten vor der Verarbeitung zu verbessern. Bei eBay bietet Griffin einen zentralen Datenqualitätsservice für mehrere eBay-Systeme. Hier verarbeitet Griffin täglich mehr als 800 Millionen Datensätze. Das Tool wird außerdem mittlerweile von vielen anderen Unternehmen eingesetzt, um die Datenqualität von Quelldaten zu verbessern. Auch PayPal setzt auf Apache Griffin.

Apache Griffin baut auf Hadoop und Spark auf, um Daten aller Art zu verarbeiten und zu analysieren. Auch unstrukturierte Daten lassen sich dadurch verbessern. Alle notwendigen Aufgaben zur Verbesserung der Datenqualität können in einem einheitlichen Prozess in Apache Griffin durchgeführt werden. Dadurch lassen sich fehlende Daten, falsche Daten oder invalide Daten schnell erkennen und die Verarbeitung entsprechend steuern.

So wird die Datenqualität mit Apache Griffin verbessert

Um die Datenqualität in Big-Data-Umgebungen mit Apache Griffin zu verbessern, wird in verschiedenen Schritten vorgegangen. Datenwissenschaftler und Analytiker definieren zunächst ihre Datenqualitätsanforderungen in Apache Griffin. Dazu gehören zum Beispiel Genauigkeit, Vollständigkeit, Aktualität Profilerstellung und andere Anforderungen. Hier wird also ein Datenqualitätsmodell erstellt, um die Datenqualitätsregeln und Metadaten zu definieren.

Anschließend werden die zu verarbeitenden Quelldaten in Apache Griffin Cluster importiert. Die Quelldaten können auch aus relationalen Datenbanken stammen, aber auch aus Hadoop oder Kafka. Zur Berechnung wird auf Spark gesetzt. Das Modell oder die Regeln werden dazu automatisch durch die Model Engine ausgeführt, um die Validierungsergebnisse der Beispieldatenqualität für das Streaming von Daten zu erhalten.

Die Lösung überprüft danach die Daten auf Basis der Anforderungen, die im Vorfeld festgelegt wurden. Anschließend werden Datenqualitätsberichte als Metriken an definierte Ziele weitergeleitet. Im Rahmen dieses Ablaufs werden die importierten Daten auf die Qualitäts-Anforderungen hin überprüft, die im Vorfeld definiert wurden. Die Vorgehensweise dazu zeigen die Entwickler auf der Quick-Start-Seite des Projektes.

Zusätzlich bietet Apache Griffin die Möglichkeit, Anforderungen an die Datenqualität in die Apache-Griffin-Plattform zu integrieren und eine Logik zur Definition der Datenqualität zu erstellen. Durch die Verwendung von Apache Griffin lassen sich Pipelines bei der Datenverarbeitung vereinfachen.

Anomalie-Erkennung mit Griffin

Das Ziel der Anomalie-Erkennung ist es, Fälle zu identifizieren, die innerhalb von Daten ungewöhnlich sind. Hier nutzt Griffin die Algorithmen Bollinger Band und MAD (Mean Absolute Deviation), um Datensätze zu finden, bei denen eine Anomalie wahrscheinlich ist. Die Anomalie-Erkennung ermöglicht es, Parameter im Algorithmus nach Bedarf anzupassen und die Ergebnisse nach Änderung dynamisch anzuzeigen.

Datenprofilierung

Data Profiling spielt eine wichtige Rolle bei der Verbesserung der Datenqualität. Die Ergebnisse des Profiling können mit dokumentierten Erwartungen verglichen werden. Stimmen die Ergebnisse nicht mit den dokumentierten Erwartungen überein, wird ein Warnbericht ausgelöst.

Einfache Statistiken erzeugen null-, eindeutige und doppelte Zählprofile in Griffin. Das hilft, Probleme zu identifizieren, wie ein unerwartet hoher Anteil von Nullwerten in einer Spalte. Ein Beispiel ist das Profil einer E-Mail-Adresse-Spalte und das Auffinden einer inakzeptabel hohen Anzahl fehlender E-Mail-Adressen. Zusammenfassende Statistiken erzeugen Maximal-, Minimal-, Mittelwert- und Medianzahlenprofile. Beispielsweise sollte der Wert für Alter in der Regel kleiner als 150 und größer als 0 sein. Die erweiterte Statistik generiert die Häufigkeit von Musterprofilen, die durch reguläre Ausdrücke erstellt werden.

Erste Schritte mit Apache Griffin, auch als Container

Um Apache Griffin zu nutzen, muss die Umgebung angepasst werden. Dazu gehört die folgende Software:

  • JDK (1.8+)
  • Hadoop (2.6.0+)
  • Spark (2.2.1+)
  • Hive (2.2.0)

Hadoop, Spark und Hive sind wichtige Grundlagen, die in einer Umgebung mit Apache Griffin vorhanden sein müssen. Auch mit Zookeeper ab Version 3.5 arbeitet Griffin zusammen.

Griffin arbeitet mit diesen Big-Data-Lösungen zusammen und ermöglicht die Verbesserung der Qualität von Echtzeitdaten, aber auch von anderen Daten. Die Anleitung zur ersten Einrichtung ist auf der Download-Seite zu sehen. Hier gibt es eine Quick-Start-Anleitung. Generell besteht die Integration zunächst darin, das Apache Griffin Measure Modul zu erstellen. Dazu werden die Quell-Dateien von Griffin heruntergeladen. Anschließend wird das Verzeichnis entpackt und Apache Griffin Jars erstellt:

unzip griffin-0.4.0-source-release.zip

cd griffin-0.4.0-source-release

mvn clean install

Die erstellte Datei muss dann noch in das Arbeitsverzeichnis verschoben:

mv measure/target/measure-0.4.0.jar <work path>/griffin-measure.jar

Die Entwickler stellen auch Demodaten zur Bearbeitung zur Verfügung. Griffin kann auch über Container betrieben werden. Dazu steht auf dem Docker Hub auch ein entsprechendes Dockerfile zur Verfügung.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46280415 / Analytics)