Företag samlar in mer och mer data varje dag för att driva processer som beslutsfattande, rapportering och maskininlärning (ML). Innan du rengör och omvandlar din data måste du avgöra om den är lämplig att använda. Felaktiga, saknade eller felaktiga data kan ha stor inverkan på nedströmsanalys och ML-processer. Genom att utföra datakvalitetskontroller kan du identifiera problem tidigare i ditt arbetsflöde så att du kan lösa dem snabbare. Att göra dessa kontroller med hjälp av en händelsebaserad arkitektur hjälper dig dessutom att minska manuella beröringspunkter och skala med växande mängder data.
AWS Lim DataBrew är ett visuellt dataförberedande verktyg som gör det enkelt att hitta datakvalitetsstatistik som dubbletter av värden, saknade värden och extremvärden i din data. Du kan också ställa in datakvalitetsregler i DataBrew för att utföra villkorskontroller baserat på dina unika affärsbehov. Till exempel kan en tillverkare behöva se till att det inte finns några dubbletter av värden specifikt i en Part ID
kolumn, eller så kan en vårdgivare kontrollera att värdena i en SSN
kolumner har en viss längd. När du har skapat och validerat dessa regler med DataBrew kan du använda Amazon EventBridge, AWS stegfunktioner, AWS Lambdaoch Amazon enkel meddelandetjänst (Amazon SNS) för att skapa ett automatiserat arbetsflöde och skicka ett meddelande när en regel misslyckas med en valideringskontroll.
I det här inlägget går vi igenom arbetsflödet från början till slut och hur du implementerar den här lösningen. Det här inlägget innehåller en steg-för-steg handledning, en AWS serverlös applikationsmodell (AWS SAM) mall och exempelkod som du kan använda för att distribuera applikationen i din egen AWS-miljö.
Lösningsöversikt
Lösningen i det här inlägget kombinerar Server AWS-tjänster för att bygga en helt automatiserad, end-to-end händelsedriven pipeline för datakvalitetsvalidering. Följande diagram illustrerar vår lösningsarkitektur.
Lösningsarbetsflödet innehåller följande steg:
- När du laddar upp ny data till din Amazon enkel lagringstjänst (Amazon S3) bucket, händelser skickas till EventBridge.
- En EventBridge-regel utlöser en Step Functions-tillståndsmaskin att köras.
- Tillståndsmaskinen startar ett DataBrew-profiljobb, konfigurerat med ett regeluppsättning och regler för datakvalitet. Om du funderar på att bygga en liknande lösning bör DataBrew-profilens utdataplats och källdata S3-hinkarna vara unika. Detta förhindrar rekursiva jobbkörningar. Vi använder våra resurser med en AWS molnformation mall, som skapar unika S3-hinkar.
- En Lambda-funktion läser datakvalitetsresultaten från Amazon S3 och returnerar ett booleskt svar till tillståndsmaskinen. Funktionen återkommer
false
om en eller flera regler i regeluppsättningen misslyckas, och återkommertrue
om alla regler lyckas. - Om det booleska svaret är
false
, tillståndsmaskinen skickar ett e-postmeddelande med Amazon SNS och tillståndsmaskinen slutar med enfailed
status. Om det booleska svaret ärtrue
, tillståndsmaskinen slutar på ensucceed
status. Du kan också utöka lösningen i det här steget för att köra andra uppgifter vid framgång eller misslyckande. Till exempel, om alla regler lyckas, kan du skicka ett EventBridge-meddelande för att utlösa ett annat transformationsjobb i DataBrew.
I det här inlägget använder du AWS CloudFormation för att distribuera en fullt fungerande demo av den händelsedrivna lösningen för datakvalitetsvalidering. Du testar lösningen genom att ladda upp en giltig CSV-fil (comma-separated values) till Amazon S3, följt av en ogiltig CSV-fil.
Stegen är som följer:
- Starta en CloudFormation-stack för att distribuera lösningsresurserna.
- Testa lösningen:
- Ladda upp en giltig CSV-fil till Amazon S3 och observera att datakvalitetsvalideringen och stegfunktionernas tillståndsmaskin lyckas.
- Ladda upp en ogiltig CSV-fil till Amazon S3 och observera datakvalitetsvalideringen och stegfunktionernas tillståndsmaskin misslyckas och få ett e-postmeddelande från Amazon SNS.
Alla exempelkoder finns i GitHub repository.
Förutsättningar
För detta genomgång bör du ha följande förutsättningar:
Distribuera lösningsresurserna med AWS CloudFormation
Du använder en CloudFormation-stack för att distribuera de resurser som behövs för den händelsedrivna lösningen för datakvalitetsvalidering. Stacken inkluderar ett exempel på dataset och regeluppsättning i DataBrew.
- Logga in på ditt AWS-konto och välj sedan Starta stack:
- På Snabb skapa stack sida, för E-postadress, ange en giltig e-postadress för e-postmeddelanden från Amazon SNS.
- Lämna de återstående alternativen inställda på standardinställningarna.
- Markera kryssrutorna för bekräftelse.
- Välja Skapa stack.
CloudFormation-stacken tar cirka 5 minuter att nå CREATE_COMPLETE
status.
- Kontrollera inkorgen för den e-postadress du angav och acceptera SNS-prenumerationen.
Du måste granska och acceptera prenumerationsbekräftelsen för att visa e-postmeddelandefunktionen i slutet av genomgången.
På Utgångarna fliken i stacken kan du hitta URL:erna för att bläddra i DataBrew och Step Functions-resurserna som mallen skapade. Notera också de slutförda AWS CLI-kommandona som du använder i senare steg.
Om du väljer AWSGlueDataBrewRuleset
värdelänk, bör du se informationssidan för regeluppsättningen, som i följande skärmdump. I den här genomgången skapar vi en regeluppsättning för datakvalitet med tre regler som kontrollerar saknade värden, extremvärden och stränglängd.
Testa lösningen
I följande steg använder du AWS CLI för att ladda upp korrekta och felaktiga versioner av CSV-filen för att testa den händelsedrivna datakvalitetsvalideringslösningen.
- Öppna en terminal- eller kommandoradsprompt och använd AWS CLI för att ladda ner exempeldata. Använd kommandot från CloudFormation-stacken med nyckelnamnet
CommandToDownloadTestData
: - Använd AWS CLI igen för att ladda upp den oförändrade CSV-filen till din S3-bucket. Byt ut strängen med ditt hinknamn, eller kopiera och klistra in kommandot som du fått från CloudFormations mallutgång:
- På Step Functions-konsolen, lokalisera tillståndsmaskinen som skapats av CloudFormation-mallen.
Du kan hitta en URL i CloudFormation-utgångarna som noterades tidigare.
- På avrättningar fliken bör du se en ny körning av tillståndsmaskinen.
- Välj körningens URL för att se tillståndsmaskinens graf och övervaka dess framsteg.
Följande bild visar arbetsflödet för vår tillståndsmaskin.
För att visa att en datakvalitetsregel misslyckats gör du minst en redigering av votes.csv
fil.
- Öppna filen i din föredragna textredigerare eller kalkylarksverktyg och ta bort bara en cell.
I följande skärmdumpar använder jag GNU nano-redigeraren på Linux. Du kan också använda en kalkylarksredigerare för att ta bort en cell. Detta gör att regeln "Kontrollera alla kolumner för saknade värden" misslyckas.
Följande skärmdump visar CSV-filen före ändring.
Följande skärmdump visar den ändrade CSV-filen.
- Spara det redigerade
votes.csv
fil och återgå till din kommandotolk eller terminal. - Använd AWS CLI för att ladda upp filen till din S3-bucket en gång till. Du använder samma kommando som tidigare:
- På Step Functions-konsolen navigerar du till den senaste körningen av tillståndsmaskinen för att övervaka den.
Validering av datakvalitet misslyckas, vilket utlöser en SNS-e-postavisering och ett misslyckande i den övergripande tillståndsmaskinens körning.
Följande bild visar arbetsflödet för den misslyckade tillståndsmaskinen.
Följande skärmdump visar ett exempel på SNS-e-postmeddelandet.
- Du kan undersöka regelfelet på DataBrew-konsolen genom att välja
AWSGlueDataBrewProfileResults
värde i CloudFormation-stackens utdata.
Städa upp
Ta bort resurserna för att undvika framtida avgifter. På AWS CloudFormation-konsolen, ta bort stacken med namnet AWSBigDataBlogDataBrewDQSample
.
Slutsats
I det här inlägget lärde du dig hur du bygger automatiserade, händelsedrivna pipelines för datakvalitetsvalidering. Med DataBrew kan du definiera datakvalitetsregler, trösklar och regeluppsättningar för din verksamhet och tekniska krav. Step Functions, EventBridge och Amazon SNS låter dig bygga komplexa pipelines med anpassningsbar felhantering och varning skräddarsydda efter dina behov.
Du kan lära dig mer om den här lösningen och källkoden genom att besöka GitHub repository. För att lära dig mer om DataBrews datakvalitetsregler, besök AWS Glue DataBrew tillåter nu kunder att skapa datakvalitetsregler för att definiera och validera deras affärskrav eller hänvisa till Validerar datakvalitet i AWS Glue DataBrew.
Om författarna
Laith Al-Saadoon är en huvudprototyparkitekt i Envision Engineering-teamet. Han bygger prototyper och lösningar med hjälp av AI, maskininlärning, IoT och edge computing, streaminganalys, robotteknik och rumslig datoranvändning för att lösa verkliga kundproblem. På sin fritid gillar Laith utomhusaktiviteter som fotografering, drönarflyg, vandring och paintball.
Gordon Burgess är Senior Product Manager med AWS Glue DataBrew. Han brinner för att hjälpa kunder att upptäcka insikter från deras data, och fokuserar på att bygga användarupplevelser och rik funktionalitet för analysprodukter. Utanför jobbet tycker Gordon om att läsa, fika och bygga datorer.
- '
- &
- 100
- 107
- 7
- Om oss
- Konto
- aktiviteter
- adress
- AI
- Alla
- amason
- analytics
- Ansökan
- arkitektur
- Automatiserad
- AWS
- SLUTRESULTAT
- Byggnad
- företag
- avgifter
- Kontroller
- Rengöring
- koda
- Kaffe
- Kolumn
- komplex
- datorer
- databehandling
- Konsol
- Kunder
- datum
- Datakvalitet
- dag
- Upptäck
- drönare
- kant
- kanten beräkning
- redaktör
- slutar
- Teknik
- Miljö
- händelser
- exempel
- Erfarenheter
- Misslyckande
- snabbare
- Leverans
- passa
- Flyg
- hittade
- Fri
- fungera
- funktioner
- framtida
- Odling
- Arbetsmiljö
- hälso-och sjukvård
- hjälper
- vandring
- Hur ser din drömresa ut
- How To
- HTTPS
- identifiera
- bild
- genomföra
- insikter
- undersöka
- iot
- problem
- IT
- Jobb
- Nyckel
- Large
- senaste
- LÄRA SIG
- lärt
- inlärning
- linje
- LINK
- linux
- läge
- maskininlärning
- Tillverkare
- ML
- mer
- nano
- behövs
- anmälan
- Tillbehör
- beställa
- Övriga
- Utomhus
- fotografi
- Principal
- Produkt
- Produkter
- Profil
- prototyping
- leverantör
- kvalitet
- Läsning
- minska
- ersätta
- Krav
- Resurser
- respons
- Resultat
- återgår
- översyn
- robotik
- regler
- Körning
- Skala
- Server
- Tjänster
- in
- liknande
- Enkelt
- So
- Lösningar
- LÖSA
- rumsliga
- rumslig beräkning
- specifikt
- kalkylblad
- Ange
- statistik
- status
- förvaring
- streaming
- prenumeration
- framgång
- Teknisk
- terminal
- testa
- källan
- Genom
- tid
- verktyg
- Transformation
- omvandla
- handledning
- värde
- utsikt
- Arbete
- arbetsflöde