Les entreprises collectent chaque jour de plus en plus de données pour piloter des processus tels que la prise de décision, la création de rapports et l'apprentissage automatique (ML). Avant de nettoyer et de transformer vos données, vous devez déterminer si elles sont utilisables. Des données incorrectes, manquantes ou malformées peuvent avoir un impact important sur les processus d'analyse et de ML en aval. L'exécution de contrôles de la qualité des données permet d'identifier les problèmes plus tôt dans votre flux de travail afin que vous puissiez les résoudre plus rapidement. De plus, effectuer ces vérifications à l'aide d'une architecture basée sur les événements vous aide à réduire les points de contact manuels et à évoluer avec des quantités croissantes de données.
Brassage de données AWS Glue est un outil visuel de préparation des données qui facilite la recherche de statistiques sur la qualité des données telles que les valeurs en double, les valeurs manquantes et les valeurs aberrantes dans vos données. Vous pouvez également configurer des règles de qualité des données dans DataBrew pour effectuer des vérifications conditionnelles en fonction de vos besoins commerciaux uniques. Par exemple, un fabricant peut avoir besoin de s'assurer qu'il n'y a pas de valeurs en double spécifiquement dans un Part ID
colonne, ou un fournisseur de soins de santé peut vérifier que les valeurs d'une SSN
colonne ont une certaine longueur. Après avoir créé et validé ces règles avec DataBrew, vous pouvez utiliser Amazon Event Bridge, Fonctions d'étape AWS, AWS Lambdaet Service de notification simple d'Amazon (Amazon SNS) pour créer un flux de travail automatisé et envoyer une notification lorsqu'une règle échoue à un contrôle de validation.
Dans cet article, nous vous expliquons le flux de travail de bout en bout et comment mettre en œuvre cette solution. Cet article comprend un tutoriel étape par étape, un Modèle d'application sans serveur AWS (AWS SAM) et un exemple de code que vous pouvez utiliser pour déployer l'application dans votre propre environnement AWS.
Vue d'ensemble de la solution
La solution dans ce post combine sans serveur Services AWS pour créer un pipeline piloté par les événements de bout en bout entièrement automatisé pour la validation de la qualité des données. Le schéma suivant illustre l'architecture de notre solution.
Le workflow de la solution contient les étapes suivantes :
- Lorsque vous téléchargez de nouvelles données sur votre Service de stockage simple Amazon (Amazon S3), les événements sont envoyés à EventBridge.
- Une règle EventBridge déclenche l'exécution d'une machine d'état Step Functions.
- La machine d'état démarre une tâche de profil DataBrew, configurée avec un ensemble de règles et des règles de qualité des données. Si vous envisagez de créer une solution similaire, l'emplacement de sortie de la tâche de profil DataBrew et les compartiments S3 de données source doivent être uniques. Cela empêche les exécutions de tâches récursives. Nous déployons nos ressources avec un AWS CloudFormation modèle, qui crée des compartiments S3 uniques.
- Une fonction Lambda lit les résultats de qualité des données d'Amazon S3 et renvoie une réponse booléenne dans la machine d'état. La fonction retourne
false
si une ou plusieurs règles de l'ensemble de règles échouent, et renvoietrue
si toutes les règles réussissent. - Si la réponse booléenne est
false
, la machine d'état envoie une notification par e-mail avec Amazon SNS et la machine d'état se termine par unfailed
statut. Si la réponse booléenne esttrue
, la machine d'état se termine par unsucceed
statut. Vous pouvez également étendre la solution à cette étape pour exécuter d'autres tâches en cas de réussite ou d'échec. Par exemple, si toutes les règles réussissent, vous pouvez envoyer un message EventBridge pour déclencher une autre tâche de transformation dans DataBrew.
Dans cet article, vous utilisez AWS CloudFormation pour déployer une démonstration entièrement fonctionnelle de la solution de validation de la qualité des données basée sur les événements. Vous testez la solution en chargeant un fichier de valeurs séparées par des virgules (CSV) valide sur Amazon S3, suivi d'un fichier CSV non valide.
Les étapes sont les suivantes:
- Lancez une pile CloudFormation pour déployer les ressources de la solution.
- Testez la solution :
- Chargez un fichier CSV valide sur Amazon S3 et observez la réussite de la validation de la qualité des données et de la machine d'état Step Functions.
- Chargez un fichier CSV non valide sur Amazon S3 et observez l'échec de la validation de la qualité des données et de la machine d'état Step Functions, et recevez une notification par e-mail d'Amazon SNS.
Tous les exemples de code se trouvent dans le GitHub référentiel.
Pré-requis
Pour cette procédure pas à pas, vous devez disposer des prérequis suivants:
Déployer les ressources de la solution à l'aide d'AWS CloudFormation
Vous utilisez une pile CloudFormation pour déployer les ressources nécessaires à la solution de validation de la qualité des données basée sur les événements. La pile comprend un exemple d'ensemble de données et d'ensemble de règles dans DataBrew.
- Connectez-vous à votre compte AWS, puis choisissez Lancer la pile:
- Sur le Création rapide d'une pile page, pour Adresse e-mail, saisissez une adresse e-mail valide pour les notifications par e-mail Amazon SNS.
- Laissez les options restantes définies sur les valeurs par défaut.
- Cochez les cases d'accusé de réception.
- Selectionnez Créez une pile.
La pile CloudFormation prend environ 5 minutes pour atteindre CREATE_COMPLETE
état.
- Vérifiez la boîte de réception de l'adresse e-mail que vous avez fournie et acceptez l'abonnement SNS.
Vous devez examiner et accepter la confirmation d'abonnement afin de démontrer la fonctionnalité de notification par e-mail à la fin de la procédure pas à pas.
Sur le Sortie de la pile, vous pouvez trouver les URL pour parcourir les ressources DataBrew et Step Functions créées par le modèle. Notez également les commandes AWS CLI terminées que vous utiliserez dans les étapes ultérieures.
Si vous choisissez le AWSGlueDataBrewRuleset
lien de valeur, vous devriez voir la page de détails de l'ensemble de règles, comme dans la capture d'écran suivante. Dans cette procédure pas à pas, nous créons un ensemble de règles de qualité des données avec trois règles qui vérifient les valeurs manquantes, les valeurs aberrantes et la longueur des chaînes.
Testez la solution
Dans les étapes suivantes, vous utilisez l'AWS CLI pour charger les versions correctes et incorrectes du fichier CSV afin de tester la solution de validation de la qualité des données basée sur les événements.
- Ouvrez un terminal ou une invite de ligne de commande et utilisez l'AWS CLI pour télécharger des exemples de données. Utilisez la commande de la sortie de la pile CloudFormation avec le nom de la clé
CommandToDownloadTestData
: - Utilisez à nouveau l'AWS CLI pour charger le fichier CSV inchangé dans votre compartiment S3. Remplacer la chaîne avec le nom de votre compartiment, ou copiez et collez la commande qui vous est fournie à partir de la sortie du modèle CloudFormation :
- Sur la console Step Functions, localisez la machine d'état créée par le modèle CloudFormation.
Vous pouvez trouver une URL dans les sorties CloudFormation notées précédemment.
- Sur le Exécutions , vous devriez voir une nouvelle exécution de la machine d'état.
- Choisissez l'URL de l'exécution pour afficher le graphique de la machine d'état et surveiller sa progression.
L'image suivante montre le flux de travail de notre machine d'état.
Pour démontrer l'échec d'une règle de qualité des données, vous apportez au moins une modification au votes.csv
fichier.
- Ouvrez le fichier dans votre éditeur de texte ou tableur préféré et supprimez une seule cellule.
Dans les captures d'écran suivantes, j'utilise l'éditeur GNU nano sous Linux. Vous pouvez également utiliser un éditeur de feuille de calcul pour supprimer une cellule. Cela entraîne l'échec de la règle "Vérifier toutes les colonnes pour les valeurs manquantes".
La capture d'écran suivante montre le fichier CSV avant modification.
La capture d'écran suivante montre le fichier CSV modifié.
- Enregistrer la modification
votes.csv
fichier et revenez à votre invite de commande ou à votre terminal. - Utilisez l'AWS CLI pour télécharger le fichier dans votre compartiment S3 une fois de plus. Vous utilisez la même commande que précédemment :
- Sur la console Step Functions, accédez à la dernière machine d'état exécutée pour la surveiller.
La validation de la qualité des données échoue, déclenchant une notification par e-mail SNS et l'échec de l'exécution globale de la machine d'état.
L'image suivante montre le flux de travail de la machine d'état défaillante.
La capture d'écran suivante montre un exemple d'e-mail SNS.
- Vous pouvez enquêter sur l'échec de la règle sur la console DataBrew en choisissant l'option
AWSGlueDataBrewProfileResults
value dans les sorties de la pile CloudFormation.
Nettoyer
Pour éviter des frais futurs, supprimez les ressources. Sur la console AWS CloudFormation, supprimez la pile nommée AWSBigDataBlogDataBrewDQSample
.
Conclusion
Dans cet article, vous avez appris à créer des pipelines de validation de la qualité des données automatisés et pilotés par les événements. Avec DataBrew, vous pouvez définir des règles, des seuils et des ensembles de règles de qualité des données pour vos besoins commerciaux et techniques. Step Functions, EventBridge et Amazon SNS vous permettent de créer des pipelines complexes avec une gestion des erreurs personnalisable et des alertes adaptées à vos besoins.
Vous pouvez en savoir plus sur cette solution et le code source en visitant le GitHub référentiel. Pour en savoir plus sur les règles de qualité des données DataBrew, visitez AWS Glue DataBrew permet désormais aux clients de créer des règles de qualité des données pour définir et valider leurs exigences commerciales ou se référer à Validation de la qualité des données dans AWS Glue DataBrew.
À propos des auteurs
Laith Al-Saadoun est architecte principal de prototypage au sein de l'équipe Envision Engineering. Il construit des prototypes et des solutions utilisant l'IA, l'apprentissage automatique, l'IoT et l'informatique de pointe, l'analyse de flux, la robotique et l'informatique spatiale pour résoudre les problèmes réels des clients. Pendant son temps libre, Laith aime les activités de plein air telles que la photographie, les vols de drones, la randonnée et le paintball.
Gordon Burgess est chef de produit senior chez AWS Glue DataBrew. Il se passionne pour aider les clients à découvrir des informations à partir de leurs données et se concentre sur la création d'expériences utilisateur et de fonctionnalités riches pour les produits d'analyse. En dehors du travail, Gordon aime lire, prendre un café et construire des ordinateurs.
- '
- &
- 100
- 107
- 7
- À propos
- Compte
- activités
- propos
- AI
- Tous
- Amazon
- analytique
- Application
- architecture
- Automatisation
- AWS
- construire
- Développement
- la performance des entreprises
- des charges
- Contrôles
- Nettoyage
- code
- Café
- Colonne
- complexe
- ordinateurs
- informatique
- Console
- Clients
- données
- qualité des données
- journée
- découvrez
- drone
- Edge
- informatique de pointe
- éditeur
- se termine
- ENGINEERING
- Environment
- événements
- exemple
- Expériences
- Échec
- plus rapide
- Fonctionnalité
- s'adapter
- Vols
- trouvé
- Test d'anglais
- fonction
- fonctions
- avenir
- Croissance
- Maniabilité
- la médecine
- aide
- randonnée
- Comment
- How To
- HTTPS
- identifier
- image
- Mettre en oeuvre
- idées.
- enquêter
- IOT
- vous aider à faire face aux problèmes qui vous perturbent
- IT
- Emploi
- clés / KEY :
- gros
- Nouveautés
- APPRENTISSAGE
- savant
- apprentissage
- Gamme
- LINK
- linux
- emplacement
- machine learning
- Fabricants
- ML
- PLUS
- nano
- nécessaire
- déclaration
- Options
- de commander
- Autre
- Extérieur
- photographie
- Directeur
- Produit
- Produits
- Profil
- prototypage
- de voiture.
- qualité
- en cours
- réduire
- remplacer
- Exigences
- Ressources
- réponse
- Résultats
- Retours
- Avis
- robotique
- Courir
- Escaliers intérieurs
- Sans serveur
- Services
- set
- similaires
- étapes
- So
- Solutions
- RÉSOUDRE
- Spatial
- calcul spatial
- spécifiquement
- Tableur
- Région
- statistiques
- Statut
- storage
- streaming
- abonnement
- succès
- Technique
- terminal
- tester
- La Source
- Avec
- fiable
- outil
- De La Carrosserie
- transformer
- tutoriel
- Plus-value
- Voir
- Activités:
- workflow