Bedrijven verzamelen elke dag meer en meer gegevens om processen zoals besluitvorming, rapportage en machine learning (ML) aan te sturen. Voordat u uw gegevens opschoont en transformeert, moet u bepalen of deze geschikt zijn voor gebruik. Onjuiste, ontbrekende of misvormde gegevens kunnen grote gevolgen hebben voor downstream-analyses en ML-processen. Door gegevenskwaliteitscontroles uit te voeren, kunnen problemen eerder in uw workflow worden geïdentificeerd, zodat u ze sneller kunt oplossen. Bovendien helpt het doen van deze controles met behulp van een op gebeurtenissen gebaseerde architectuur u om handmatige contactpunten te verminderen en te schalen met groeiende hoeveelheden gegevens.
AWS lijm DataBrew is een visuele tool voor het voorbereiden van gegevens waarmee u gemakkelijk statistieken over de gegevenskwaliteit kunt vinden, zoals dubbele waarden, ontbrekende waarden en uitschieters in uw gegevens. U kunt ook regels voor gegevenskwaliteit instellen in DataBrew om voorwaardelijke controles uit te voeren op basis van uw unieke zakelijke behoeften. Een fabrikant moet er bijvoorbeeld voor zorgen dat er geen dubbele waarden zijn specifiek in a Part ID
kolom, of een zorgverlener kan die waarden in een SSN
kolom een bepaalde lengte hebben. Nadat u deze regels hebt gemaakt en gevalideerd met DataBrew, kunt u gebruik maken van Amazon EventBridge, AWS Stap Functies, AWS Lambda en Amazon eenvoudige meldingsservice (Amazon SNS) om een geautomatiseerde workflow te creëren en een melding te sturen wanneer een regel niet door een validatiecontrole komt.
In dit bericht leiden we u door de end-to-end workflow en hoe u deze oplossing kunt implementeren. Dit bericht bevat een stapsgewijze zelfstudie, een AWS serverloos toepassingsmodel (AWS SAM)-sjabloon en voorbeeldcode die u kunt gebruiken om de applicatie in uw eigen AWS-omgeving te implementeren.
Overzicht oplossingen
De oplossing in dit bericht combineert serverless AWS-services voor het bouwen van een volledig geautomatiseerde, end-to-end gebeurtenisgestuurde pijplijn voor validatie van gegevenskwaliteit. Het volgende diagram illustreert onze oplossingsarchitectuur.
De oplossingsworkflow bevat de volgende stappen:
- Wanneer u nieuwe gegevens uploadt naar uw Amazon eenvoudige opslagservice (Amazon S3) bucket, gebeurtenissen worden naar EventBridge verzonden.
- Een EventBridge-regel zorgt ervoor dat een Step Functions-statusmachine wordt uitgevoerd.
- De statusmachine start een DataBrew-profieltaak, geconfigureerd met een regelset en regels voor gegevenskwaliteit. Als u overweegt een vergelijkbare oplossing te bouwen, moeten de uitvoerlocatie van de DataBrew-profieltaak en de S3-buckets voor brongegevens uniek zijn. Dit voorkomt recursieve taakuitvoeringen. We zetten onze middelen in met een AWS CloudFormatie sjabloon, waarmee unieke S3-buckets worden gemaakt.
- Een Lambda-functie leest de datakwaliteitsresultaten van Amazon S3 en retourneert een Booleaanse reactie in de statusmachine. De functie retourneert
false
als een of meer regels in de regelset falen, en retourneerttrue
als alle regels slagen. - Als het Booleaanse antwoord is
false
, de statusmachine verzendt een e-mailmelding met Amazon SNS en de statusmachine eindigt op afailed
toestand. Als het Booleaanse antwoord istrue
, de toestandsmachine eindigt op asucceed
toestand. U kunt de oplossing in deze stap ook uitbreiden om andere taken uit te voeren bij succes of mislukking. Als alle regels bijvoorbeeld slagen, kunt u een EventBridge-bericht verzenden om een andere transformatietaak in DataBrew te activeren.
In dit bericht gebruik je AWS CloudFormation om een volledig functionerende demo van de gebeurtenisgestuurde validatieoplossing voor gegevenskwaliteit te implementeren. U test de oplossing door een geldig bestand met door komma's gescheiden waarden (CSV) te uploaden naar Amazon S3, gevolgd door een ongeldig CSV-bestand.
De stappen zijn als volgt:
- Start een CloudFormation-stack om de oplossingsbronnen te implementeren.
- Test de oplossing:
- Upload een geldig CSV-bestand naar Amazon S3 en observeer de validatie van de gegevenskwaliteit en de statusmachine van Step Functions.
- Upload een ongeldig CSV-bestand naar Amazon S3 en observeer de validatie van de gegevenskwaliteit en de statusmachine van Step Functions, en ontvang een e-mailmelding van Amazon SNS.
Alle voorbeeldcode is te vinden in de GitHub-repository.
Voorwaarden
Voor deze walkthrough moet u aan de volgende vereisten voldoen:
Implementeer de oplossingsbronnen met AWS CloudFormation
U gebruikt een CloudFormation-stack om de resources te implementeren die nodig zijn voor de gebeurtenisgestuurde oplossing voor validatie van gegevenskwaliteit. De stapel bevat een voorbeelddataset en regelset in DataBrew.
- Log in op uw AWS-account en kies vervolgens Start Stack:
- Op de Maak snel een stapel pagina, voor E-mailadres, voer een geldig e-mailadres in voor Amazon SNS-e-mailmeldingen.
- Laat de overige opties op de standaardwaarden staan.
- Schakel de selectievakjes voor bevestiging in.
- Kies Maak een stapel.
De CloudFormation-stack duurt ongeveer 5 minuten om te bereiken CREATE_COMPLETE
statuut.
- Controleer de inbox van het e-mailadres dat je hebt opgegeven en accepteer het SNS-abonnement.
U moet de abonnementsbevestiging lezen en accepteren om de functie voor e-mailmeldingen aan het einde van de walkthrough te demonstreren.
Op de Uitgangen tabblad van de stapel, kunt u de URL's vinden om door de DataBrew- en Step Functions-bronnen te bladeren die de sjabloon heeft gemaakt. Let ook op de voltooide AWS CLI-opdrachten die u in latere stappen gebruikt.
Als u de optie selecteert AWSGlueDataBrewRuleset
waarde link, zou u de detailpagina van de regelset moeten zien, zoals in de volgende schermafbeelding. In dit overzicht maken we een regelset voor gegevenskwaliteit met drie regels die controleren op ontbrekende waarden, uitbijters en tekenreekslengte.
Test de oplossing
In de volgende stappen gebruikt u de AWS CLI om juiste en onjuiste versies van het CSV-bestand te uploaden om de gebeurtenisgestuurde validatieoplossing voor gegevenskwaliteit te testen.
- Open een terminal- of opdrachtregelprompt en gebruik de AWS CLI om voorbeeldgegevens te downloaden. Gebruik de opdracht van de CloudFormation-stackuitvoer met de sleutelnaam
CommandToDownloadTestData
: - Gebruik de AWS CLI opnieuw om het ongewijzigde CSV-bestand naar uw S3-bucket te uploaden. Vervang de tekenreeks met uw bucketnaam, of kopieer en plak de opdracht die aan u is verstrekt vanuit de CloudFormation-sjabloonuitvoer:
- Zoek in de Step Functions-console de statusmachine die is gemaakt door de CloudFormation-sjabloon.
U kunt een URL vinden in de eerder genoemde CloudFormation-uitvoer.
- Op de executies tabblad, zou u een nieuwe uitvoering van de statusmachine moeten zien.
- Kies de URL van de run om de grafiek van de toestandsmachine te bekijken en de voortgang ervan te volgen.
De volgende afbeelding toont de workflow van onze staatsmachine.
Om het falen van een gegevenskwaliteitsregel aan te tonen, maakt u ten minste één bewerking aan de votes.csv
bestand.
- Open het bestand in de teksteditor of spreadsheettool van uw voorkeur en verwijder slechts één cel.
In de volgende schermafbeeldingen gebruik ik de GNU nano-editor op Linux. U kunt ook een spreadsheeteditor gebruiken om een cel te verwijderen. Hierdoor mislukt de regel "Alle kolommen controleren op ontbrekende waarden".
De volgende schermafbeelding toont het CSV-bestand vóór wijziging.
De volgende schermafbeelding toont het gewijzigde CSV-bestand.
- Bewaar de bewerkte
votes.csv
bestand en keer terug naar uw opdrachtprompt of terminal. - Gebruik de AWS CLI om het bestand nog een keer naar uw S3-bucket te uploaden. U gebruikt dezelfde opdracht als voorheen:
- Navigeer in de Step Functions-console naar de laatste machinerun om deze te controleren.
De validatie van de gegevenskwaliteit mislukt, waardoor een SNS-e-mailmelding wordt geactiveerd en de uitvoering van de algehele statusmachine mislukt.
De volgende afbeelding toont de workflow van de mislukte statusmachine.
De volgende schermafbeelding toont een voorbeeld van de SNS-e-mail.
- U kunt de regelfout op de DataBrew-console onderzoeken door de:
AWSGlueDataBrewProfileResults
waarde in de CloudFormation-stackuitgangen.
Opruimen
Verwijder de bronnen om toekomstige kosten te voorkomen. Verwijder op de AWS CloudFormation-console de stapel met de naam AWSBigDataBlogDataBrewDQSample
.
Conclusie
In dit bericht heb je geleerd hoe je geautomatiseerde, gebeurtenisgestuurde validatiepijplijnen voor gegevenskwaliteit kunt bouwen. Met DataBrew kunt u regels, drempels en regelsets voor gegevenskwaliteit definiëren voor uw zakelijke en technische vereisten. Met Step Functions, EventBridge en Amazon SNS kunt u complexe pijplijnen bouwen met aanpasbare foutafhandeling en waarschuwingen die zijn afgestemd op uw behoeften.
U kunt meer te weten komen over deze oplossing en de broncode door naar de: GitHub-repository. Ga voor meer informatie over DataBrew-gegevenskwaliteitsregels naar Met AWS Glue DataBrew kunnen klanten nu regels voor gegevenskwaliteit maken om hun zakelijke vereisten te definiëren en te valideren of verwijzen naar Gegevenskwaliteit valideren in AWS Glue DataBrew.
Over de auteurs
Laith Al-Saadoon is een Principal Prototyping Architect in het Envision Engineering-team. Hij bouwt prototypes en oplossingen met behulp van AI, machine learning, IoT & edge computing, streaminganalyse, robotica en ruimtelijke computing om echte klantproblemen op te lossen. In zijn vrije tijd geniet Laith van buitenactiviteiten zoals fotografie, dronevluchten, wandelen en paintballen.
Gordon Burgess is Senior Product Manager bij AWS Glue DataBrew. Hij heeft een passie voor het helpen van klanten bij het ontdekken van inzichten uit hun gegevens, en richt zich op het bouwen van gebruikerservaringen en rijke functionaliteit voor analyseproducten. Naast zijn werk houdt Gordon van lezen, koffie drinken en computers bouwen.
- '
- &
- 100
- 107
- 7
- Over
- Account
- activiteiten
- adres
- AI
- Alles
- Amazone
- analytics
- Aanvraag
- architectuur
- geautomatiseerde
- AWS
- bouw
- Gebouw
- bedrijfsdeskundigen
- lasten
- Controles
- Schoonmaak
- code
- Koffie
- Kolom
- complex
- computers
- computergebruik
- troosten
- Klanten
- gegevens
- data kwaliteit
- dag
- Onthul Nu
- dar
- rand
- edge computing
- editor
- eindigt
- Engineering
- Milieu
- EVENTS
- voorbeeld
- Ervaringen
- Storing
- sneller
- Kenmerk
- geschikt
- Vluchten
- gevonden
- Gratis
- functie
- functies
- toekomst
- Groeiend
- Behandeling
- gezondheidszorg
- helpt
- wandelen
- Hoe
- How To
- HTTPS
- identificeren
- beeld
- uitvoeren
- inzichten
- onderzoeken
- iot
- problemen
- IT
- Jobomschrijving:
- sleutel
- Groot
- laatste
- LEARN
- geleerd
- leren
- Lijn
- LINK
- linux
- plaats
- machine learning
- Fabrikant
- ML
- meer
- nano
- nodig
- notificatie
- Opties
- bestellen
- Overige
- Buiten
- fotografie
- Principal
- Product
- Producten
- Profiel
- prototyping
- leverancier
- kwaliteit
- lezing
- verminderen
- vervangen
- Voorwaarden
- Resources
- antwoord
- Resultaten
- Retourneren
- beoordelen
- robotica
- reglement
- lopen
- Scale
- Serverless
- Diensten
- reeks
- gelijk
- Eenvoudig
- So
- Oplossingen
- OPLOSSEN
- ruimtelijke
- ruimtelijk computergebruik
- specifiek
- spreadsheet
- Land
- statistiek
- Status
- mediaopslag
- streaming
- abonnement
- succes
- Technisch
- terminal
- proef
- De Bron
- Door
- niet de tijd of
- tools
- Transformatie
- transformeren
- zelfstudie
- waarde
- Bekijk
- Mijn werk
- workflow