Le aziende raccolgono sempre più dati ogni giorno per guidare processi come il processo decisionale, la creazione di report e l'apprendimento automatico (ML). Prima di pulire e trasformare i tuoi dati, devi determinare se sono idonei all'uso. Dati errati, mancanti o malformati possono avere un grande impatto sull'analisi a valle e sui processi di machine learning. L'esecuzione dei controlli della qualità dei dati aiuta a identificare i problemi in precedenza nel flusso di lavoro in modo da poterli risolvere più rapidamente. Inoltre, l'esecuzione di questi controlli utilizzando un'architettura basata su eventi consente di ridurre i punti di contatto manuali e di scalare con quantità crescenti di dati.
DataBrew di AWS Glue è uno strumento visivo di preparazione dei dati che semplifica la ricerca di statistiche sulla qualità dei dati come valori duplicati, valori mancanti e valori anomali nei dati. Puoi anche impostare regole di qualità dei dati in DataBrew per eseguire controlli condizionali in base alle tue esigenze aziendali specifiche. Ad esempio, un produttore potrebbe dover assicurarsi che non vi siano valori duplicati specificamente in a Part ID
colonna, oppure un operatore sanitario potrebbe verificare quei valori in un SSN
colonna sono di una certa lunghezza. Dopo aver creato e convalidato queste regole con DataBrew, puoi utilizzare Amazon EventBridge, Funzioni AWS Step, AWS Lambdae Servizio di notifica semplice Amazon (Amazon SNS) per creare un flusso di lavoro automatizzato e inviare una notifica quando una regola non supera un controllo di convalida.
In questo post, ti guidiamo attraverso il flusso di lavoro end-to-end e come implementare questa soluzione. Questo post include un tutorial passo-passo, un Modello di applicazione serverless AWS (AWS SAM) e codice di esempio che puoi utilizzare per distribuire l'applicazione nel tuo ambiente AWS.
Panoramica della soluzione
La soluzione in questo post combina serverless Servizi AWS per creare una pipeline end-to-end basata su eventi completamente automatizzata per la convalida della qualità dei dati. Il diagramma seguente illustra la nostra architettura della soluzione.
Il flusso di lavoro della soluzione contiene i seguenti passaggi:
- Quando carichi nuovi dati sul tuo Servizio di archiviazione semplice Amazon (Amazon S3), gli eventi vengono inviati a EventBridge.
- Una regola EventBridge attiva una macchina a stati Step Functions per l'esecuzione.
- La macchina a stati avvia un processo del profilo DataBrew, configurato con un set di regole e regole per la qualità dei dati. Se stai pensando di creare una soluzione simile, la posizione di output del lavoro del profilo DataBrew e i bucket S3 dei dati di origine dovrebbero essere univoci. Ciò impedisce l'esecuzione ricorsiva del lavoro. Distribuiamo le nostre risorse con un AWS CloudFormazione template, che crea bucket S3 unici.
- Una funzione Lambda legge i risultati della qualità dei dati da Amazon S3 e restituisce una risposta booleana nella macchina a stati. La funzione ritorna
false
se una o più regole nel set di regole hanno esito negativo e restituiscetrue
se tutte le regole hanno successo. - Se la risposta booleana è
false
, la macchina a stati invia una notifica e-mail con Amazon SNS e la macchina a stati termina con afailed
stato. Se la risposta booleana ètrue
, la macchina a stati termina in asucceed
stato. Puoi anche estendere la soluzione in questo passaggio per eseguire altre attività in caso di esito positivo o negativo. Ad esempio, se tutte le regole hanno esito positivo, puoi inviare un messaggio EventBridge per attivare un altro processo di trasformazione in DataBrew.
In questo post, utilizzerai AWS CloudFormation per distribuire una demo completamente funzionante della soluzione di convalida della qualità dei dati basata su eventi. Puoi testare la soluzione caricando un file CSV (valori separati da virgole) valido su Amazon S3, seguito da un file CSV non valido.
I passi sono come segue:
- Avvia uno stack CloudFormation per distribuire le risorse della soluzione.
- Testare la soluzione:
- Carica un file CSV valido su Amazon S3 e osserva la convalida della qualità dei dati e la macchina a stati Step Functions riesce.
- Carica un file CSV non valido su Amazon S3 e osserva la convalida della qualità dei dati e la macchina a stati Step Functions non riescono e ricevi una notifica e-mail da Amazon SNS.
Tutto il codice di esempio può essere trovato nel Repository GitHub.
Prerequisiti
Per questa procedura dettagliata, è necessario disporre dei seguenti prerequisiti:
Distribuisci le risorse della soluzione utilizzando AWS CloudFormation
Utilizzi uno stack CloudFormation per distribuire le risorse necessarie per la soluzione di convalida della qualità dei dati basata sugli eventi. Lo stack include un set di dati e un set di regole di esempio in DataBrew.
- Accedi al tuo account AWS e quindi scegli Avvia Stack:
- Sulla Stack di creazione rapida pagina, per Indirizzo email, inserisci un indirizzo e-mail valido per le notifiche e-mail di Amazon SNS.
- Lascia le opzioni rimanenti impostate sui valori predefiniti.
- Seleziona le caselle di controllo del riconoscimento.
- Scegli Crea stack.
Lo stack di CloudFormation impiega circa 5 minuti per essere raggiunto CREATE_COMPLETE
stato.
- Controlla la posta in arrivo dell'indirizzo email che hai fornito e accetta l'abbonamento SNS.
È necessario rivedere e accettare la conferma dell'iscrizione per dimostrare la funzionalità di notifica e-mail alla fine della procedura dettagliata.
Sulla Uscite scheda dello stack, puoi trovare gli URL per sfogliare le risorse DataBrew e Step Functions create dal modello. Nota anche i comandi AWS CLI completati che utilizzi nei passaggi successivi.
Se si sceglie la AWSGlueDataBrewRuleset
value, dovresti vedere la pagina dei dettagli del set di regole, come nello screenshot seguente. In questa procedura dettagliata creiamo un set di regole sulla qualità dei dati con tre regole che controllano i valori mancanti, i valori anomali e la lunghezza delle stringhe.
Prova la soluzione
Nei passaggi seguenti, utilizzi l'AWS CLI per caricare versioni corrette e non corrette del file CSV per testare la soluzione di convalida della qualità dei dati basata su eventi.
- Apri un terminale o un prompt della riga di comando e utilizza l'AWS CLI per scaricare i dati di esempio. Utilizza il comando dall'output dello stack CloudFormation con il nome della chiave
CommandToDownloadTestData
: - Utilizza nuovamente l'AWS CLI per caricare il file CSV non modificato nel bucket S3. Sostituisci la stringa con il nome del tuo bucket oppure copia e incolla il comando fornito dall'output del modello CloudFormation:
- Nella console Step Functions, individua la macchina a stati creata dal modello CloudFormation.
Puoi trovare un URL negli output di CloudFormation annotati in precedenza.
- Sulla esecuzioni tab, dovresti vedere una nuova esecuzione della macchina a stati.
- Scegli l'URL della corsa per visualizzare il grafico della macchina a stati e monitorarne l'avanzamento.
L'immagine seguente mostra il flusso di lavoro della nostra macchina a stati.
Per dimostrare il fallimento di una regola di qualità dei dati, apportare almeno una modifica a votes.csv
file.
- Apri il file nel tuo editor di testo preferito o nello strumento per fogli di calcolo ed elimina solo una cella.
Negli screenshot seguenti, utilizzo l'editor GNU nano su Linux. Puoi anche utilizzare un editor di fogli di calcolo per eliminare una cella. Ciò causa il fallimento della regola "Controlla tutte le colonne per i valori mancanti".
La schermata seguente mostra il file CSV prima della modifica.
La schermata seguente mostra il file CSV modificato.
- Salva il modificato
votes.csv
file e tornare al prompt dei comandi o al terminale. - Utilizza l'AWS CLI per caricare il file nel tuo bucket S3 ancora una volta. Usi lo stesso comando di prima:
- Nella console Step Functions, vai all'ultima esecuzione della macchina a stati per monitorarla.
La convalida della qualità dei dati ha esito negativo, attivando una notifica e-mail SNS e il fallimento dell'esecuzione complessiva della macchina a stati.
L'immagine seguente mostra il flusso di lavoro della macchina a stati guasta.
Lo screenshot seguente mostra un esempio dell'e-mail SNS.
- È possibile indagare sull'errore della regola nella console DataBrew selezionando l'opzione
AWSGlueDataBrewProfileResults
valore negli output dello stack di CloudFormation.
ripulire
Per evitare di incorrere in addebiti futuri, eliminare le risorse. Sulla console AWS CloudFormation, elimina lo stack denominato AWSBigDataBlogDataBrewDQSample
.
Conclusione
In questo post, hai appreso come creare pipeline di convalida della qualità dei dati automatizzate e basate su eventi. Con DataBrew, puoi definire regole, soglie e set di regole per la qualità dei dati per i tuoi requisiti tecnici e aziendali. Step Functions, EventBridge e Amazon SNS ti consentono di creare pipeline complesse con gestione degli errori personalizzabile e avvisi su misura per le tue esigenze.
Puoi saperne di più su questa soluzione e sul codice sorgente visitando il Repository GitHub. Per saperne di più sulle regole di qualità dei dati di DataBrew, visita AWS Glue DataBrew ora consente ai clienti di creare regole di qualità dei dati per definire e convalidare i propri requisiti aziendali o fare riferimento a Convalida della qualità dei dati in AWS Glue DataBrew.
Informazioni sugli autori
Laith Al-Saadoon è un Principal Prototyping Architect nel team di Envision Engineering. Costruisce prototipi e soluzioni utilizzando intelligenza artificiale, machine learning, IoT ed edge computing, analisi in streaming, robotica e informatica spaziale per risolvere i problemi dei clienti del mondo reale. Nel suo tempo libero, Laith ama le attività all'aperto come la fotografia, i voli con i droni, l'escursionismo e il paintball.
Gordon Burgess è Senior Product Manager con AWS Glue DataBrew. È appassionato di aiutare i clienti a scoprire informazioni dettagliate dai loro dati e si concentra sulla creazione di esperienze utente e funzionalità avanzate per i prodotti di analisi. Al di fuori del lavoro, a Gordon piace leggere, prendere il caffè e costruire computer.
- '
- &
- 100
- 107
- 7
- Chi siamo
- Il mio account
- attività
- indirizzo
- AI
- Tutti
- Amazon
- analitica
- Applicazioni
- architettura
- Automatizzata
- AWS
- costruire
- Costruzione
- affari
- oneri
- Controlli
- Pulizia
- codice
- Caffè
- Colonna
- complesso
- computer
- informatica
- consolle
- Clienti
- dati
- qualità dei dati
- giorno
- scopri
- fuco
- bordo
- edge computing
- editore
- finisce
- Ingegneria
- Ambiente
- eventi
- esempio
- Esperienze
- Fallimento
- più veloce
- caratteristica
- in forma
- Voli
- essere trovato
- Gratis
- function
- funzioni
- futuro
- Crescita
- Manovrabilità
- assistenza sanitaria
- aiuta
- escursionismo
- Come
- Tutorial
- HTTPS
- identificare
- Immagine
- realizzare
- intuizioni
- indagare
- IoT
- sicurezza
- IT
- Lavoro
- Le
- grandi
- con i più recenti
- IMPARARE
- imparato
- apprendimento
- linea
- LINK
- linux
- località
- machine learning
- Costruttore
- ML
- Scopri di più
- nano
- di applicazione
- notifica
- Opzioni
- minimo
- Altro
- All'aperto
- fotografia
- Direttore
- Prodotto
- Prodotti
- Profilo
- prototipazione
- fornitore
- qualità
- Lettura
- ridurre
- sostituire
- Requisiti
- Risorse
- risposta
- Risultati
- problemi
- recensioni
- robotica
- norme
- Correre
- Scala
- serverless
- Servizi
- set
- simile
- Un'espansione
- So
- Soluzioni
- RISOLVERE
- Spaziale
- informatica spaziale
- in particolare
- Foglio di calcolo
- Regione / Stato
- statistica
- Stato dei servizi
- conservazione
- Streaming
- sottoscrizione
- il successo
- Consulenza
- terminal
- test
- L’ORIGINE
- Attraverso
- tempo
- Trasformazione
- trasformazione
- lezione
- APPREZZIAMO
- Visualizza
- Lavora
- flusso di lavoro