Bedrifter samler inn mer og mer data hver dag for å drive prosesser som beslutningstaking, rapportering og maskinlæring (ML). Før du renser og transformerer dataene dine, må du finne ut om de er egnet for bruk. Feil, manglende eller misformet data kan ha stor innvirkning på nedstrømsanalyse og ML-prosesser. Ved å utføre datakvalitetskontroller kan du identifisere problemer tidligere i arbeidsflyten din, slik at du kan løse dem raskere. I tillegg hjelper å utføre disse kontrollene ved hjelp av en hendelsesbasert arkitektur deg redusere manuelle berøringspunkter og skalere med økende datamengder.
AWS Lim DataBrew er et visuelt dataforberedelsesverktøy som gjør det enkelt å finne datakvalitetsstatistikk som dupliserte verdier, manglende verdier og uteliggere i dataene dine. Du kan også sette opp datakvalitetsregler i DataBrew for å utføre betingede kontroller basert på dine unike forretningsbehov. For eksempel kan en produsent trenge å sikre at det ikke er noen dupliserte verdier spesifikt i en Part ID
kolonne, eller en helsepersonell kan sjekke at verdiene i en SSN
kolonne har en viss lengde. Etter at du har opprettet og validert disse reglene med DataBrew, kan du bruke Amazon EventBridge, AWS trinnfunksjoner, AWS Lambdaog Amazon enkel varslingstjeneste (Amazon SNS) for å opprette en automatisert arbeidsflyt og sende et varsel når en regel mislykkes i en valideringssjekk.
I dette innlegget leder vi deg gjennom ende-til-ende arbeidsflyten og hvordan du implementerer denne løsningen. Dette innlegget inkluderer en trinn-for-trinn-veiledning, en AWS-serverløs applikasjonsmodell (AWS SAM) mal, og eksempelkode som du kan bruke til å distribuere applikasjonen i ditt eget AWS-miljø.
Løsningsoversikt
Løsningen i dette innlegget kombinerer server AWS-tjenester for å bygge en fullstendig automatisert, ende-til-ende hendelsesdrevet pipeline for datakvalitetsvalidering. Følgende diagram illustrerer løsningsarkitekturen vår.
Løsningsarbeidsflyten inneholder følgende trinn:
- Når du laster opp nye data til din Amazon enkel lagringstjeneste (Amazon S3) bøtte, hendelser sendes til EventBridge.
- En EventBridge-regel utløser en Step Functions-tilstandsmaskin til å kjøre.
- Tilstandsmaskinen starter en DataBrew-profiljobb, konfigurert med et regelsett og regler for datakvalitet. Hvis du vurderer å bygge en lignende løsning, bør utdataplasseringen for DataBrew-profilen og kildedata S3-bøttene være unike. Dette forhindrer rekursive jobbkjøringer. Vi bruker ressursene våre med en AWS skyformasjon mal, som skaper unike S3-bøtter.
- En Lambda-funksjon leser datakvalitetsresultatene fra Amazon S3, og returnerer en boolsk respons inn i tilstandsmaskinen. Funksjonen returnerer
false
hvis en eller flere regler i regelsettet mislykkes, og returnerertrue
hvis alle regler lykkes. - Hvis den boolske responsen er
false
, sender statsmaskinen en e-postvarsling med Amazon SNS og statsmaskinen ender på enfailed
status. Hvis den boolske responsen ertrue
, ender statsmaskinen på ensucceed
status. Du kan også utvide løsningen i dette trinnet til å kjøre andre oppgaver ved suksess eller fiasko. For eksempel, hvis alle reglene lykkes, kan du sende en EventBridge-melding for å utløse en annen transformasjonsjobb i DataBrew.
I dette innlegget bruker du AWS CloudFormation til å distribuere en fullt fungerende demo av den hendelsesdrevne datakvalitetsvalideringsløsningen. Du tester løsningen ved å laste opp en gyldig kommaseparert fil (CSV) til Amazon S3, etterfulgt av en ugyldig CSV-fil.
Trinnene er som følger:
- Start en CloudFormation-stabel for å distribuere løsningsressursene.
- Test løsningen:
- Last opp en gyldig CSV-fil til Amazon S3 og observer at datakvalitetsvalideringen og trinnfunksjonene lykkes.
- Last opp en ugyldig CSV-fil til Amazon S3 og observer datakvalitetsvalideringen og trinnfunksjonene til maskinen mislykkes, og motta et e-postvarsel fra Amazon SNS.
All eksempelkoden finner du i GitHub repository.
Forutsetninger
For dette gjennomgangen bør du ha følgende forutsetninger:
Distribuer løsningsressursene ved hjelp av AWS CloudFormation
Du bruker en CloudFormation-stack for å distribuere ressursene som trengs for den hendelsesdrevne datakvalitetsvalideringsløsningen. Stabelen inkluderer et eksempeldatasett og regelsett i DataBrew.
- Logg på AWS-kontoen din og velg Start Stack:
- På Rask opprett bunke side, for Epostadresse, skriv inn en gyldig e-postadresse for Amazon SNS-e-postvarsler.
- La de gjenværende alternativene stå til standardinnstillingene.
- Velg avmerkingsboksene for bekreftelse.
- Velg Lag stabel.
CloudFormation-stakken tar omtrent 5 minutter å nå CREATE_COMPLETE
status.
- Sjekk innboksen til e-postadressen du oppga og godta SNS-abonnementet.
Du må gå gjennom og godta abonnementsbekreftelsen for å demonstrere e-postvarslingsfunksjonen på slutten av gjennomgangen.
På Utganger fanen i stabelen, kan du finne URL-ene for å bla gjennom DataBrew- og Step Functions-ressursene som malen opprettet. Legg også merke til de fullførte AWS CLI-kommandoene du bruker i senere trinn.
Hvis du velger AWSGlueDataBrewRuleset
verdikobling, bør du se siden med regelsettdetaljer, som i følgende skjermbilde. I denne gjennomgangen lager vi et regelsett for datakvalitet med tre regler som sjekker for manglende verdier, uteliggere og strenglengde.
Test løsningen
I de følgende trinnene bruker du AWS CLI til å laste opp korrekte og feil versjoner av CSV-filen for å teste den hendelsesdrevne datakvalitetsvalideringsløsningen.
- Åpne en terminal eller kommandolinje og bruk AWS CLI for å laste ned eksempeldata. Bruk kommandoen fra CloudFormation-stabelutgangen med nøkkelnavnet
CommandToDownloadTestData
: - Bruk AWS CLI igjen for å laste opp den uendrede CSV-filen til S3-bøtten din. Bytt ut strengen med bøttenavnet ditt, eller kopier og lim inn kommandoen du får fra CloudFormation-malutgangen:
- På Step Functions-konsollen finner du tilstandsmaskinen opprettet av CloudFormation-malen.
Du kan finne en URL i CloudFormation-utgangene nevnt tidligere.
- På henrettelser fanen, bør du se en ny kjøring av tilstandsmaskinen.
- Velg kjøringens URL for å se tilstandsmaskingrafen og overvåke fremdriften.
Følgende bilde viser arbeidsflyten til statsmaskinen vår.
For å demonstrere feil ved en datakvalitetsregel, gjør du minst én redigering av votes.csv
filen.
- Åpne filen i ditt foretrukne tekstredigerings- eller regnearkverktøy, og slett bare én celle.
I de følgende skjermbildene bruker jeg GNU nano-editoren på Linux. Du kan også bruke et regnearkredigeringsprogram for å slette en celle. Dette fører til at "Sjekk alle kolonner for manglende verdier"-regelen mislykkes.
Følgende skjermbilde viser CSV-filen før endring.
Følgende skjermbilde viser den endrede CSV-filen.
- Lagre det redigerte
votes.csv
fil og gå tilbake til ledeteksten eller terminalen. - Bruk AWS CLI for å laste opp filen til S3-bøtten din en gang til. Du bruker samme kommando som før:
- På Step Functions-konsollen, naviger til den siste tilstandsmaskinkjøringen for å overvåke den.
Valideringen av datakvaliteten mislykkes, og utløser et SNS-e-postvarsel og feilen i den generelle tilstandsmaskinens kjøring.
Følgende bilde viser arbeidsflyten til den mislykkede tilstandsmaskinen.
Følgende skjermbilde viser et eksempel på SNS-e-posten.
- Du kan undersøke regelfeilen på DataBrew-konsollen ved å velge
AWSGlueDataBrewProfileResults
verdi i CloudFormation-stabelutgangene.
Rydd opp
Slett ressursene for å unngå fremtidige kostnader. Slett den navngitte stabelen på AWS CloudFormation-konsollen AWSBigDataBlogDataBrewDQSample
.
konklusjonen
I dette innlegget lærte du hvordan du bygger automatiserte, hendelsesdrevne datakvalitetsvalideringspipelines. Med DataBrew kan du definere datakvalitetsregler, terskler og regelsett for din virksomhet og tekniske krav. Step Functions, EventBridge og Amazon SNS lar deg bygge komplekse pipelines med tilpassbar feilhåndtering og varsling skreddersydd til dine behov.
Du kan lære mer om denne løsningen og kildekoden ved å gå til GitHub repository. For å lære mer om DataBrew-datakvalitetsregler, besøk AWS Glue DataBrew lar nå kunder lage datakvalitetsregler for å definere og validere deres forretningskrav eller referer til Validerer datakvalitet i AWS Glue DataBrew.
Om forfatterne
Laith Al-Saadoon er en hovedprototyparkitekt i Envision Engineering-teamet. Han bygger prototyper og løsninger ved å bruke AI, maskinlæring, IoT og edge computing, streaminganalyse, robotikk og romlig databehandling for å løse virkelige kundeproblemer. På fritiden liker Laith utendørsaktiviteter som fotografering, droneflyvninger, fotturer og paintball.
Gordon Burgess er senior produktsjef med AWS Glue DataBrew. Han brenner for å hjelpe kunder med å finne innsikt fra dataene deres, og fokuserer på å bygge brukeropplevelser og rik funksjonalitet for analyseprodukter. Utenom jobben liker Gordon å lese, kaffe og bygge datamaskiner.
- '
- &
- 100
- 107
- 7
- Om oss
- Logg inn
- Aktiviteter
- adresse
- AI
- Alle
- Amazon
- analytics
- Søknad
- arkitektur
- Automatisert
- AWS
- bygge
- Bygning
- virksomhet
- avgifter
- Sjekker
- Rengjøring
- kode
- Kaffe
- Kolonne
- komplekse
- datamaskiner
- databehandling
- Konsoll
- Kunder
- dato
- datakvalitet
- dag
- oppdage
- drone
- Edge
- kanten beregning
- redaktør
- emalje
- slutter
- Ingeniørarbeid
- Miljø
- hendelser
- eksempel
- Erfaringer
- Failure
- raskere
- Trekk
- passer
- Flyreiser
- funnet
- Gratis
- funksjon
- funksjoner
- framtid
- Økende
- Håndtering
- helsetjenester
- hjelper
- vandreturer
- Hvordan
- Hvordan
- HTTPS
- identifisere
- bilde
- iverksette
- innsikt
- undersøke
- IOT
- saker
- IT
- Jobb
- nøkkel
- stor
- siste
- LÆRE
- lært
- læring
- linje
- LINK
- linux
- plassering
- maskinlæring
- Produsent
- ML
- mer
- nano
- nødvendig
- varsling
- alternativer
- rekkefølge
- Annen
- utendørs
- fotografering
- Principal
- Produkt
- Produkter
- Profil
- prototyping
- leverandør
- kvalitet
- Lesning
- redusere
- erstatte
- Krav
- Ressurser
- svar
- Resultater
- avkastning
- anmeldelse
- robotikk
- regler
- Kjør
- Skala
- server~~POS=TRUNC
- Tjenester
- sett
- lignende
- Enkelt
- So
- Solutions
- LØSE
- romlig
- romlig databehandling
- spesielt
- regneark
- Tilstand
- statistikk
- status
- lagring
- streaming
- abonnement
- suksess
- Teknisk
- terminal
- test
- Kilden
- Gjennom
- tid
- verktøy
- Transformation
- transformere
- tutorial
- verdi
- Se
- Arbeid
- arbeidsflyt