Unternehmen sammeln jeden Tag mehr und mehr Daten, um Prozesse wie Entscheidungsfindung, Berichterstattung und maschinelles Lernen (ML) voranzutreiben. Bevor Sie Ihre Daten bereinigen und transformieren, müssen Sie feststellen, ob sie für die Verwendung geeignet sind. Falsche, fehlende oder fehlerhafte Daten können große Auswirkungen auf nachgelagerte Analysen und ML-Prozesse haben. Durch die Durchführung von Datenqualitätsprüfungen können Sie Probleme früher in Ihrem Workflow erkennen, damit Sie sie schneller beheben können. Darüber hinaus hilft Ihnen die Durchführung dieser Prüfungen mithilfe einer ereignisbasierten Architektur, manuelle Berührungspunkte zu reduzieren und bei wachsenden Datenmengen zu skalieren.
AWS Glue Data Brew ist ein visuelles Datenvorbereitungstool, mit dem Sie Datenqualitätsstatistiken wie doppelte Werte, fehlende Werte und Ausreißer in Ihren Daten leicht finden können. Sie können auch Datenqualitätsregeln in DataBrew einrichten, um bedingte Prüfungen basierend auf Ihren individuellen Geschäftsanforderungen durchzuführen. Beispielsweise muss ein Hersteller möglicherweise sicherstellen, dass keine doppelten Werte speziell in a . vorhanden sind Part ID
Spalte, oder ein Gesundheitsdienstleister überprüft möglicherweise, ob die Werte in einer SSN
Spalte haben eine bestimmte Länge. Nachdem Sie diese Regeln mit DataBrew erstellt und validiert haben, können Sie Amazon EventBridge, AWS Step-Funktionen, AWS Lambda und Amazon Simple Notification Service (Amazon SNS), um einen automatisierten Workflow zu erstellen und eine Benachrichtigung zu senden, wenn eine Regel eine Validierungsprüfung nicht besteht.
In diesem Beitrag führen wir Sie durch den End-to-End-Workflow und wie Sie diese Lösung implementieren. Dieser Beitrag enthält eine Schritt-für-Schritt-Anleitung, und AWS Serverless-Anwendungsmodell (AWS SAM)-Vorlage und Beispielcode, mit dem Sie die Anwendung in Ihrer eigenen AWS-Umgebung bereitstellen können.
Lösungsüberblick
Die Lösung in diesem Beitrag kombiniert Serverlos AWS-Services zum Aufbau einer vollständig automatisierten, ereignisgesteuerten End-to-End-Pipeline für die Validierung der Datenqualität. Das folgende Diagramm veranschaulicht unsere Lösungsarchitektur.
Der Lösungsworkflow umfasst die folgenden Schritte:
- Wenn Sie neue Daten auf Ihr . hochladen Amazon Simple Storage-Service (Amazon S3) Bucket, Ereignisse werden an EventBridge gesendet.
- Eine EventBridge-Regel löst die Ausführung einer Step Functions-Zustandsmaschine aus.
- Die Zustandsmaschine startet einen DataBrew-Profiljob, der mit einem Datenqualitätsregelsatz und -regeln konfiguriert ist. Wenn Sie erwägen, eine ähnliche Lösung zu erstellen, sollten der Ausgabespeicherort des DataBrew-Profiljobs und die S3-Buckets der Quelldaten eindeutig sein. Dadurch werden rekursive Jobläufe verhindert. Wir setzen unsere Ressourcen mit einem AWS CloudFormation Vorlage, die einzigartige S3-Buckets erstellt.
- Eine Lambda-Funktion liest die Datenqualitätsergebnisse aus Amazon S3 und gibt eine boolesche Antwort an die Zustandsmaschine zurück. Die Funktion gibt zurück
false
wenn eine oder mehrere Regeln im Regelsatz fehlschlagen, und kehrt zurücktrue
wenn alle Regeln erfolgreich sind. - Wenn die boolesche Antwort ist
false
, sendet der Zustandsautomat eine E-Mail-Benachrichtigung mit Amazon SNS und der Zustandsautomat endet in afailed
Status. Wenn die boolesche Antwort isttrue
, die Zustandsmaschine endet in asucceed
Status. Sie können die Lösung in diesem Schritt auch erweitern, um andere Aufgaben bei Erfolg oder Misserfolg auszuführen. Wenn beispielsweise alle Regeln erfolgreich waren, können Sie eine EventBridge-Nachricht senden, um einen weiteren Transformationsjob in DataBrew auszulösen.
In diesem Beitrag verwenden Sie AWS CloudFormation, um eine voll funktionsfähige Demo der ereignisgesteuerten Lösung zur Validierung der Datenqualität bereitzustellen. Sie testen die Lösung, indem Sie eine gültige CSV-Datei (Comma-Separated Values) in Amazon S3 hochladen, gefolgt von einer ungültigen CSV-Datei.
Die Schritte sind wie folgt:
- Starten Sie einen CloudFormation-Stack, um die Lösungsressourcen bereitzustellen.
- Testen Sie die Lösung:
- Laden Sie eine gültige CSV-Datei in Amazon S3 hoch und beobachten Sie, wie die Datenqualitätsvalidierung und die Step Functions-Zustandsmaschine erfolgreich sind.
- Laden Sie eine ungültige CSV-Datei in Amazon S3 hoch und beobachten Sie, wie die Datenqualitätsvalidierung und die Step Functions-Zustandsmaschine fehlschlagen, und erhalten Sie eine E-Mail-Benachrichtigung von Amazon SNS.
Den gesamten Beispielcode finden Sie im GitHub-Repository.
Voraussetzungen:
Für diese exemplarische Vorgehensweise sollten Sie die folgenden Voraussetzungen erfüllen:
Stellen Sie die Lösungsressourcen mit AWS CloudFormation bereit
Sie verwenden einen CloudFormation-Stack, um die Ressourcen bereitzustellen, die für die ereignisgesteuerte Lösung zur Validierung der Datenqualität erforderlich sind. Der Stack enthält einen Beispieldatensatz und einen Regelsatz in DataBrew.
- Melden Sie sich bei Ihrem AWS-Konto an und wählen Sie dann Stack starten:
- Auf dem Schneller Stapel erstellen Seite, für E-Mail-Addresse, geben Sie eine gültige E-Mail-Adresse für Amazon SNS-E-Mail-Benachrichtigungen ein.
- Belassen Sie die restlichen Optionen auf den Standardeinstellungen.
- Aktivieren Sie die Kontrollkästchen für die Bestätigung.
- Auswählen
Stapel erstellen.
Es dauert etwa 5 Minuten, bis der CloudFormation-Stack erreicht ist CREATE_COMPLETE
Status.
- Überprüfen Sie den Posteingang der von Ihnen angegebenen E-Mail-Adresse und akzeptieren Sie das SNS-Abonnement.
Sie müssen die Abonnementbestätigung lesen und akzeptieren, um die E-Mail-Benachrichtigungsfunktion am Ende der exemplarischen Vorgehensweise zu demonstrieren.
Auf dem Ausgänge Registerkarte des Stapels finden Sie die URLs zum Durchsuchen der DataBrew- und Step Functions-Ressourcen, die von der Vorlage erstellt wurden. Beachten Sie auch die abgeschlossenen AWS CLI-Befehle, die Sie in späteren Schritten verwenden.
Wenn Sie die AWSGlueDataBrewRuleset
value-Link sollten Sie die Regelsatz-Detailseite sehen, wie im folgenden Screenshot. In dieser exemplarischen Vorgehensweise erstellen wir einen Datenqualitätsregelsatz mit drei Regeln, die auf fehlende Werte, Ausreißer und Zeichenfolgenlänge prüfen.
Testen Sie die Lösung
In den folgenden Schritten verwenden Sie die AWS CLI, um richtige und falsche Versionen der CSV-Datei hochzuladen, um die ereignisgesteuerte Datenqualitätsvalidierungslösung zu testen.
- Öffnen Sie eine Terminal- oder Befehlszeilenaufforderung und verwenden Sie die AWS CLI, um Beispieldaten herunterzuladen. Verwenden Sie den Befehl aus der CloudFormation-Stack-Ausgabe mit dem Schlüsselnamen
CommandToDownloadTestData
: - Verwenden Sie die AWS CLI erneut, um die unveränderte CSV-Datei in Ihren S3-Bucket hochzuladen. Ersetze die Saite mit Ihrem Bucket-Namen, oder kopieren Sie den Ihnen bereitgestellten Befehl aus der CloudFormation-Vorlagenausgabe und fügen Sie ihn ein:
- Suchen Sie in der Step Functions-Konsole die von der CloudFormation-Vorlage erstellte Zustandsmaschine.
Sie finden eine URL in den zuvor erwähnten CloudFormation-Ausgaben.
- Auf dem Hinrichtungen Registerkarte sollten Sie einen neuen Lauf des Zustandsautomaten sehen.
- Wählen Sie die URL des Laufs aus, um das Zustandsmaschinendiagramm anzuzeigen und seinen Fortschritt zu überwachen.
Das folgende Bild zeigt den Arbeitsablauf unserer Zustandsmaschine.
Um den Fehler einer Datenqualitätsregel zu demonstrieren, nehmen Sie mindestens eine Änderung am votes.csv
Datei.
- Öffnen Sie die Datei in Ihrem bevorzugten Texteditor oder Tabellenkalkulationstool und löschen Sie nur eine Zelle.
In den folgenden Screenshots verwende ich den GNU-Nano-Editor unter Linux. Sie können auch einen Tabellenkalkulationseditor verwenden, um eine Zelle zu löschen. Dies führt dazu, dass die Regel „Alle Spalten auf fehlende Werte prüfen“ fehlschlägt.
Der folgende Screenshot zeigt die CSV-Datei vor der Änderung.
Der folgende Screenshot zeigt die geänderte CSV-Datei.
- Bearbeitetes speichern
votes.csv
Datei und kehren Sie zu Ihrer Eingabeaufforderung oder Ihrem Terminal zurück. - Verwenden Sie die AWS CLI, um die Datei noch einmal in Ihren S3-Bucket hochzuladen. Sie verwenden den gleichen Befehl wie zuvor:
- Navigieren Sie in der Step Functions-Konsole zur neuesten Ausführung der Zustandsmaschine, um sie zu überwachen.
Die Datenqualitätsvalidierung schlägt fehl, was eine SNS-E-Mail-Benachrichtigung und den Fehler beim Ausführen der gesamten Zustandsmaschine auslöst.
Die folgende Abbildung zeigt den Workflow des fehlgeschlagenen Zustandsautomaten.
Der folgende Screenshot zeigt ein Beispiel für die SNS-E-Mail.
- Sie können den Regelfehler in der DataBrew-Konsole untersuchen, indem Sie die
AWSGlueDataBrewProfileResults
Wert in den CloudFormation-Stack-Ausgaben.
Aufräumen
Löschen Sie die Ressourcen, um zukünftige Gebühren zu vermeiden. Löschen Sie in der AWS CloudFormation-Konsole den Stack namens AWSBigDataBlogDataBrewDQSample
.
Zusammenfassung
In diesem Beitrag haben Sie gelernt, wie Sie automatisierte, ereignisgesteuerte Pipelines zur Validierung der Datenqualität erstellen. Mit DataBrew können Sie Datenqualitätsregeln, Schwellenwerte und Regelsätze für Ihre geschäftlichen und technischen Anforderungen definieren. Mit Step Functions, EventBridge und Amazon SNS können Sie komplexe Pipelines mit anpassbarer Fehlerbehandlung und Warnmeldungen erstellen, die auf Ihre Bedürfnisse zugeschnitten sind.
Sie können mehr über diese Lösung und den Quellcode erfahren, indem Sie die GitHub-Repository. Um mehr über DataBrew-Datenqualitätsregeln zu erfahren, besuchen Sie Mit AWS Glue DataBrew können Kunden jetzt Datenqualitätsregeln erstellen, um ihre Geschäftsanforderungen zu definieren und zu validieren oder beziehen sich auf Validieren der Datenqualität in AWS Glue DataBrew.
Über die Autoren
Laith Al-Saadoon ist Principal Prototyping Architect im Envision Engineering-Team. Er baut Prototypen und Lösungen mit KI, maschinellem Lernen, IoT & Edge Computing, Streaming Analytics, Robotik und Spatial Computing, um reale Kundenprobleme zu lösen. In seiner Freizeit genießt Laith Outdoor-Aktivitäten wie Fotografieren, Drohnenflüge, Wandern und Paintball.
Gordon Burgess ist Senior Product Manager bei AWS Glue DataBrew. Er hilft Kunden mit Leidenschaft dabei, Erkenntnisse aus ihren Daten zu gewinnen, und konzentriert sich auf den Aufbau von Benutzererfahrungen und umfangreichen Funktionen für Analyseprodukte. Außerhalb der Arbeit genießt Gordon es, zu lesen, Kaffee zu trinken und Computer zu bauen.
- '
- &
- 100
- 107
- 7
- Über uns
- Konto
- Aktivitäten
- Adresse
- AI
- Alle
- Amazon
- Analytik
- Anwendung
- Architektur
- Automatisiert
- AWS
- bauen
- Building
- Geschäft
- Gebühren
- Schecks
- Reinigung
- Code
- Kaffee
- Kolonne
- Komplex
- Computer
- Computing
- Konsul (Console)
- Kunden
- technische Daten
- Datenqualität
- Tag
- entdeckt,
- Drohne
- Edge
- Edge-Computing
- Herausgeber
- endet
- Entwicklung
- Arbeitsumfeld
- Veranstaltungen
- Beispiel
- Erfahrungen
- Scheitern
- beschleunigt
- Merkmal
- passen
- Flüge
- gefunden
- Frei
- Funktion
- Funktionen
- Zukunft
- persönlichem Wachstum
- Handling
- Gesundheitswesen
- hilft
- Wandern
- Ultraschall
- Hilfe
- HTTPS
- identifizieren
- Image
- implementieren
- Einblicke
- untersuchen
- iot
- Probleme
- IT
- Job
- Wesentliche
- grosse
- neueste
- LERNEN
- gelernt
- lernen
- Line
- LINK
- linux
- Standorte
- Maschinelles Lernen
- Hersteller
- ML
- mehr
- nano
- erforderlich
- Benachrichtigung
- Optionen
- Auftrag
- Andere
- Outdoor
- Fotografie
- Principal
- Produkt
- Produkte
- Profil
- Prototyping
- Versorger
- Qualität
- Lesebrillen
- Veteran
- ersetzen
- Voraussetzungen:
- Downloads
- Antwort
- Die Ergebnisse
- Rückgabe
- Überprüfen
- Robotik
- Ohne eine erfahrene Medienplanung zur Festlegung von Regeln und Strategien beschleunigt der programmatische Medieneinkauf einfach die Rate der verschwenderischen Ausgaben.
- Führen Sie
- Skalieren
- Serverlos
- Leistungen
- kompensieren
- ähnlich
- Einfacher
- So
- Lösungen
- LÖSEN
- räumlich
- räumliches Rechnen
- speziell
- Kalkulationstabelle
- Bundesstaat
- Statistiken
- Status
- Lagerung
- Streaming
- Abonnement
- Erfolg
- Technische
- Terminal
- Test
- Die Quelle
- Durch
- Zeit
- Werkzeug
- Transformation
- Transformieren
- Lernprogramm
- Wert
- Anzeigen
- Arbeiten
- Arbeitsablauf.