Virksomheder indsamler flere og flere data hver dag for at drive processer som beslutningstagning, rapportering og maskinlæring (ML). Før du renser og transformerer dine data, skal du afgøre, om det er egnet til brug. Forkerte, manglende eller forkerte data kan have stor indflydelse på downstream-analyse og ML-processer. Udførelse af datakvalitetstjek hjælper med at identificere problemer tidligere i din arbejdsgang, så du kan løse dem hurtigere. Udførelse af disse kontroller ved hjælp af en hændelsesbaseret arkitektur hjælper dig desuden med at reducere manuelle berøringspunkter og skalere med voksende mængder data.
AWS Glue Data Brew er et visuelt dataforberedelsesværktøj, der gør det nemt at finde datakvalitetsstatistikker såsom duplikerede værdier, manglende værdier og outliers i dine data. Du kan også opsætte datakvalitetsregler i DataBrew for at udføre betingede kontroller baseret på dine unikke forretningsbehov. For eksempel kan en producent være nødt til at sikre, at der ikke er duplikerede værdier specifikt i en Part ID
kolonne, eller en sundhedsudbyder kan kontrollere, at værdierne i en SSN
søjlen har en vis længde. Når du har oprettet og valideret disse regler med DataBrew, kan du bruge Amazon Eventbridge, AWS-trinfunktioner, AWS Lambdaog Amazon Simple Notification Service (Amazon SNS) for at oprette en automatiseret arbejdsgang og sende en meddelelse, når en regel mislykkes i et valideringstjek.
I dette indlæg guider vi dig gennem end-to-end workflowet og hvordan du implementerer denne løsning. Dette indlæg inkluderer en trin-for-trin vejledning, en AWS serverløs applikationsmodel (AWS SAM) skabelon og eksempelkode, som du kan bruge til at implementere applikationen i dit eget AWS-miljø.
Løsningsoversigt
Løsningen i dette indlæg kombinerer serverless AWS-tjenester til at bygge en fuldstændig automatiseret, end-to-end begivenhedsdrevet pipeline til datakvalitetsvalidering. Følgende diagram illustrerer vores løsningsarkitektur.
Løsningsarbejdsgangen indeholder følgende trin:
- Når du uploader nye data til din Amazon Simple Storage Service (Amazon S3) bucket, begivenheder sendes til EventBridge.
- En EventBridge-regel udløser en Step Functions-tilstandsmaskine til at køre.
- Statsmaskinen starter et DataBrew-profiljob, konfigureret med et regelsæt og regler for datakvalitet. Hvis du overvejer at bygge en lignende løsning, burde DataBrew-profilens joboutputplacering og S3-kildedataene være unikke. Dette forhindrer rekursive jobkørsel. Vi anvender vores ressourcer med en AWS CloudFormation skabelon, som skaber unikke S3-spande.
- En Lambda-funktion læser datakvalitetsresultaterne fra Amazon S3 og returnerer et boolesk svar til tilstandsmaskinen. Funktionen vender tilbage
false
hvis en eller flere regler i regelsættet fejler, og vender tilbagetrue
hvis alle regler lykkes. - Hvis det boolske svar er
false
, sender statsmaskinen en e-mail-meddelelse med Amazon SNS, og statsmaskinen ender med enfailed
status. Hvis det boolske svar ertrue
, ender statsmaskinen i ensucceed
status. Du kan også udvide løsningen i dette trin til at køre andre opgaver på succes eller fiasko. For eksempel, hvis alle reglerne lykkes, kan du sende en EventBridge-meddelelse for at udløse endnu et transformationsjob i DataBrew.
I dette indlæg bruger du AWS CloudFormation til at implementere en fuldt fungerende demo af den begivenhedsdrevne datakvalitetsvalideringsløsning. Du tester løsningen ved at uploade en gyldig fil med kommaseparerede værdier (CSV) til Amazon S3 efterfulgt af en ugyldig CSV-fil.
Trinnene er som følger:
- Start en CloudFormation-stak for at implementere løsningsressourcerne.
- Test løsningen:
- Upload en gyldig CSV-fil til Amazon S3, og observer, at datakvalitetsvalideringen og trinfunktionstilstandsmaskinen lykkes.
- Upload en ugyldig CSV-fil til Amazon S3 og observer datakvalitetsvalideringen og trinfunktionstilstandsmaskinen mislykkes, og modtag en e-mailmeddelelse fra Amazon SNS.
Al prøvekoden kan findes i GitHub repository.
Forudsætninger
For denne gennemgang skal du have følgende forudsætninger:
Implementer løsningsressourcerne ved hjælp af AWS CloudFormation
Du bruger en CloudFormation-stak til at implementere de nødvendige ressourcer til den hændelsesdrevne datakvalitetsvalideringsløsning. Stakken inkluderer et eksempeldatasæt og regelsæt i DataBrew.
- Log ind på din AWS-konto, og vælg derefter Start Stack:
- På Hurtig oprette stak side, for Email adresse, indtast en gyldig e-mailadresse til Amazon SNS-e-mail-notifikationer.
- Lad de resterende indstillinger være indstillet til standardindstillingerne.
- Marker afkrydsningsfelterne for bekræftelse.
- Vælg Opret stak.
CloudFormation-stakken tager omkring 5 minutter at nå CREATE_COMPLETE
status.
- Tjek indbakken på den e-mailadresse, du har angivet, og accepter SNS-abonnementet.
Du skal gennemgå og acceptere abonnementsbekræftelsen for at demonstrere e-mail-notifikationsfunktionen i slutningen af gennemgangen.
På Udgange fanen i stakken, kan du finde URL'erne til at gennemse DataBrew- og Step Functions-ressourcerne, som skabelonen oprettede. Bemærk også de udfyldte AWS CLI-kommandoer, du bruger i senere trin.
Hvis du vælger AWSGlueDataBrewRuleset
værdilink, bør du se siden med regelsætdetaljer, som på det følgende skærmbillede. I denne gennemgang opretter vi et regelsæt for datakvalitet med tre regler, der kontrollerer for manglende værdier, afvigelser og strenglængde.
Test løsningen
I de følgende trin bruger du AWS CLI til at uploade korrekte og forkerte versioner af CSV-filen for at teste den hændelsesdrevne datakvalitetsvalideringsløsning.
- Åbn en terminal- eller kommandolinjeprompt, og brug AWS CLI til at downloade eksempeldata. Brug kommandoen fra CloudFormations stak-output med nøglenavnet
CommandToDownloadTestData
: - Brug AWS CLI igen til at uploade den uændrede CSV-fil til din S3-bøtte. Udskift strengen med dit bucket-navn, eller kopier og indsæt kommandoen, du får fra CloudFormations skabelonoutput:
- På Step Functions-konsollen skal du finde den tilstandsmaskine, der er oprettet af CloudFormation-skabelonen.
Du kan finde en URL i de tidligere nævnte CloudFormation-output.
- På henrettelser fanen, skulle du se en ny kørsel af tilstandsmaskinen.
- Vælg kørslens URL for at se tilstandsmaskinens graf og overvåge dens fremskridt.
Følgende billede viser arbejdsgangen for vores statsmaskine.
For at demonstrere en fejl i en datakvalitetsregel skal du foretage mindst én redigering af votes.csv
fil.
- Åbn filen i dit foretrukne tekstredigerings- eller regnearksværktøj, og slet kun én celle.
I de følgende skærmbilleder bruger jeg GNU nano-editoren på Linux. Du kan også bruge en regnearkseditor til at slette en celle. Dette får reglen "Kontroller alle kolonner for manglende værdier" til at mislykkes.
Følgende skærmbillede viser CSV-filen før ændring.
Følgende skærmbillede viser den ændrede CSV-fil.
- Gem det redigerede
votes.csv
fil og vend tilbage til din kommandoprompt eller terminal. - Brug AWS CLI til at uploade filen til din S3-bøtte endnu en gang. Du bruger samme kommando som før:
- På Step Functions-konsollen skal du navigere til den seneste tilstandsmaskine, der er kørt for at overvåge den.
Validering af datakvalitet mislykkes, hvilket udløser en SNS-e-mail-meddelelse og fejl i den overordnede tilstandsmaskines kørsel.
Følgende billede viser arbejdsgangen for den fejlbehæftede tilstandsmaskine.
Følgende skærmbillede viser et eksempel på SNS-e-mailen.
- Du kan undersøge regelfejlen på DataBrew-konsollen ved at vælge
AWSGlueDataBrewProfileResults
værdi i CloudFormations stak-output.
Ryd op
Slet ressourcerne for at undgå fremtidige gebyrer. Slet den navngivne stak på AWS CloudFormation-konsollen AWSBigDataBlogDataBrewDQSample
.
Konklusion
I dette indlæg lærte du, hvordan du bygger automatiserede, hændelsesdrevne datakvalitetsvalideringspipelines. Med DataBrew kan du definere datakvalitetsregler, tærskler og regelsæt for din virksomhed og tekniske krav. Step Functions, EventBridge og Amazon SNS giver dig mulighed for at bygge komplekse pipelines med tilpasselig fejlhåndtering og alarmering skræddersyet til dine behov.
Du kan lære mere om denne løsning og kildekoden ved at besøge GitHub repository. For at lære mere om DataBrew-datakvalitetsreglerne, besøg AWS Glue DataBrew giver nu kunderne mulighed for at oprette datakvalitetsregler for at definere og validere deres forretningskrav eller henvise til Validering af datakvalitet i AWS Glue DataBrew.
Om forfatterne
Laith Al-Saadoon er Principal Prototyping Architect på Envision Engineering-teamet. Han bygger prototyper og løsninger ved hjælp af kunstig intelligens, maskinlæring, IoT og edge computing, streaminganalyse, robotteknologi og rumlig databehandling for at løse kundeproblemer i den virkelige verden. I sin fritid nyder Laith udendørsaktiviteter såsom fotografering, droneflyvninger, vandreture og paintball.
Gordon Burgess er Senior Product Manager med AWS Glue DataBrew. Han brænder for at hjælpe kunder med at opdage indsigt fra deres data og fokuserer på at opbygge brugeroplevelser og rig funktionalitet til analyseprodukter. Uden for arbejdet nyder Gordon at læse, kaffe og bygge computere.
- '
- &
- 100
- 107
- 7
- Om
- Konto
- aktiviteter
- adresse
- AI
- Alle
- Amazon
- analytics
- Anvendelse
- arkitektur
- Automatiseret
- AWS
- bygge
- Bygning
- virksomhed
- afgifter
- Kontrol
- Rengøring
- kode
- Kaffe
- Kolonne
- komplekse
- computere
- computing
- Konsol
- Kunder
- data
- datakvalitet
- dag
- opdage
- drone
- Edge
- kant computing
- editor
- ender
- Engineering
- Miljø
- begivenheder
- eksempel
- Oplevelser
- Manglende
- hurtigere
- Feature
- passer
- Fly
- fundet
- Gratis
- funktion
- funktioner
- fremtiden
- Dyrkning
- Håndtering
- sundhedspleje
- hjælper
- hiking
- Hvordan
- How To
- HTTPS
- identificere
- billede
- gennemføre
- indsigt
- undersøge
- tingenes internet
- spørgsmål
- IT
- Job
- Nøgle
- stor
- seneste
- LÆR
- lærte
- læring
- Line (linje)
- LINK
- linux
- placering
- machine learning
- Fabrikant
- ML
- mere
- nano
- behov
- underretning
- Indstillinger
- ordrer
- Andet
- udendørs
- fotografering
- Main
- Produkt
- Produkter
- Profil
- prototyping
- udbyder
- kvalitet
- Læsning
- reducere
- erstatte
- Krav
- Ressourcer
- svar
- Resultater
- afkast
- gennemgå
- robotteknik
- regler
- Kør
- Scale
- Serverless
- Tjenester
- sæt
- lignende
- Simpelt
- So
- Løsninger
- SOLVE
- rumlige
- rumlig databehandling
- specifikt
- regneark
- Tilstand
- statistik
- Status
- opbevaring
- streaming
- abonnement
- succes
- Teknisk
- terminal
- prøve
- The Source
- Gennem
- tid
- værktøj
- Transformation
- omdanne
- tutorial
- værdi
- Specifikation
- Arbejde
- workflow