Strumento di monitoraggio della qualità dei dati: Apache Griffin

Data Quality Monitoring Tool Apache Griffin



I. Panoramica

Con lo sviluppo del business e l'aumento del volume di dati, lo sviluppo di applicazioni per big data è diventato un metodo di sviluppo comune per lo sviluppo di applicazioni dipartimentali. A causa della relazione tra le caratteristiche aziendali dei dipartimenti, lo sviluppo di applicazioni spark e hive sono più comuni all'interno dei dipartimenti. Quando la quantità di dati elaborati raggiunge un certo livello e la complessità del sistema aumenta, l'unicità, l'integrità, la coerenza, ecc. Dei dati iniziano a ricevere attenzione. La pratica abituale è quella di sviluppare ulteriormente lavori come report o in base alle caratteristiche aziendali. Il controllo dell'attività richiederà tempo e lavoro.

La maggior parte delle tabelle attualmente rilevate contiene tra centinaia di milioni e miliardi di dati e il numero di rapporti è in aumento. In questo caso, uno strumento per la qualità dei dati configurabile, visivo e monitorabile è particolarmente importante. . Lo strumento di monitoraggio della qualità dei dati Griffin è una soluzione open source che risolve i problemi di qualità dei dati descritti in precedenza.



Secondo, Apache Griffin

Griffin è nato in eBay Cina ed è entrato nell'incubatore di Apache nel dicembre 2016. L'Apache Software Foundation ha annunciato ufficialmente il 12 dicembre 2018 che Apache Griffin si è laureato come progetto di primo livello Apache.



Griffin è una soluzione basata sul modello. In base al set di dati di destinazione o al set di dati di origine (dati di riferimento), l'utente può selezionare diverse dimensioni della qualità dei dati per eseguire la verifica della qualità dei dati di destinazione. Sono supportati due tipi di origini dati: dati batch e dati in streaming. Per i dati batch, possiamo raccogliere dati dalla piattaforma Hadoop tramite un connettore dati. Per lo streaming dei dati, possiamo connetterci a un sistema di messaggistica come Kafka per un'analisi dei dati quasi in tempo reale. Dopo aver ottenuto i dati, il motore del modello calcolerà la qualità dei dati nel cluster Spark.



2.1 Caratteristiche

  • misurare: Precisione, completezza, tempestività, unicità, efficacia, coerenza.
  • Monitoraggio anormale: Utilizza regole predefinite per rilevare i dati che non soddisfano le aspettative e fornire download che non corrispondono ai dati delle regole.
  • Allarme anormale: Segnala problemi di qualità dei dati tramite e-mail o portale.
  • Monitoraggio visivo: Utilizzare il pannello di controllo per mostrare lo stato della qualità dei dati.
  • tempo reale: Il rilevamento della qualità dei dati può essere eseguito in tempo reale e i problemi possono essere scoperti in tempo.
  • Scalabilità: Può essere utilizzato per la convalida dei dati di più magazzini di sistemi di dati.
  • Scalabilità: Lavorando in un ambiente di dati di grandi dimensioni, la quantità corrente di dati in esecuzione è di circa 1,2 PB (ambiente eBay).
  • Fai da te: Griffin fornisce un'interfaccia utente semplice e facile da usare per la gestione delle risorse di dati e delle regole di qualità dei dati, mentre gli utenti possono visualizzare i risultati della qualità dei dati e visualizzare i contenuti personalizzati tramite il pannello di controllo.

2.1.1 Descrizione degli indicatori di qualità dei dati

  • Precisione: Se i dati della metrica corrispondono al valore di destinazione specificato, come la verifica della quantità, il rapporto tra il record verificato correttamente e il numero totale di record.
  • Integrità: Se mancano i dati della metrica, inclusi i record mancanti, i campi mancanti e gli attributi mancanti.
  • Tempestività: La tempestività della misurazione dei dati per un obiettivo specificato.
  • Unicità: Se il record di dati della metrica è duplicato e se l'attributo è duplicato, è comune misurare se il valore della chiave primaria della tabella hive è duplicato.
  • Validità: Misura la conformità dei dati a regole quali il tipo, il formato e l'intervallo di dati del contratto.
  • consistenza: Se i dati metrici sono conformi alla logica aziendale e la verifica della logica tra i record, ad esempio, pv deve essere maggiore di uv e il prezzo dopo l'importo dell'ordine più varie offerte deve essere maggiore o uguale a zero.

2.2 Vantaggi

  • Verifica della qualità dei dati configurabile e personalizzabile.
  • Sulla base dell'analisi dei dati di scintilla, i risultati della verifica dei dati possono essere calcolati rapidamente.
  • Vengono visualizzati i trend storici della qualità dei dati.

2.3 Flusso di lavoro

  1. Registra i dati e registra l'origine dati che vuole rilevare la qualità dei dati su griffin.
  2. Configurare il modello di misurazione per definire modelli dalla dimensione della qualità dei dati, come accuratezza, completezza, tempestività, unicità e così via.
  3. Configurare l'attività pianificata per inviare il cluster Spark e controllare periodicamente i dati.
  4. Visualizza gli indicatori sull'interfaccia del portale e analizza i risultati del controllo della qualità dei dati.

2.4 Architettura di sistema

Il sistema Griffin si divide principalmente in: Data Collection & Processing Layer, Backend Service Layer e User Interface, come mostrato in figura:



