Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Rilevamento di anomalie in AWS Aderenza Qualità dei dati
Gli ingegneri gestiscono contemporaneamente centinaia di pipeline di dati. Ogni pipeline può estrarre dati da varie origini e caricarli nel data lake o in altri repository di dati. Per garantire che vengano forniti dati di alta qualità per il processo decisionale, vengono stabilite regole relative alla qualità dei dati. Queste regole valutano i dati sulla base di criteri fissi che rispecchiano lo stato attuale dell'azienda. Tuttavia, quando l'ambiente aziendale cambia, cambiano anche le proprietà dei dati, rendendo obsoleti questi criteri fissi e causando una scarsa qualità dei dati.
Ad esempio: un ingegnere dei dati presso un'azienda di vendita al dettaglio ha stabilito una regola secondo cui le vendite giornaliere devono superare la soglia di un milione di dollari. Dopo qualche mese, le vendite giornaliere hanno superato i due milioni di dollari, rendendo obsoleta la soglia. L'ingegnere dei dati non ha potuto aggiornare le regole in modo che riflettessero le soglie più recenti a causa della mancanza di notifiche e dello sforzo richiesto per analizzare e aggiornare manualmente la regola. Più avanti nel mese, gli utenti aziendali hanno notato un calo del 25% nelle vendite. Dopo ore di indagini, i tecnici dei dati hanno scoperto che una pipeline ETL responsabile dell'estrazione dei dati da alcuni negozi aveva smesso di funzionare senza generare errori. La regola con soglie obsolete ha continuato a funzionare senza rilevare il problema.
In alternativa, avvisi proattivi in grado di rilevare queste anomalie avrebbero potuto permettere agli utenti di individuare il problema. Inoltre, il monitoraggio della stagionalità nell'azienda può evidenziare problemi significativi relativi alla qualità dei dati. Ad esempio, le vendite al dettaglio possono essere più elevate nei fine settimana e nei periodi festivi, mentre sono relativamente basse nei giorni feriali. Una divergenza da questo modello può indicare problemi nella qualità dei dati o cambiamenti nella situazione aziendale. Le regole di qualità dei dati non sono in grado di rilevare i modelli stagionali, in quanto ciò richiede algoritmi avanzati in grado di apprendere dai modelli passati che catturano la stagionalità per rilevare le deviazioni.
Infine, gli utenti trovano difficile creare e gestire le regole a causa della natura tecnica del processo di creazione delle regole e del tempo necessario per redigerle. Di conseguenza, prima di definire le regole preferiscono esplorare le informazioni ricavate dai dati. I clienti devono essere in grado di individuare facilmente le anomalie, in modo da poter rilevare in modo proattivo i problemi relativi alla qualità dei dati e prendere decisioni aziendali più consapevoli.
Come funziona
Nota
Il rilevamento delle anomalie è supportato sia in AWS Glue ETL che nel AWS Glue Data Catalog. È possibile abilitare il rilevamento delle anomalie per le tabelle registrate nel Data Catalog eseguendo esecuzioni di valutazione con il rilevamento delle anomalie abilitato (). ObservationScope: ALL
AWS Glue Data Quality combina la potenza della qualità dei dati basata su regole e delle funzionalità di rilevamento delle anomalie per fornire dati di alta qualità. Per iniziare, prima di tutto è necessario configurare regole e analizzatori, quindi abilitare il rilevamento delle anomalie.
Regole
Regole: le regole esprimono le aspettative relative ai dati in un linguaggio aperto denominato Data Quality Definition Language (DQDL). Di seguito è riportato un esempio di regola. Questa regola avrà esito positivo quando non ci saranno valori vuoti o NULL nella colonna 'passenger_count':
Rules = [ IsComplete "passenger_count" ]
Analizzatori
Nelle situazioni in cui si conoscono le colonne critiche ma non si dispone di informazioni sufficienti sui dati per scrivere regole specifiche, è possibile monitorare tali colonne utilizzando gli analizzatori. Gli analizzatori rappresentano un modo per raccogliere statistiche sui dati senza definire regole esplicite. Di seguito è riportato un esempio di configurazione degli analizzatori:
Analyzers = [ AllStatistics "fare_amount", DistinctValuesCount "pulocationid", RowCount ]
In questo esempio sono configurati tre analizzatori:
-
Il primo analizzatore, AllStatistics «fare_amount"`, acquisirà tutte le statistiche disponibili per il campo `fare_amount`.
-
Il secondo Analyzer, «pulocationid», acquisirà il conteggio dei valori distinti nella colonna DistinctValuesCount `pulocationid`.
-
Il terzo Analyzer, `RowCount`, acquisirà il numero totale di record nel set di dati.
Gli analizzatori rappresentano un modo semplice per raccogliere statistiche rilevanti sui dati senza specificare regole complesse. Monitorando queste statistiche, è possibile ottenere informazioni dettagliate sulla qualità dei dati e identificare potenziali problemi o anomalie che potrebbero richiedere ulteriori indagini o la creazione di regole specifiche.
Statistiche dei dati
Sia Analyzer che Rules in AWS Glue Data Quality raccolgono statistiche sui dati, note anche come profili di dati. Queste statistiche forniscono informazioni dettagliate sulle caratteristiche e sulla qualità dei dati. Le statistiche raccolte vengono archiviate nel tempo all'interno del servizio AWS Glue, consentendoti di tracciare e analizzare le modifiche nei tuoi profili di dati.
È possibile recuperare facilmente queste statistiche e scriverle su Amazon S3 per ulteriori analisi o per l'archiviazione a lungo termine invocando le API appropriate. Questa funzionalità permette di integrare la profilazione dei dati nei flussi di lavoro di elaborazione dei dati e di sfruttare le statistiche raccolte per diversi scopi, come il monitoraggio della qualità dei dati e il rilevamento delle anomalie.
Archiviando i profili di dati in Amazon S3, è possibile sfruttare la scalabilità, la durabilità e l'economicità del servizio di archiviazione di oggetti di Amazon. Inoltre, puoi sfruttare altri AWS servizi o strumenti di terze parti per analizzare e visualizzare i profili di dati, consentendoti di ottenere informazioni più approfondite sulla qualità dei tuoi dati e prendere decisioni informate sulla gestione e la governance dei dati.
Di seguito è riportato un esempio di statistiche sui dati memorizzate nel tempo.
Nota
AWS Glue Data Quality raccoglierà le statistiche una sola volta, anche se hai Rule e Analyzer per le stesse colonne, rendendo efficiente il processo di generazione delle statistiche.
Rilevamento di anomalie
AWS Glue Data Quality richiede un minimo di tre punti dati per rilevare le anomalie. Sfrutta un algoritmo di machine learning per imparare dalle tendenze passate e quindi prevedere i valori futuri. Quando il valore effettivo non rientra nell'intervallo previsto, AWS Glue Data Quality crea un'osservazione delle anomalie. Offre una rappresentazione visiva del valore effettivo e delle tendenze. Nel seguente grafico vengono mostrati quattro valori.
-
La statistica attuale e la sua tendenza nel tempo.
-
Una tendenza derivata imparando dalla tendenza attuale. È utile per comprendere la direzione della tendenza.
-
Il possibile limite superiore per la statistica.
-
Il possibile limite inferiore per la statistica.
-
Regole per la qualità dei dati raccomandate in grado di rilevare questi problemi in futuro.
Ci sono alcune cose importanti da tenere presente riguardo alle anomalie:
-
Quando si generano anomalie, i punteggi relativi alla qualità dei dati non subiscono alcuna variazione.
-
Quando viene rilevata un'anomalia, questa viene considerata normale per le esecuzioni successive. A meno che questo valore anomalo non venga esplicitamente escluso, l'algoritmo di machine learning lo considererà come input.
Modalità di rilevamento delle anomalie
AWS Glue Data Quality supporta due modalità di rilevamento delle anomalie che controllano il modo in cui il modello di machine learning prevede i valori previsti. Puoi scegliere la modalità che meglio si adatta alle caratteristiche dei dati e ai modelli di monitoraggio.
-
Lineare (impostazione predefinita): modella le tendenze e la stagionalità dei dati nel tempo. Il modello apprende i modelli di crescita e il comportamento ciclico dai dati storici e li estrapola in avanti. Utilizza questa modalità quando i dati mostrano tendenze costanti al rialzo o al ribasso, modelli stagionali settimanali o giornalieri o quando esegui valutazioni secondo una pianificazione regolare.
-
Risolto: considera tutti i punti dati equidistanti indipendentemente dagli intervalli di tempo effettivi tra le esecuzioni di valutazione. Il modello stabilisce una linea di base in base ai valori osservati senza assumere alcuna crescita o decadimento basato sul tempo. Utilizzate questa modalità quando i dati sono invariati o fluttuano in modo casuale, quando eseguite valutazioni a intervalli irregolari o per analisi esplorative in ambienti notebook.
Scelta di una modalità
La tabella seguente riassume quando utilizzare ciascuna modalità.
| Utilizzate la modalità lineare quando | Usa la modalità fissa quando |
|---|---|
| I tuoi dati hanno tendenze costanti al rialzo o al ribasso | I tuoi dati sono piatti o non hanno uno schema prevedibile |
| I tuoi dati mostrano i modelli stagionali (settimanali, giornalieri) | I tuoi dati variano in modo casuale |
| Le valutazioni vengono eseguite regolarmente | Le valutazioni vengono eseguite a intervalli irregolari o imprevedibili |
| È necessario rilevare quando una tendenza consolidata si interrompe | Si eseguono analisi esplorative su notebook |
| Vi sono lunghi intervalli tra le esecuzioni e i dati seguono uno schema noto | Le modifiche ai dati sono guidate dall'utente e non riflettono modelli aziendali naturali |
Configurazione della modalità di osservazione
È possibile impostare la modalità di osservazione all'avvio di una valutazione della qualità dei dati.
Per il AWS Glue Data Catalog, usa il ObservationMode campo nel AdditionalRunOptions parametro:
aws glue start-data-quality-ruleset-evaluation-run \ --data-source '{ "GlueTable": { "DatabaseName": "my_database", "TableName": "my_table" } }' \ --role "arn:aws:iam::123456789012:role/GlueServiceRole" \ --ruleset-names '["my_ruleset"]' \ --additional-run-options '{ "ObservationScope": "ALL", "ObservationMode": "FIXED" }'
Per i lavori AWS Glue ETL, utilizzate l'observations.modeopzione:
additional_options = { "observations.scope": "ALL", "observations.mode": "FIXED" } result = EvaluateDataQuality.process_rows( frame=dynamic_frame, ruleset=ruleset, publishing_options=publishing_options, additional_options=additional_options )
Se non specificate una modalità, il rilevamento delle anomalie utilizza la LINEAR modalità predefinita.
Riaddestramento
Il riaddestramento del modello di rilevamento delle anomalie è fondamentale per rilevare le anomalie corrette. Quando vengono rilevate anomalie, AWS Glue Data Quality include l'anomalia nel modello come valore normale. Per garantire che il rilevamento delle anomalie funzioni con precisione, è importante fornire un feedback riconoscendo o rifiutando l'anomalia. AWS Glue Data Quality fornisce meccanismi sia in AWS Glue Studio che nelle API per fornire feedback al modello. Per saperne di più, consulta la documentazione sulla configurazione del rilevamento delle anomalie nelle pipeline AWS Glue ETL. Puoi anche abilitare il rilevamento delle anomalie per le tabelle nel AWS Glue Data Catalog eseguendo esecuzioni di valutazione con set to. ObservationScope ALL
Dettagli dell'algoritmo di rilevamento delle anomalie
-
L'algoritmo di rilevamento delle anomalie esamina le statistiche dei dati nel tempo. L'algoritmo considera tutti i punti dati disponibili e ignora tutte le statistiche esplicitamente escluse.
-
Queste statistiche sui dati sono archiviate nel servizio AWS Glue e puoi fornire AWS KMS le chiavi per crittografarle. Consulta la Guida alla sicurezza su come fornire AWS KMS le chiavi per crittografare le statistiche sulla qualità dei dati di AWS Glue.
-
La componente del tempo è fondamentale per l'algoritmo di rilevamento delle anomalie. In base ai valori passati, AWS Glue Data Quality determina i limiti superiore e inferiore. Nel determinarli, tiene in considerazione la componente del tempo. I limiti saranno diversi per gli stessi valori su un intervallo di un minuto, su un intervallo di un'ora o su un intervallo di un giorno.
Acquisire la stagionalità
AWS L'algoritmo di rilevamento delle anomalie di Glue Data Quality è in grado di rilevare i modelli stagionali. Ad esempio, è in grado di comprendere che i modelli dei giorni feriali sono diversi da quelli dei fine settimana. Questo può essere visto nell'esempio seguente, in cui AWS Glue Data Quality rileva una tendenza stagionale nei valori dei dati. Non è necessario eseguire alcuna operazione specifica per abilitare questa funzionalità. Nel tempo, AWS Glue Data Quality apprende le tendenze stagionali e rileva le anomalie quando questi schemi si interrompono.
Costo
Il costo sarà calcolato in base al tempo necessario per rilevare le anomalie. Ogni statistica comporta un costo di 1 DPU per il tempo necessario a rilevare le anomalie. Per esempi dettagliati, consultare i prezzi di AWS Glue
Considerazioni chiave
L'archiviazione delle statistiche è gratuita. Tuttavia, c'è un limite di 100.000 statistiche per account. Le statistiche saranno archiviate per un massimo di due anni.