Questo documento descrive la qualità automatica dei dati Dataplex, che ti consente di definire e misurare la qualità dei tuoi dati. Puoi automatizzare il processo la scansione dei dati, la convalida dei dati in base a regole definite e la registrazione degli avvisi non soddisfano i requisiti di qualità. Puoi gestire le regole sulla qualità dei dati i deployment come codice, migliorando l'integrità delle pipeline di produzione dei dati.
Puoi iniziare utilizzando Profilazione dei dati Dataplex o creando regole personalizzate nella console Google Cloud. Dataplex fornisce funzionalità di monitoraggio, Avvisi di Cloud Logging integrato con Dataplex automatico la qualità dei dati.
Modello concettuale
Una scansione dei dati è un job Dataplex che campiona i dati da
BigQuery e Cloud Storage e deduce vari tipi di
metadati. Per misurare la qualità di una tabella utilizzando la qualità dei dati automatici, crei
un oggetto DataScan
di tipo data quality
. La scansione viene eseguita solo
una tabella BigQuery. La scansione utilizza le risorse in un ambiente
progetto tenant, quindi
per configurare la propria infrastruttura.
Per creare e utilizzare un'analisi della qualità dei dati:
- Definisci le regole sulla qualità dei dati
- Configura l'esecuzione della regola
- Analizzare i risultati dell'analisi della qualità dei dati
- Configura monitoraggio e avvisi
- Risolvere gli errori relativi alla qualità dei dati
Definizione della regola
Le regole sulla qualità dei dati associate a un'analisi della qualità dei dati definiscono i dati le aspettative. Puoi creare regole sulla qualità dei dati nei seguenti modi:
- Utilizza i suggerimenti della profilazione dei dati Dataplex
- Utilizza le regole predefinite
- Crea regole SQL personalizzate
Regole predefinite
Dataplex supporta due categorie di regole predefinite: a livello di riga o aggregati.
- A livello di riga
Per le regole delle categorie a livello di riga, viene applicata l'aspettativa rispetto a ogni riga di dati. Ogni riga passa o supera in modo indipendente non riesce a soddisfare la condizione. Ad esempio,
column_A_value < 1
.I controlli a livello di riga richiedono di specificare una soglia da superare. Quando percentuale di righe che superano la regola è inferiore al valore di soglia, la regola non riesce.
- Aggregazione
Per le regole aggregate, l'aspettativa viene applicata a un singolo valore aggregato per tutti i dati. Per ad esempio
Avg(someCol) >= 10
. Per essere superato, il controllo deve avere come risultato con valore booleanotrue
. Le regole aggregate non forniscono un superamento indipendente o non hanno esito positivo conta per ogni riga.
Per entrambe le categorie di regole, puoi impostare i seguenti parametri:
- La colonna a cui si applica la regola.
- Una dimensione da un insieme di dimensioni predefinite.
Nella tabella seguente sono elencati i tipi di regole aggregate e a livello di riga supportati:
Tipo di regola (nome nella console Google Cloud) |
Regola a livello di riga o aggregata | Descrizione | Tipi di colonna supportati | Parametri specifici delle regole |
---|---|---|---|---|
RangeExpectation (Controllo intervallo) |
A livello di riga | Verifica che il valore sia compreso tra min e max. | Tutte le colonne di tipo numerico, data e timestamp. | Obbligatorio:
|
NonNullExpectation (controllo null) |
A livello di riga | Verifica che i valori della colonna non siano NULL. | Tutti i tipi di colonna supportati. | Obbligatorio:
|
SetExpectation (Imposta controllo) |
A livello di riga | Verifica se i valori in una colonna sono uno dei valori specificati in un insieme. | Tutti i tipi di colonna supportati, tranne Record e Struct . |
Obbligatorio:
|
RegexExpectation (Controllo espressioni regolari) |
A livello di riga | Confronta i valori con un'espressione regolare specificata. | Stringa | Obbligatorio:
|
Uniqueness (controllo unicità) |
Aggregazione | Verifica che tutti i valori in una colonna siano univoci. | Tutti i tipi di colonna supportati, tranne Record e Struct . |
Obbligatorio:
|
StatisticRangeExpectation (Controllo statistico) |
Aggregazione | Controlla se la misura statistica specificata corrisponde all'aspettativa di intervallo. | Tutti i tipi di colonna numerica supportati. | Obbligatorio:
|
Tipi di regole SQL personalizzate supportati
Le regole SQL offrono la flessibilità necessaria per espandere la convalida con logica personalizzata. Questi sono disponibili nei seguenti tipi.
Tipo di regola | Regola a livello di riga o aggregata | Descrizione | Tipi di colonna supportati | Parametri specifici delle regole | Esempio |
---|---|---|---|---|---|
Condizione riga | A livello di riga | Specifica un'aspettativa per ogni riga definendo una query SQL
in una clausola L'espressione può includere un riferimento a un'altra tabella, ad esempio per creare e controlli di integrità referenziale. |
Tutte le colonne | Obbligatorio:
|
grossWeight <= netWeight |
Condizione tabella (espressione SQL aggregata) |
Aggregazione | Queste regole vengono eseguite una volta per tabella. Fornisci un'espressione SQL che
restituisce il valore booleano L'espressione SQL può Includi un riferimento a un'altra tabella utilizzando le sottoquery di espressione. |
Tutte le colonne | Obbligatorio:
|
Esempio di tipo aggregato semplice: Utilizzo di una sottoquery di espressione per confrontare i valori di una tabella diversa: |
Asserzione SQL | Aggregazione | Una regola di asserzione utilizza una query sulla qualità dei dati per trovare le righe che non vanno a buon fine a una o più condizioni specificate nella query. Fornisci un'istruzione SQL valutato per restituire righe che corrispondono allo stato non valido. Se la query restituisce tutte le righe, ma la regola non riesce. Ometti il punto e virgola finale dall'istruzione SQL. L'istruzione SQL può includi un riferimento a un'altra tabella utilizzando sottoquery di espressione. |
Tutte le colonne | Obbligatorio:
|
Semplice esempio aggregato per fare in modo che Utilizzo di una sottoquery di espressione per confrontare i valori di una tabella diversa: |
Per esempio regole, consulta Regole di esempio sulla qualità dei dati automatica.
Per le funzioni SQL supportate, consulta la documentazione di riferimento di GoogleSQL.
Dimensioni
Le dimensioni ti consentono di aggregare i risultati di più regole sulla qualità dei dati per il monitoraggio e gli avvisi. Devi associare ogni regola sulla qualità dei dati a un . Dataplex supporta le seguenti dimensioni:
- Aggiornamento
- Volume
- Completezza
- Validità
- Coerenza
- Accuratezza
- Unicità
Input digitato nelle regole
Tutti i parametri valore vengono passati come valori stringa all'API. Dataplex richiede che gli input seguano Formato specificato da BigQuery.
I parametri di tipo binario possono essere passati come stringa con codifica Base64.
Tipo | Formati supportati | Esempi |
---|---|---|
Binario | Valore codificato Base64 | YXBwbGU= |
Timestamp | AAAA-[M]L-[G]G[( |T)[H]A:[M]M:[S]D[.F]] [fuso_orario] OPPURE AAAA-[M]M-[G]G[( |T)[H]O:[M]L:[S]D[.F]][offset_time_zone] |
27-09-2014 12:30:00.45-08 |
Data | AAAA-M[M]-G[G] | 2014-09-27 |
Ora | [H]H:[M]M:[S]D[.DDDDDD] | 12:30:00,45 |
DateTime | AAAA-[M]M-[G]G [[H]H:[M]M:[S]G[.GGGGGG]] | 27-09-2014 12:30:00.45 |
Parametro riferimento dati
Quando crei una regola SQL personalizzata, puoi fare riferimento a una tabella di origine dati e
dei suoi filtri di precondizione utilizzando il parametro di riferimento dei dati ${data()}
in
la regola, invece di menzionare esplicitamente la tabella di origine e i suoi filtri.
Dataplex interpreta il parametro come un riferimento all'origine
e i relativi filtri. Esempi di filtri di condizione preliminare includono filtri di riga,
percentuali di campionamento e filtri incrementali.
Ad esempio, supponiamo che tu abbia una tabella dell'origine dati denominata
my_project_id.dim_dataset.dim_currency
. Vuoi eseguire dati incrementali
un'analisi della qualità che scansiona solo i nuovi dati giornalieri. Un filtro di riga che applica un filtro
la voce di oggi, transaction_timestamp >= current_date()
, viene applicata alla
tabella.
Una regola SQL personalizzata per trovare le righe con discount_pct
per oggi ha il seguente aspetto:
discount_pct IN (SELECT discount_pct FROM my_project_id.dim_dataset.dim_currency WHERE transaction_timestamp >= current_date())
Se utilizzi il parametro di riferimento dei dati, puoi semplificare la regola. Sostituisci
menzione della tabella e dei suoi filtri di precondizione con ${data()}
:
discount_pct IN (SELECT discount_pct FROM ${data()})
Dataplex interpreta il parametro ${data()}
come un
riferimento alla tabella dell'origine dati con le voci di oggi,
my_project_id.dim_dataset.dim_currency WHERE transaction_timestamp >= current_date()
.
In questo esempio, il parametro del riferimento dei dati si riferisce solo alla metrica
e i dati di Google Cloud.
Il parametro ${data()}
è sensibile alle maiuscole.
Quando utilizzi un alias all'interno di una sottoquery per fare riferimento alle colonne nella tabella di origine,
utilizzare il parametro di riferimento dei dati per fare riferimento alla tabella di origine oppure omettere
riferimento alla tabella. Non fare riferimento alle colonne nella tabella di origine utilizzando un
riferimento diretto alla tabella nella clausola WHERE
.
Consigliato:
Utilizza il parametro del riferimento dei dati per fare riferimento alla tabella di origine:
discount_pct IN ( SELECT discount_pct FROM `my_project_id.dim_dataset.dim_currency` AS temp-table WHERE temp-table.transaction_timestamp = ${data()}.timestamp )
Ometti il riferimento della tabella:
discount_pct IN ( SELECT discount_pct FROM `my_project_id.dim_dataset.dim_currency` AS temp-table WHERE temp-table.transaction_timestamp = timestamp )
Sconsigliato:
Non utilizzare un riferimento diretto alla tabella per fare riferimento alle colonne nella tabella di origine:
discount_pct IN ( SELECT discount_pct FROM `my_project_id.dim_dataset.dim_currency` AS temp-table WHERE temp-table.transaction_timestamp = `my_project_id.dim_dataset.dim_currency`.timestamp )
Esecuzione della regola
Puoi pianificare le analisi della qualità dei dati in modo che vengano eseguite a intervalli specifici eseguire una scansione on demand. Per gestire le analisi della qualità dei dati, puoi utilizzare l'API o nella console Google Cloud.
Quando esegui un'analisi della qualità dei dati, Dataplex crea un job. Nell'ambito della specifica di un'analisi della qualità dei dati, puoi specificare l'ambito di un essere uno dei seguenti:
- Tavolo completo
- Ogni job convalida l'intera tabella.
- Incrementale
- Ogni job convalida i dati incrementali. A
determinare gli incrementi, specifica una colonna
Date
/Timestamp
nel che può essere utilizzata come indicatore. Solitamente, si tratta della colonna in cui è partizionata.
Filtra dati
Dataplex può filtrare i dati da analizzare per verificarne la qualità utilizzando un filtro per riga di comando. La creazione di un filtro di riga ti consente di concentrarti sui dati all'interno di uno specifico periodo di tempo o un segmento specifico, come una determinata regione. L'uso dei filtri può ridurre i tempi e i costi di esecuzione, ad esempio filtrando i dati con timestamp prima di una determinata data.
Dati di esempio
Dataplex consente di specificare una percentuale di record dai tuoi dati come esempio per l'esecuzione di un'analisi della qualità dei dati. Creazione di scansioni della qualità dei dati su un un campione di dati più piccolo può ridurre i tempi di esecuzione e il costo dell'esecuzione di query l'intero set di dati.
Risultati della scansione della qualità dei dati
I risultati delle analisi della qualità dei dati sono disponibili in Dataplex. Puoi anche rivedere e analizzare i risultati della scansione utilizzando i seguenti metodi:
Esportare i risultati in BigQuery
Puoi esportare i risultati della scansione in una tabella BigQuery per e analisi. Per personalizzare i report, puoi collegare lo strumento BigQuery i dati della tua tabella in una dashboard di Looker. Puoi creare un report aggregato utilizzando la stessa tabella dei risultati in più analisi.
Pubblicare i risultati nella console Google Cloud
Puoi pubblicare i risultati dell'analisi della qualità dei dati nella directory Nelle pagine di BigQuery e Data Catalog nel nella console Google Cloud. I risultati dell'ultima scansione sono disponibili su Scheda Qualità dei dati per la tabella di origine.
Esaminare i punteggi di qualità dei dati
Ogni risultato della scansione fornisce punteggi di qualità dei dati che indicano la percentuale di regole rispettate. I punteggi vengono riportati a livello generale del job, nella colonna (se la regola viene valutata in base a una colonna) e il livello di dimensione. Utilizza le funzionalità di i punteggi di qualità dei dati per normalizzare la qualità dei dati nelle tabelle o nelle colonne, monitorare le tendenze e identificare i dati che non soddisfano i requisiti di qualità.
Per ulteriori informazioni, vedi Visualizza i risultati dell'analisi della qualità dei dati.
Monitoraggio e avvisi
Puoi monitorare e ricevere avvisi sulle analisi della qualità dei dati utilizzando il seguente metodo:
Imposta avvisi in Cloud Logging
Puoi monitorare i job di qualità dei dati utilizzando
data_scan
edata_quality_scan_rule_result
in Esplora log.Per ogni job di qualità dei dati,
data_scan
registra il log con il campodata_scan_type
impostato suDATA_QUALITY
contiene le seguenti informazioni:- Origine dati utilizzata per la scansione dei dati.
- Dettagli sull'esecuzione del job, ad esempio ora di creazione, ora di inizio, ora di fine stato del job.
- Risultato del job di qualità dei dati: superato o non superato.
- Superato o non superato a livello di dimensione.
Ogni job riuscito contiene un
data_quality_scan_rule_result
con le seguenti informazioni dettagliate su ciascuna regola del job:- Informazioni sulla configurazione, ad esempio nome della regola, tipo di regola, tipo di valutazione e dimensioni.
- Informazioni sui risultati, ad esempio superato o non riuscito, numero totale di righe e righe superate conteggio delle righe, conteggio di righe nullo e conteggio di righe valutate.
Le informazioni nei log sono disponibili tramite l'API e nella console Google Cloud. Puoi utilizzare queste informazioni per configurare gli avvisi. Per ulteriori informazioni, vedi Imposta gli avvisi in Logging.
Inviare notifiche email
Puoi inviare notifiche via email per avvisare le persone sullo stato e i risultati di un job di qualità dei dati. Le notifiche sono disponibili per i seguenti scenari:
- Il punteggio di qualità dei dati è inferiore a un punteggio target specificato
- Job non riuscito
- Il job è stato completato
Configuri le notifiche quando crea un'analisi della qualità dei dati.
Risolvere gli errori relativi alla qualità dei dati
Quando una regola ha esito negativo, Dataplex produce una query per ottenere l'errore record. Esegui questa query per visualizzare i record che non corrispondono alla regola. Per ulteriori informazioni, vedi Risolvere i problemi relativi alla qualità dei dati.
Limitazioni
- I risultati dell'analisi della qualità dei dati non vengono pubblicati in Data Catalog come i tag.
- I suggerimenti sulle regole non sono supportati in gcloud CLI.
- La scelta delle dimensioni è fissata su una delle sette dimensioni predefinite.
- Il numero di regole per analisi della qualità dei dati è limitato a 1000.
- Le notifiche via email sono supportate solo in gcloud CLI e nell'API.
- I punteggi di qualità dei dati riportati a livello di colonna sono supportati solo nell'API.
Prezzi
Dataplex utilizza lo SKU di elaborazione premium per addebitare i costi la qualità dei dati. Per ulteriori informazioni, consulta i prezzi di Dataplex.
La pubblicazione automatica dei risultati sulla qualità dei dati in Catalog non è ancora disponibile. Quando se disponibile, ti verrà addebitata la stessa tariffa dei metadati Catalog i prezzi dell'archiviazione. Consulta la sezione Prezzi per ulteriori dettagli.
L'elaborazione premium di Dataplex per la qualità automatica dei dati viene fatturata in base secondo con un minimo di un minuto.
Non vengono addebitati costi per le analisi della qualità dei dati non riuscite.
L'addebito dipende dal numero di righe, di colonne e dall'importo i dati analizzati, la configurazione delle regole di qualità dei dati, le impostazioni di partizionamento e clustering nella tabella e la frequenza gscan.
Esistono diverse opzioni per ridurre il costo delle scansioni automatiche della qualità dei dati:
Separa gli addebiti per la qualità dei dati dagli altri addebiti in Dataplex SKU di elaborazione premium, utilizza l'etichetta
goog-dataplex-workload-type
con il valoreDATA_QUALITY
.Filtrare gli addebiti aggregati. Utilizza le seguenti etichette:
goog-dataplex-datascan-data-source-dataplex-entity
goog-dataplex-datascan-data-source-dataplex-lake
goog-dataplex-datascan-data-source-dataplex-zone
goog-dataplex-datascan-data-source-project
goog-dataplex-datascan-data-source-region
goog-dataplex-datascan-id
goog-dataplex-datascan-job-id
Passaggi successivi
- Scopri come utilizzare la qualità dei dati automatica.
- Scopri di più sulla profilazione dei dati.
- Scopri come utilizzare la profilazione dei dati.