Questa pagina descrive come creare un'analisi della qualità dei dati Dataplex.
Per saperne di più sulle analisi della qualità dei dati, consulta Informazioni sulla qualità dei dati automatica.
Prima di iniziare
Abilita l'API Dataplex.
(Facoltativo) Se vuoi che Dataplex generi consigli per le regole di qualità dei dati in base ai risultati di un'analisi di profilazione dei dati, crea ed esegui l'analisi di profilazione dei dati.
Ruoli obbligatori
Per eseguire una scansione della qualità dei dati su una tabella BigQuery, devi disporre dell'autorizzazione per leggere la tabella BigQuery e per creare un job BigQuery nel progetto utilizzato per eseguire la scansione della tabella.
Se la tabella BigQuery e la scansione della qualità dei dati si trovano in progetti diversi, devi concedere all'account di servizio Dataplex del progetto contenente la scansione della qualità dei dati l'autorizzazione di lettura per la tabella BigQuery corrispondente.
Se le regole di qualità dei dati fanno riferimento a tabelle aggiuntive, l'account di servizio del progetto di scansione deve disporre delle autorizzazioni di lettura sulle stesse tabelle.
Per ottenere le autorizzazioni necessarie per esportare i risultati della scansione in una tabella BigQuery, chiedi all'amministratore di concedere all'account di servizio Dataplex il ruolo IAM Editor dati BigQuery (
roles/bigquery.dataEditor
) sul set di dati e sulla tabella dei risultati. Vengono concesse le seguenti autorizzazioni:bigquery.datasets.get
bigquery.tables.create
bigquery.tables.get
bigquery.tables.getData
bigquery.tables.update
bigquery.tables.updateData
Se i dati BigQuery sono organizzati in un lake Dataplex, concedi all'account di servizio Dataplex i ruoli IAM Dataplex Metadata Reader (
roles/dataplex.metadataReader
) e Dataplex Viewer (roles/dataplex.viewer
). In alternativa, devi disporre di tutte le seguenti autorizzazioni:dataplex.lakes.list
dataplex.lakes.get
dataplex.zones.list
dataplex.zones.get
dataplex.entities.list
dataplex.entities.get
dataplex.operations.get
Se stai eseguendo la scansione di una tabella esterna BigQuery da Cloud Storage, concedi all'account di servizio Dataplex il ruolo
roles/storage.objectViewer
Cloud Storage per il bucket. In alternativa, assegna all'account di servizio Dataplex le seguenti autorizzazioni:storage.buckets.get
storage.objects.get
Se vuoi pubblicare i risultati dell'analisi della qualità dei dati nelle pagine BigQuery e Data Catalog della console Google Cloud per le tabelle di origine, devi disporre del ruolo IAM BigQuery Data Editor (
roles/bigquery.dataEditor
) o dell'autorizzazionebigquery.tables.update
per la tabella.Se devi accedere alle colonne protette dai criteri di accesso a livello di colonna di BigQuery, assegna all'account di servizio Dataplex i permessi per queste colonne. L'utente che crea o aggiorna una scansione dei dati deve avere anche le autorizzazioni per le colonne.
Se in una tabella sono abilitati i criteri di accesso a livello di riga di BigQuery, puoi eseguire la scansione solo delle righe visibili all'account di servizio Dataplex. Tieni presente che i privilegi di accesso dei singoli utenti non vengono valutati per i criteri a livello di riga.
Ruoli di analisi dei dati obbligatori
Per utilizzare la qualità dei dati automatica, devi disporre delle autorizzazioni per eseguire analisi dei dati o di un ruolo con autorizzazioni predefinite per eseguire analisi dei dati.
La tabella seguente elenca le autorizzazioni DataScan
:
Nome autorizzazione | Concede l'autorizzazione a: |
---|---|
dataplex.datascans.create |
Crea un DataScan |
dataplex.datascans.delete |
Eliminare un DataScan |
dataplex.datascans.get |
Visualizzare i metadati operativi, come ID o pianificazione, ma non risultati e regole |
dataplex.datascans.getData |
Visualizzare i dettagli di DataScan , incluse regole e risultati |
dataplex.datascans.list |
Elenca i DataScan |
dataplex.datascans.run |
Esegui un DataScan |
dataplex.datascans.update |
Aggiornare la descrizione di un DataScan |
dataplex.datascans.getIamPolicy |
Visualizza le autorizzazioni IAM correnti nella scansione |
dataplex.datascans.setIamPolicy |
Imposta le autorizzazioni IAM per la scansione |
Concedi agli utenti uno o più dei seguenti ruoli:
- Accesso completo alle risorse
DataScan
: Dataplex DataScan Administrator (roles/dataplex.dataScanAdmin
) - Accesso in scrittura alle risorse
DataScan
: Dataplex DataScan Editor (roles/dataplex.dataScanEditor
) - Accesso in lettura alle risorse
DataScan
, escluse regole e risultati: Dataplex DataScan Viewer (roles/dataplex.dataScanViewer
) - Accesso in lettura alle risorse
DataScan
, incluse regole e risultati: Dataplex DataScan DataViewer (roles/dataplex.dataScanDataViewer
)
Definire le regole sulla qualità dei dati
Puoi definire le regole di qualità dei dati utilizzando regole predefinite o controlli SQL personalizzati. Se utilizzi l'interfaccia a Google Cloud CLI, puoi definire queste regole in un file JSON o YAML.
Gli esempi nelle sezioni seguenti mostrano come definire una serie di regole per la qualità dei dati. Le regole convalidano una tabella di esempio contenente dati sulle transazioni dei clienti. Supponiamo che la tabella abbia lo schema seguente:
Nome colonna | Tipo di colonna | Descrizione colonna |
---|---|---|
transaction_timestamp | Timestamp | Timestamp della transazione. La tabella è partizionata in base a questo campo. |
customer_id | Stringa | Un ID cliente nel formato 8 lettere seguite da 16 cifre. |
transaction_id | Stringa | L'ID transazione deve essere univoco nella tabella. |
currency_id | Stringa | Una delle valute supportate.Il tipo di valuta deve corrispondere a una delle valute disponibili nella tabella delle dimensioni dim_currency .
|
quantità | float | Importo della transazione. |
discount_pct | float | Percentuale di sconto. Questo valore deve essere compreso tra 0 e 100. |
Definire le regole sulla qualità dei dati utilizzando i tipi di regole integrati
Le regole di esempio riportate di seguito si basano sui tipi di regole integrati. Puoi creare regole in base ai tipi di regole integrati utilizzando la console Google Cloud o l'API. Dataplex potrebbe consigliare alcune di queste regole.
Nome colonna | Tipo di regola | Dimensione suggerita | Parametri delle regole |
---|---|---|---|
transaction_id |
Controllo unicità | Unicità | Soglia: Not Applicable |
amount |
Controllo null | Completezza | Soglia: 100% |
customer_id |
Controllo regex (espressione regolare) | Validità | Espressione regolare: ^[0-9]{8}[a-zA-Z]{16}$ Soglia: 100%
|
currency_id |
Controllo del set di valori | Validità | Set di: USD,JPY,INR,GBP,CAN Soglia: 100%
|
Definire regole sulla qualità dei dati utilizzando regole SQL personalizzate
Per creare regole SQL personalizzate, utilizza il seguente framework:
Quando crei una regola che valuta una riga alla volta, crea un'espressione che genera il numero di righe riuscite quando Dataplex valuta la query
SELECT COUNTIF(CUSTOM_SQL_EXPRESSION) FROM TABLE
. Dataplex controlla il numero di righe riuscite rispetto alla soglia.Quando crei una regola che viene valutata nelle righe o utilizza una condizione della tabella, crea un'espressione che restituisca un risultato positivo o negativo quando Dataplex valuta la query
SELECT IF(CUSTOM_SQL_EXPRESSION) FROM TABLE
.Quando crei una regola che valuta lo stato non valido di un set di dati, fornisci un'istruzione che restituisce righe non valide. Se vengono restituite delle righe, la regola non riesce. Ometti il punto e virgola finale dall'istruzione SQL.
Puoi fare riferimento a una tabella dell'origine dati e a tutti i relativi filtri di precondizionamento utilizzando il parametro di riferimento dati
${data()}
in una regola, anziché menzionare esplicitamente la tabella di origine e i relativi filtri. Alcuni esempi di filtri precondizionanti sono i filtri delle righe, le percentuali di campionamento e i filtri incrementali. Il parametro${data()}
è sensibile alle maiuscole.
Le seguenti regole di esempio si basano su regole SQL personalizzate.
Tipo di regola | Descrizione regola | Espressione SQL |
---|---|---|
Condizione di riga | Controlla se il valore di discount_pct
è compreso tra 0 e 100.
|
0 <discount_pct E discount_pct < 100
|
Condizione di riga | Controllo di riferimento per verificare che currency_id sia una delle valute supportate.
|
currency_id in (select id from my_project_id.dim_dataset.dim_currency)
|
Condizione della tabella | Espressione SQL aggregata che controlla se la media discount_pct è compresa tra il 30% e il 50%.
|
30<avg(discount) AND avg(discount) <50
|
Condizione di riga | Controlla se una data non è nel futuro. | TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
|
Condizione della tabella |
Una funzione definita dall'utente (UDF) di BigQuery per verificare che l'importo medio delle transazioni sia inferiore a un valore predefinito per paese. Crea la UDF (Javascript) eseguendo il seguente
comando:
CREATE OR REPLACE FUNCTION myProject.myDataset.average_by_country ( country STRING, average FLOAT64) RETURNS BOOL LANGUAGE js AS R""" if (country = "CAN" && average < 5000){ return 1 } else if (country = "IND" && average < 1000){ return 1 } else { return 0 } """; |
Regola di esempio per controllare l'importo medio delle transazioni per country=CAN .
myProject.myDataset.average_by_country( "CAN", (SELECT avg(amount) FROM myProject.myDataset.transactions_table WHERE currency_id = 'CAN' )) |
Condizione della tabella | Una clausola di previsione BigQuery ML per identificare le anomalie in discount_pct . Controlla se deve essere applicato uno sconto in base a customer , currency e transaction . La regola controlla se la previsione corrisponde al valore effettivo almeno il 99% delle volte. Assunto: il
modello ML viene creato prima di utilizzare la regola. Crea il modello ML utilizzando il
seguente comando:
CREATE MODEL model-project-id.dataset-id.model-name OPTIONS(model_type='logistic_reg') AS SELECT IF(discount_pct IS NULL, 0, 1) AS label, IFNULL(customer_id, "") AS customer, IFNULL(currency_id, "") AS currency, IFNULL(amount, 0.0) AS amount FROM `data-project-id.dataset-id.table-names` WHERE transaction_timestamp < '2022-01-01'; |
La seguente regola controlla se l'accuratezza della previsione è superiore al 99%.
SELECT accuracy > 0.99 FROM ML.EVALUATE (MODEL model-project-id.dataset-id.model-name, ( SELECT customer_id, currency_id, amount, discount_pct FROM data-project-id.dataset-id.table-names WHERE transaction_timestamp > '2022-01-01'; ) ) |
Condizione di riga | Una funzione di previsione BigQuery ML per identificare le anomalie in discount_pct . La funzione controlla se deve essere applicato uno sconto in base a customer , currency e transaction .
La regola identifica tutte le occorrenze in cui la previsione non corrisponde.
Supposizione: il modello ML viene creato prima di utilizzare la regola. Crea il modello ML
utilizzando il seguente comando:
CREATE MODEL model-project-id.dataset-id.model-name OPTIONS(model_type='logistic_reg') AS SELECT IF(discount_pct IS NULL, 0, 1) AS label, IFNULL(customer_id, "") AS customer, IFNULL(currency_id, "") AS currency, IFNULL(amount, 0.0) AS amount FROM `data-project-id.dataset-id.table-names` WHERE transaction_timestamp < '2022-01-01'; |
La seguente regola verifica se la previsione dello sconto corrisponde a quella effettiva per ogni riga.
IF(discount_pct > 0, 1, 0) =(SELECT predicted_label FROM ML.PREDICT( MODEL model-project-id.dataset-id.model-name, ( SELECT customer_id, currency_id, amount, discount_pct FROM data-project-id.dataset-id.table-names AS t WHERE t.transaction_timestamp = transaction_timestamp LIMIT 1 ) ) ) |
Asserzione SQL | Verifica se discount_pct è maggiore del 30% per la data odierna controllando se esistono righe con una percentuale di sconto inferiore o uguale al 30%. |
SELECT * FROM my_project_id.dim_dataset.dim_currency WHERE discount_pct <= 30 AND transaction_timestamp >= current_date() |
Asserzione SQL (con parametro di riferimento dati) | Controlla se Il filtro data Il parametro di riferimento dati |
SELECT * FROM ${data()} WHERE discount_pct > 30 |
Definire le regole sulla qualità dei dati utilizzando gcloud CLI
Il seguente file YAML di esempio utilizza alcune delle stesse regole delle regole di esempio che utilizzano i tipi incorporati e delle regole SQL personalizzate di esempio. Puoi utilizzare questo file YAML come input per il comando gcloud CLI.
rules:
- uniquenessExpectation: {}
column: transaction_id
dimension: UNIQUENESS
- nonNullExpectation: {}
column: amount
dimension: COMPLETENESS
threshold: 1
- regexExpectation:
regex: '^[0-9]{8}[a-zA-Z]{16}$'
column : customer_id
ignoreNull : true
dimension : VALIDITY
threshold : 1
- setExpectation :
values :
- 'USD'
- 'JPY'
- 'INR'
- 'GBP'
- 'CAN'
column : currency_id
ignoreNull : true
dimension : VALIDITY
threshold : 1
- rangeExpectation:
minValue : '0'
maxValue : '100'
column : discount_pct
ignoreNull : true
dimension : VALIDITY
threshold : 1
- rowConditionExpectation:
sqlExpression : 0 < `discount_pct` AND `discount_pct` < 100
column: discount_pct
dimension: VALIDITY
threshold: 1
- rowConditionExpectation:
sqlExpression : currency_id in (select id from `my_project_id.dim_dataset.dim_currency`)
column: currency_id
dimension: VALIDITY
threshold: 1
- tableConditionExpectation:
sqlExpression : 30 < avg(discount_pct) AND avg(discount_pct) < 50
dimension: VALIDITY
- rowConditionExpectation:
sqlExpression : TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
column: transaction_timestamp
dimension: VALIDITY
threshold: 1
- sqlAssertion:
sqlStatement : SELECT * FROM `my_project_id.dim_dataset.dim_currency` WHERE discount_pct > 100
dimension: VALIDITY
Creare un'analisi della qualità dei dati
Console
Nella console Google Cloud, vai alla pagina Qualità dei dati.
Fai clic su Crea analisi della qualità dei dati.
Nella finestra Definisci analisi, compila i seguenti campi:
Inserisci un Nome visualizzato.
L'ID scansione viene generato automaticamente se non fornisci il tuo ID. Consulta la convenzione di denominazione delle risorse.
(Facoltativo) Inserisci una Descrizione.
Nel campo Table (Tabella), fai clic su Sfoglia, scegli la tabella e fai clic su Seleziona. Dataplex supporta solo le tabelle BigQuery standard.
Per le tabelle in set di dati multiregionali, scegli una regione in cui creare la scansione dei dati.
Per sfogliare le tabelle organizzate all'interno del lake Dataplex, fai clic su Sfoglia all'interno dei data lake Dataplex.
Nel campo Ambito, scegli Incrementale o Tutti i dati.
- Se scegli Incrementale: nel campo Colonna timestamp,
seleziona una colonna di tipo
DATE
oTIMESTAMP
dalla tabella BigQuery che aumenti in modo monotonico e possa essere utilizzata per identificare nuovi record. Può essere una colonna che partiziona la tabella.
- Se scegli Incrementale: nel campo Colonna timestamp,
seleziona una colonna di tipo
(Facoltativo) Aggiungi delle etichette. Le etichette sono coppie
key:value
che consentono di raggruppare oggetti correlati tra loro o con altre risorse Google Cloud.Per filtrare i dati, fai clic su Filtri. Seleziona la casella di controllo Filtra righe. Il valore di input per il filtro riga deve essere un'espressione SQL valida che può essere utilizzata all'interno di una clausola
WHERE
nella sintassi SQL standard di BigQuery. Ad esempio:col1 >= 0
. Il filtro può essere una combinazione di più condizioni delle colonne. Ad esempio,col1 >= 0 AND col2 < 10
.Per campionare i dati, seleziona una percentuale di campionamento nell'elenco Dimensione del campione. Scegli un valore percentuale compreso tra 0,0% e 100,0% con un massimo di 3 cifre decimali. Per set di dati più grandi, scegli una percentuale di campionamento inferiore. Ad esempio, per una tabella di circa 1 PB, se inserisci un valore compreso tra lo 0,1% e l'1%, Dataplex esegue il campionamento di 1-10 TB di dati. Per le analisi dei dati incrementali, Dataplex applica il campionamento all'incremento più recente.
Per pubblicare i risultati della scansione della qualità dei dati nelle pagine BigQuery e Data Catalog della console Google Cloud per la tabella di origine, fai clic sulla casella di controllo Pubblica i risultati nell'interfaccia utente del catalogo BigQuery e Dataplex. Puoi visualizzare i risultati più recenti della scansione nella scheda Qualità dei dati nelle pagine di BigQuery e Data Catalog per la tabella di origine. Per consentire agli utenti di accedere ai risultati dell'analisi pubblicati, consulta Condividere i risultati pubblicati. L'opzione di pubblicazione potrebbe non essere disponibile nei seguenti casi:
- Non disponi delle autorizzazioni necessarie per la tabella.
- È impostata un'altra analisi della qualità dei dati per pubblicare i risultati.
Per ulteriori informazioni sulle autorizzazioni richieste per visualizzare i risultati pubblicati, vedi Autorizzazioni.
Fai clic su Continua.
Nella finestra Pianifica, scegli una delle seguenti opzioni:
Ripeti: esegui il job di analisi della qualità dei dati in base a una pianificazione: giornaliera, settimanale, mensile o personalizzata. Specifica la frequenza e l'ora di esecuzione della scansione. Se scegli Personalizzata, utilizza il formato cron per specificare la pianificazione.
On demand: esegui il job di scansione della qualità dei dati on demand.
Fai clic su Continua.
Nella finestra Regole sulla qualità dei dati, definisci le regole da configurare per questa analisi della qualità dei dati. Fai clic su Aggiungi regole e scegli una delle seguenti opzioni.
Suggerimenti basati sul profilo: crea regole dai suggerimenti in base a un'analisi di profilazione dei dati esistente.
Scegli colonne: seleziona le colonne per le quali vuoi ricevere le regole consigliate.
Scansiona progetto: suggerimenti basati su un'analisi del profilo dei dati esistente. Per impostazione predefinita, Dataplex seleziona le analisi di profilazione dello stesso progetto in cui stai creando l'analisi della qualità dei dati. Se hai creato l'analisi in un altro progetto, devi specificare il progetto da cui estrarre le analisi del profilo.
Seleziona i risultati del profilo: in base alle colonne e al progetto selezionati, vengono visualizzati più risultati del profilo.
Seleziona uno o più risultati del profilo e fai clic su OK. Viene visualizzato un elenco di regole tra cui scegliere.
Seleziona le regole da modificare selezionando le caselle e facendo clic su Seleziona. Una volta selezionate, le regole vengono aggiunte all'elenco di regole corrente. Dopodiché puoi modificare le regole.
Tipi di regole integrate: crea regole da regole predefinite. Consulta l'elenco delle regole predefinite.
Scegli colonne: seleziona le colonne per cui applicare le regole.
Scegli i tipi di regole: in base alle colonne selezionate, vengono visualizzati più tipi di regole tra cui scegliere.
Seleziona uno o più tipi di regole e fai clic su OK. Viene visualizzato un elenco di regole tra cui scegliere.
Seleziona le regole da modificare selezionando le caselle e facendo clic su Seleziona. Una volta selezionate, le regole vengono aggiunte all'elenco di regole corrente. Poi, puoi modificare le regole.
Regola per il controllo delle righe SQL: crea una regola SQL personalizzata da applicare a ogni riga (regola di controllo delle righe SQL personalizzata).
In Dimensione, scegli una dimensione.
In Soglia di superamento, scegli una percentuale di record che deve superare il controllo.
In Nome colonna, scegli una colonna.
Nel campo Fornisci un'espressione SQL, inserisci un'espressione SQL che restituisce un valore booleano
true
(pass) ofalse
(fail). Per maggiori informazioni, consulta Tipi di regole SQL personalizzate supportate e gli esempi nella sezione Definire regole di qualità dei dati di questo documento.Fai clic su Aggiungi.
Regola per il controllo aggregato SQL: crea una regola di condizione tabella SQL personalizzata.
In Dimensione, scegli una dimensione.
In Nome colonna, scegli una colonna.
Nel campo Fornisci un'espressione SQL, inserisci un'espressione SQL che restituisce un valore booleano
true
(pass) ofalse
(fail). Per maggiori informazioni, consulta Tipi di regole SQL personalizzate supportate e gli esempi nella sezione Definire le regole di qualità dei dati di questo documento.Fai clic su Aggiungi.
Regola di asserzione SQL: crea una regola di asserzione SQL personalizzata per verificare la presenza di uno stato non valido dei dati.
In Dimensione, scegli una dimensione.
(Facoltativo) In Nome colonna, scegli una colonna.
Nel campo Fornisci un'istruzione SQL, inserisci un'istruzione SQL che restituisce le righe corrispondenti allo stato non valido. Se vengono rese delle righe, questa regola non riesce. Ometti il punto e virgola finale dall'istruzione SQL. Per ulteriori informazioni, consulta Tipi di regole SQL personalizzate supportati e gli esempi nella sezione Definire le regole di qualità dei dati di questo documento.
Fai clic su Aggiungi.
Dataplex consente nomi personalizzati per le regole di qualità dei dati per il monitoraggio e l'invio di avvisi. Per qualsiasi regola di qualità dei dati, puoi optionally assegnare un nome e una descrizione personalizzati. Per farlo, modifica una regola e specifica i seguenti dettagli:
- Nome regola: inserisci un nome della regola personalizzata con un massimo di 63 caratteri. Il nome della regola può includere lettere (a-z, A-Z), cifre (0-9) e trattini (-) e deve iniziare con una lettera e terminare con un numero o una lettera.
- Descrizione: inserisci una descrizione della regola con una lunghezza massima di 1024 caratteri.
Fai clic su Continua.
(Facoltativo) Esporta i risultati della scansione in una tabella standard BigQuery. Nella sezione Esporta i risultati della scansione in una tabella BigQuery, fai clic su Sfoglia per selezionare un set di dati BigQuery esistente in cui archiviare i risultati della scansione della qualità dei dati.
Se la tabella specificata non esiste, Dataplex la crea per te. Se utilizzi una tabella esistente, assicurati che sia compatibile con lo schema della tabella di esportazione.
(Facoltativo) Configura i report di notifica via email per avvisare gli utenti sullo stato e sui risultati di un job di analisi della qualità dei dati. Nella sezione Report sulle notifiche, fai clic su
Aggiungi ID email e inserisci fino a cinque indirizzi email. Poi seleziona gli scenari per i quali vuoi inviare i report:- Punteggio di qualità (<=): invia un report quando un job riesce con un punteggio di qualità dei dati inferiore al punteggio target specificato. Inserisci un voto qualità target compreso tra 0 e 100.
- Errori job: viene inviato un report quando il job stesso non va a buon fine, indipendentemente dai risultati della qualità dei dati.
- Completamento job (con esito positivo o negativo): invia un report al termine del job, indipendentemente dai risultati della qualità dei dati.
Fai clic su Crea.
Dopo aver creato la scansione, puoi eseguirla in qualsiasi momento facendo clic su Esegui ora.
gcloud
Per creare un'analisi della qualità dei dati, utilizza il
comando gcloud dataplex datascans create data-quality
.
Se i dati di origine sono organizzati in un lake Dataplex, includi il flag --data-source-entity
:
gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-entity=DATA_SOURCE_ENTITY
Se i dati di origine non sono organizzati in un data lake Dataplex, includi il flag --data-source-resource
:
gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-resource=DATA_SOURCE_RESOURCE
Sostituisci le seguenti variabili:
DATASCAN
: il nome dell'analisi della qualità dei dati.LOCATION
: la regione Google Cloud in cui creare la scansione della qualità dei dati.DATA_QUALITY_SPEC_FILE
: il percorso del file JSON o YAML contenente le specifiche per la scansione della qualità dei dati. Il file può essere un file locale o un percorso Cloud Storage con il prefissogs://
. Utilizza questo file per specificare le regole di qualità dei dati per la scansione. Puoi anche specificare dettagli aggiuntivi in questo file, ad esempio filtri, percentuale di campionamento e azioni post-scan come l'esportazione in BigQuery o l'invio di report di notifica via email. Consulta la documentazione relativa alla rappresentazione JSON.DATA_SOURCE_ENTITY
: l'entità Dataplex che contiene i dati per l'analisi della qualità dei dati. Ad esempio,projects/test-project/locations/test-location/lakes/test-lake/zones/test-zone/entities/test-entity
.DATA_SOURCE_RESOURCE
: il nome della risorsa che contiene i dati per l'analisi della qualità dei dati. Ad esempio,//bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table
.
REST
Utilizza Explorer API per creare un'analisi della qualità dei dati.
Se vuoi creare regole per l'analisi della qualità dei dati utilizzando i consigli sulle regole basati sui risultati di un'analisi di profilazione dei dati, ottieni i consigli chiamando il metodo dataScans.jobs.generateDataQualityRules
nell'analisi di profilazione dei dati.
Esporta schema tabella
Per esportare i risultati della scansione della qualità dei dati in una tabella BigQuery esistente, assicurati che sia compatibile con lo schema di tabella seguente:
Nome colonna | Tipo di dati della colonna | Nome del campo secondario (se applicabile) |
Tipo di dati del campo secondario | Modalità | Esempio |
---|---|---|---|---|---|
data_quality_scan | struct/record |
resource_name |
string |
nullable | //dataplex.googleapis.com/projects/test-project/locations/europe-west2/datascans/test-datascan |
project_id |
string |
nullable | dataplex-back-end-dev-project |
||
location |
string |
nullable | us-central1 |
||
data_scan_id |
string |
nullable | test-datascan |
||
data_source | struct/record |
resource_name |
string |
nullable | Maiuscole per le entità://dataplex.googleapis.com/projects/dataplex-back-end-dev-project/locations/europe-west2/lakes/a0-datascan-test-lake/zones/a0-datascan-test-zone/entities/table1 Maiuscole per le tabelle: //bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table
|
dataplex_entity_project_id |
string |
nullable | dataplex-back-end-dev-project |
||
dataplex_entity_project_number |
integer |
nullable | 123456789 |
||
dataplex_lake_id |
string |
nullable | (Valido solo se l'origine è un'entità)test-lake
|
||
dataplex_zone_id |
string |
nullable | (Valido solo se l'origine è un'entità)test-zone |
||
dataplex_entity_id |
string |
nullable | (Valido solo se l'origine è un'entità)test-entity |
||
table_project_id |
string |
nullable | test-project |
||
table_project_number |
integer |
nullable | 987654321 |
||
dataset_id |
string |
nullable | (Valido solo se l'origine è una tabella)test-dataset |
||
table_id |
string |
nullable | (Valido solo se l'origine è una tabella)test-table |
||
data_quality_job_id | string |
nullable | caeba234-cfde-4fca-9e5b-fe02a9812e38 |
||
data_quality_job_configuration | json |
trigger |
string |
nullable | ondemand /schedule |
incremental |
boolean |
nullable | true /false |
||
sampling_percent |
float |
nullable | (0-100)20.0 (indica il 20%) |
||
row_filter |
string |
nullable | col1 >= 0 AND col2 < 10 |
||
job_labels | json |
nullable | {"key1":value1} |
||
job_start_time | timestamp |
nullable | 2023-01-01 00:00:00 UTC |
||
job_end_time | timestamp |
nullable | 2023-01-01 00:00:00 UTC |
||
job_rows_scanned | integer |
nullable | 7500 |
||
rule_name | string |
nullable | test-rule |
||
rule_type | string |
nullable | Range Check |
||
rule_evaluation_type | string |
nullable | Per row |
||
rule_column | string |
nullable | Rule only attached to a certain column |
||
rule_dimension | string |
nullable | UNIQUENESS |
||
job_quality_result | struct/record |
passed |
boolean |
nullable | true /false |
score |
float |
nullable | 90.8 |
||
job_dimension_result | json |
nullable | {"ACCURACY":{"passed":true,"score":100},"CONSISTENCY":{"passed":false,"score":60}}
|
||
rule_threshold_percent | float |
nullable | (0,0-100,0)Rule-threshold-pct in API * 100 |
||
rule_parameters | json |
nullable | {min: 24, max:5345} |
||
rule_pass | boolean |
nullable | True |
||
rule_rows_evaluated | integer |
nullable | 7400 |
||
rule_rows_passed | integer |
nullable | 3 |
||
rule_rows_null | integer |
nullable | 4 |
||
rule_failed_records_query | string |
nullable | "SELECT * FROM `test-project.test-dataset.test-table` WHERE (NOT((`cTime` >= '15:31:38.776361' and `cTime` <= '19:23:53.754823') IS TRUE));" |
Quando configuri BigQueryExport per un job di analisi della qualità dei dati, segui queste linee guida:
- Per il campo
resultsTable
, utilizza il formato://bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id}/tables/{table-id}
. - Utilizza una tabella standard BigQuery.
- Se la tabella non esiste al momento della creazione o dell'aggiornamento della scansione, Dataplex la crea per te.
- Per impostazione predefinita, la tabella viene partizionata in base alla colonna
job_start_time
ogni giorno. - Se vuoi che la tabella venga partizionata in altre configurazioni o se non vuoi la partizione, ricrea la tabella con lo schema e le configurazioni richiesti e poi fornisci la tabella precreata come tabella dei risultati.
- Assicurati che la tabella dei risultati si trovi nella stessa posizione della tabella di origine.
- Se nel progetto è configurato VPC-SC, la tabella dei risultati deve trovarsi nello stesso perimetro VPC-SC della tabella di origine.
- Se la tabella viene modificata durante la fase di esecuzione della scansione, il job in esecuzione corrente viene esportato nella tabella dei risultati precedente e la modifica della tabella viene applicata dal job di scansione successivo.
- Non modificare lo schema della tabella. Se hai bisogno di colonne personalizzate, crea una vista sulla tabella.
- Per ridurre i costi, imposta una scadenza per la partizione in base al tuo caso d'uso. Per ulteriori informazioni, scopri come impostare la scadenza della partizione.
Esegui un'analisi della qualità dei dati
Console
Nella console Google Cloud, vai alla pagina Qualità dei dati.
Fai clic sull'analisi della qualità dei dati da eseguire.
Fai clic su Esegui ora.
gcloud
Per eseguire un'analisi della qualità dei dati, utilizza il
comando gcloud dataplex datascans run
:
gcloud dataplex datascans run DATASCAN \ --location=LOCATION \
Sostituisci le seguenti variabili:
LOCATION
: la regione Google Cloud in cui è stata creata la scansione della qualità dei dati.DATASCAN
: il nome dell'analisi della qualità dei dati.
REST
Utilizza Explorer API per eseguire l'analisi della qualità dei dati.
Visualizzare i risultati dell'analisi della qualità dei dati
Console
Nella console Google Cloud, vai alla pagina Qualità dei dati.
Per visualizzare i risultati dettagliati di un'analisi, fai clic sul nome dell'analisi.
La sezione Panoramica mostra informazioni sugli ultimi sette lavori, tra cui la data di esecuzione della scansione, il numero di record sottoposti a scansione in ogni lavoro, se tutti i controlli della qualità dei dati sono stati superati, se si sono verificati errori, il numero di controlli della qualità dei dati non superati e le dimensioni con errori.
La sezione Configurazione dell'analisi della qualità dei dati mostra i dettagli della scansione.
Per visualizzare i punteggi di qualità dei dati che indicano la percentuale di regole superate, fai clic sulla scheda Cronologia job. Quindi, fai clic su un ID job.
gcloud
Per visualizzare i risultati di un job di analisi della qualità dei dati, utilizza il
comando gcloud dataplex datascans jobs describe
:
gcloud dataplex datascans jobs describe JOB \ --location=LOCATION \ --datascan=DATASCAN \ --view=FULL
Sostituisci le seguenti variabili:
JOB
: l'ID dell'attività di analisi della qualità dei dati.LOCATION
: la regione Google Cloud in cui è stata creata la scansione della qualità dei dati.DATASCAN
: il nome dell'analisi della qualità dei dati a cui appartiene il job.--view=FULL
: per visualizzare il risultato del job di scansione, specificaFULL
.
REST
Utilizza Explorer API per visualizzare i risultati di un'analisi della qualità dei dati.
Visualizzare i risultati delle analisi storiche
Dataplex salva la cronologia delle analisi della qualità dei dati degli ultimi 300 job o dell'ultimo anno, a seconda del caso.
Console
Nella console Google Cloud, vai alla pagina Qualità dei dati.
Fai clic sul nome di una scansione.
Fai clic sulla scheda Cronologia job.
La scheda Cronologia job fornisce informazioni sui job passati. Elenca tutti i job, il numero di record analizzati in ogni job, lo stato del job, l'ora di esecuzione del job, se ogni regola è stata superata o meno e altro ancora.
Per visualizzare informazioni dettagliate su un job, fai clic su uno dei job nella colonna ID job.
gcloud
Per visualizzare tutti i job di un'analisi della qualità dei dati, utilizza il
comando gcloud dataplex datascans jobs list
:
gcloud dataplex datascans jobs list \ --location=LOCATION \ --datascan=DATASCAN \
Sostituisci le seguenti variabili:
LOCATION
: la regione Google Cloud in cui è stata creata la scansione della qualità dei dati.DATASCAN
: il nome dell'analisi della qualità dei dati per la quale visualizzare tutti i job.
REST
Utilizza Explorer API per visualizzare tutti i job di scansione.
Condividere i risultati pubblicati
Quando crei una scansione della qualità dei dati, se hai scelto di pubblicare i risultati della scansione nelle pagine BigQuery e Data Catalog della console Google Cloud, i risultati più recenti della scansione saranno disponibili nella scheda Qualità dei dati in queste pagine.
Puoi consentire agli utenti della tua organizzazione di accedere ai risultati della scansione pubblicati. Per concedere l'accesso ai risultati della ricerca:
Nella console Google Cloud, vai alla pagina Qualità dei dati.
Fai clic sull'analisi della qualità dei dati di cui vuoi condividere i risultati.
Vai alla scheda Autorizzazioni.
Fai clic su Concedi accesso.
Nel campo Nuove entità, aggiungi l'entità a cui vuoi concedere l'accesso.
Nel campo Seleziona un ruolo, seleziona DataViewer di DataScan di Dataplex.
Fai clic su Salva.
Per rimuovere l'accesso ai risultati dell'analisi pubblicati per un'entità, segui questi passaggi:
Nella console Google Cloud, vai alla pagina Qualità dei dati.
Fai clic sull'analisi della qualità dei dati di cui vuoi condividere i risultati.
Vai alla scheda Autorizzazioni.
Seleziona l'entità per cui vuoi rimuovere il ruolo DataViewer di DataScan Dataplex.
Fai clic su Rimuovi accesso.
Fai clic su Conferma.
Impostare gli avvisi in Cloud Logging
Per impostare avvisi per gli errori di qualità dei dati utilizzando i log in Cloud Logging, segui questi passaggi:
Console
Nella console Google Cloud, vai a Esplora log di Cloud Logging.
Nella finestra Query, inserisci la query. Consulta le query di esempio.
Fai clic su Esegui query.
Fai clic su Crea avviso. Si aprirà un riquadro laterale.
Inserisci il nome del criterio di avviso e fai clic su Avanti.
Esamina la query.
Fai clic sul pulsante Anteprima log per testare la query. Vengono visualizzati i log con le condizioni di corrispondenza.
Fai clic su Avanti.
Imposta l'intervallo di tempo tra le notifiche e fai clic su Avanti.
Definisci chi deve ricevere una notifica per l'avviso e fai clic su Salva per creare il criterio di avviso.
In alternativa, puoi configurare e modificare gli avvisi nella console Google Cloud andando a Monitoraggio > Avvisi.
gcloud
Non supportati.
REST
Utilizza Explorer API per impostare gli avvisi in Cloud Logging.
Query di esempio per l'impostazione di avvisi a livello di job o di dimensione
Una query di esempio per impostare avvisi sugli errori complessivi della qualità dei dati per un'analisi della qualità dei dati:
resource.type="dataplex.googleapis.com/DataScan" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND resource.labels.datascan_id="a0-test-dec6-dq-3" AND NOT jsonPayload.dataQuality.passed=true
Una query di esempio per impostare avvisi sugli errori di qualità dei dati per una dimensione (ad esempio, unicità) di una determinata analisi della qualità dei dati:
resource.type="dataplex.googleapis.com/DataScan" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND resource.labels.datascan_id="a0-test-dec6-dq-3" AND jsonPayload.dataQuality.dimensionPassed.UNIQUENESS=false
Una query di esempio per impostare avvisi sugli errori di qualità dei dati per una tabella.
Imposta avvisi sugli errori di qualità dei dati per una tabella BigQuery che non è organizzata in un lake Dataplex:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.dataSource="//bigquery.googleapis.com/projects/test-project/datasets/testdataset/table/chicago_taxi_trips" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND NOT jsonPayload.dataQuality.passed=true
Imposta avvisi sugli errori di qualità dei dati per una tabella BigQuery organizzata in un lake Dataplex:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.dataSource="projects/test-project/datasets/testdataset/table/chicago_taxi_trips" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND NOT jsonPayload.dataQuality.passed=true
Query di esempio da impostare per gli avvisi delle regole
Una query di esempio per impostare avvisi su tutte le regole di qualità dei dati non valide con il nome della regola personalizzata specificata per un'analisi della qualità dei dati:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.ruleName="custom-name" AND jsonPayload.result="FAILED"
Una query di esempio per impostare avvisi su tutte le regole di qualità dei dati non valide di un tipo di valutazione specifico per un'analisi della qualità dei dati:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.evalutionType="PER_ROW" AND jsonPayload.result="FAILED"
Una query di esempio per impostare avvisi su tutte le regole di qualità dei dati non valide per una colonna nella tabella utilizzata per un'analisi della qualità dei dati:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.column="CInteger" AND jsonPayload.result="FAILED"
Risolvere un errore di qualità dei dati
Per ogni job con regole a livello di riga che non vanno a buon fine, Dataplex fornisce una query per recuperare i record con errori. Esegui questa query per visualizzare i record che non corrispondevano alla tua regola.
Console
Nella console Google Cloud, vai alla pagina Qualità dei dati.
Fai clic sul nome della ricerca di cui vuoi risolvere i problemi.
Fai clic sulla scheda Cronologia job.
Fai clic sull'ID del job che ha identificato errori di qualità dei dati.
Nella finestra dei risultati del job che si apre, nella sezione Regole, individua la colonna Query per ottenere i record con errori. Fai clic su Copia query negli appunti per la regola non riuscita.
Esegui la query in BigQuery per visualizzare i record che hanno causato l'errore del job.
gcloud
Non supportati.
REST
Utilizza Explorer API per visualizzare la query per ottenere i record non riusciti per i job che non sono riusciti.
Aggiornare un'analisi della qualità dei dati
Console
Nella console Google Cloud, vai alla pagina Qualità dei dati.
Nella riga con la scansione da modificare, fai clic sui tre puntini verticali > Modifica.
Modifica i valori.
Fai clic su Salva.
gcloud
Per aggiornare la descrizione di un'analisi della qualità dei dati, utilizza il
comando gcloud dataplex datascans update data-quality
:
gcloud dataplex datascans update data-quality DATASCAN \ --location=LOCATION \ --description=DESCRIPTION
Sostituisci quanto segue:
DATASCAN
: il nome dell'analisi della qualità dei dati da actualizare.LOCATION
: la regione Google Cloud in cui è stata creata la scansione della qualità dei dati.DESCRIPTION
: la nuova descrizione per la verifica della qualità dei dati.
REST
Utilizza Explorer API per modificare l'analisi della qualità dei dati.
Eliminare un'analisi della qualità dei dati
Console
Nella console Google Cloud, vai alla pagina Qualità dei dati.
Fai clic sulla scansione che vuoi eliminare.
Fai clic su Elimina.
gcloud
Per eliminare un'analisi della qualità dei dati, utilizza il
comando gcloud dataplex datascans delete
:
gcloud dataplex datascans delete DATASCAN \ --location=LOCATION \ --async
Sostituisci le seguenti variabili:
DATASCAN
: il nome dell'analisi della qualità dei dati da eliminare.LOCATION
: la regione Google Cloud in cui è stata creata la scansione della qualità dei dati.
REST
Utilizza Explorer API per eliminare l'analisi della qualità dei dati.
Passaggi successivi
- Scopri di più sulla profilazione dei dati.
- Scopri come utilizzare la profilazione dei dati.
- Segui un tutorial per gestire le regole di qualità dei dati sotto forma di codice con Terraform.