Diagramma della gerarchia di elaborazione dei dati di sistema:

Diagramma di flusso di elaborazione del sistema:

2.5 Logica di convalida dei dati

2.5.1 Precisione, caricamento delle origini dati dai metadati dell'alveare, verifica dell'accuratezza

  • Seleziona tabella e colonna di origine
  • Seleziona tabella e colonna di destinazione
  • Seleziona le regole di confronto dei campi (maggiore, minore o uguale)
  • Calcola il risultato con una formula:

  • Infine, controlla l'andamento della precisione nel pannello di controllo.

2.5.2 Analisi statistica dei dati (profilazione)

  • Seleziona l'origine dati da analizzare, configura i campi e altro ancora.
  • Statistiche semplici: Il valore nella colonna specifica utilizzata per contare la tabella è vuoto, univoco o duplicato. Ad esempio, il numero di record nulli del valore del campo statistico: se la soglia specificata viene superata, potrebbe verificarsi una perdita di dati.
  • Statistiche riassuntive: Utilizzato per contare il massimo, il minimo, la media, la mediana e così via. Ad esempio, il valore massimo della colonna dell'età statistica è il valore minimo per determinare se è presente un'anomalia dei dati.
  • Statistiche avanzate: Usa espressioni regolari per analizzare la frequenza e il pattern dei dati. Ad esempio, formattare la convalida dei campi della cassetta postale, specificando la convalida dei dati per le regole.
  • Il meccanismo di analisi dei dati si basa principalmente sulla funzione di statistiche di riepilogo delle colonne fornita da MLlib di Spark, che calcola le statistiche di tipo di tutte le colonne solo una volta.
  • Dati di analisi del pannello di controllo

2.5.3 Rilevamento delle anomalie

  • L'obiettivo del rilevamento delle anomalie è trovare anomalie da dati apparentemente normali ed è uno strumento importante per rilevare problemi di qualità dei dati. Utilizzando le bande di Bollinger e gli algoritmi MAD per implementare il rilevamento delle anomalie, è possibile trovare i dati nel set di dati che sono lontani dal previsto.

  • Prendendo MAD come esempio, il valore MAD di un set di dati riflette la distanza tra ogni punto dati e la media. Puoi ottenere il valore MAD seguendo questi passaggi:

    1. Calcola la media
    2. Calcola la differenza tra ogni punto dati e la media
    3. Prendi il valore assoluto della differenza
    4. Calcola la media di queste differenze dopo aver preso il valore assoluto

La formula è la seguente:

Attraverso il rilevamento delle anomalie, è possibile riscontrare che la fluttuazione del valore dei dati è in linea con le aspettative. Il valore atteso dei dati è ottenuto dall'analisi dell'andamento storico. L'utente può regolare i parametri necessari nell'algoritmo in base all'anomalia rilevata per rendere il rilevamento dell'anomalia più vicino alla richiesta.

2.6 Demo

Ad esempio, per rilevare l'accuratezza della sincronizzazione del programma di fatturazione del fornitore, configurare il rilevamento dei dati, come mostrato nella figura:

  • Seleziona l'origine dati

  • Seleziona i dettagli di fatturazione Tabella di origine Campo

  • Seleziona i dettagli di fatturazione obiettivi Campo tabella

  • Impostare la relazione di mappatura del campo di controllo tra la tabella di origine e la tabella di destinazione

  • Selezionare la partizione dati, le condizioni e se visualizzare il file dei risultati. (Nessuna tabella delle partizioni può essere ignorata)

  • Imposta il nome e la descrizione del progetto di verifica, puoi vederlo nell'elenco dopo l'invio misurare Informazione

Dopo aver creato la metrica del modello di dati, per eseguire l'analisi è necessaria l'attività Spark Timer corrispondente. Il passaggio successivo consiste nel creare il lavoro Spark e le informazioni sulla pianificazione.

  • Nel menu del lavoro, scegli Crea lavoro.

Per creare un'interfaccia lavoro, è necessario selezionare la tabella di origine e l'intervallo di dati della tabella di destinazione. Come mostrato nella figura sopra, selezionare t-1 sulla partizione dati corrente, ovvero la partizione dati di ieri. Imposta l'espressione temporale, dopo aver inviato l'attività, puoi visualizzarla nell'elenco dei lavori:

  • A questo punto, le metriche di verifica dei dati e le attività di analisi sono state configurate e puoi anche impostare le informazioni di monitoraggio come gli avvisi e-mail in base alle tue metriche. Quindi puoi monitorare la qualità dei tuoi dati sul pannello di controllo, come mostrato in figura:

2.7 Attività di monitoraggio della presentazione in background

Oltre all'utente che crea un'attività di verifica dei dati nel pannello di controllo, le informazioni sulla metrica possono essere generate in background e l'attività Spark può essere inviata per il rilevamento dei dati, fornendo un buon accesso ai dati e scalabilità della configurazione. Il rilevamento dei dati di configurazione api può essere visualizzato sul sito Web ufficiale. Guida veloce

Il rilevamento dei dati in tempo reale non ha attualmente una configurazione dell'interfaccia e il monitoraggio dei dati in tempo reale può essere inviato tramite API. Per i dettagli, fare riferimento a: Casi d'uso di streaming


originale: https://my.oschina.net/u/939952/blog/2998527