Utilizza la qualità dei dati automatici

Questa pagina descrive come creare un'analisi della qualità dei dati di Dataplex.

Per saperne di più sulle analisi della qualità dei dati, consulta Informazioni sulla qualità dei dati automatici.

Prima di iniziare

Abilitare l'API Dataplex.

Abilitare l'API

Autorizzazioni

  • Per eseguire un'analisi della qualità dei dati su una tabella BigQuery, devi disporre dell'autorizzazione per leggere la tabella BigQuery e dell'autorizzazione per creare un job BigQuery nel progetto utilizzato per la scansione della tabella.

  • Se la tabella BigQuery e la scansione della qualità dei dati si trovano in progetti diversi, devi assegnare l'account di servizio Dataplex del progetto contenente l'autorizzazione di lettura della scansione dei dati per la tabella BigQuery corrispondente.

  • Se le regole sulla qualità dei dati fanno riferimento a tabelle aggiuntive, l'account di servizio del progetto di scansione deve avere le 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) nel set di dati e nella tabella dei risultati. Questo ruolo concede 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 roles/dataplex.metadataReader e 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 BigQuery esterna da Cloud Storage, concedi all'account di servizio Dataplex il ruolo roles/storage.objectViewer di Cloud Storage per il bucket. In alternativa, assegna all'account di servizio Dataplex le autorizzazioni seguenti:

    • 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 Editor dati BigQuery (roles/bigquery.dataEditor) o dell'autorizzazione bigquery.tables.update per la tabella.

  • Se devi accedere alle colonne protette da criteri di accesso a livello di colonna BigQuery, assegna le autorizzazioni dell'account di servizio Dataplex per quelle colonne. L'utente che crea o aggiorna una scansione dei dati ha bisogno anche di autorizzazioni per le colonne.

  • Se per una tabella sono abilitati i criteri di accesso a livello di riga di BigQuery, puoi scansionare solo le righe visibili all'account di servizio Dataplex. Tieni presente che i privilegi di accesso del singolo utente non vengono valutati in base ai criteri a livello di riga.

Autorizzazioni e ruoli per la scansione dei dati

Per utilizzare la qualità dei dati automatici, devi disporre delle autorizzazioni per eseguire le analisi dei dati o di un ruolo con autorizzazioni predefinite per eseguire le scansioni di dati.

Nella tabella seguente sono elencate le autorizzazioni DataScan:

Nome autorizzazione Concede l'autorizzazione per:
dataplex.datascans.create Crea un DataScan
dataplex.datascans.delete Elimina un DataScan
dataplex.datascans.get Visualizzare metadati operativi come ID o pianificazione, ma non risultati e regole
dataplex.datascans.getData Visualizza i dettagli di DataScan, tra cui regole e risultati
dataplex.datascans.list Elenco DataScan
dataplex.datascans.run Esegui un DataScan
dataplex.datascans.update Aggiorna la descrizione di DataScan
dataplex.datascans.getIamPolicy Visualizza le autorizzazioni IAM attuali per la scansione
dataplex.datascans.setIamPolicy Imposta autorizzazioni IAM sulla scansione

Concedi agli utenti uno o più dei seguenti ruoli:

  • roles/dataplex.dataScanAdmin: accesso completo a DataScan risorse.
  • roles/dataplex.dataScanEditor: accesso in scrittura a DataScan risorse.
  • roles/dataplex.dataScanViewer: accesso in lettura alle risorse DataScan ad eccezione delle regole e dei risultati.
  • roles/dataplex.dataScanDataViewer: accesso in lettura a DataScan risorse, inclusi regole e risultati.

Crea un'analisi della qualità dei dati

Console

  1. Nella console Google Cloud, vai alla pagina Qualità dei dati.

    Vai a Qualità dei dati

  2. Fai clic su Crea scansione della qualità dei dati.

  3. Nella finestra Definisci l'analisi, compila i seguenti campi:

    1. Inserisci un Nome visualizzato.

    2. L'ID scansione viene generato automaticamente se non fornisci il tuo ID. Consulta la convenzione di denominazione delle risorse.

    3. (Facoltativo) Inserisci una Descrizione.

    4. Nel campo 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 a più aree geografiche, scegli una regione in cui creare la scansione dei dati.

      Per esplorare le tabelle organizzate all'interno del lake Dataplex, fai clic su Sfoglia all'interno dei lake Dataplex.

    5. Nel campo Ambito, scegli Incrementale o Interi dati.

      • Se scegli Incrementale: nel campo Colonna timestamp, seleziona una colonna di tipo DATE o TIMESTAMP dalla tabella BigQuery che aumenta in modo monotonico e può essere utilizzata per identificare nuovi record. Può essere una colonna che esegue il partizionamento della tabella.
    6. (Facoltativo) Aggiungi etichette. Le etichette sono coppie key:value che consentono di raggruppare oggetti correlati o con altre risorse Google Cloud.

    7. Per filtrare i dati, fai clic su Filtri. Seleziona la casella di controllo Filtra righe. Il valore di input per il filtro della riga deve essere un'espressione SQL valida che può essere utilizzata come parte di una clausola WHERE nella sintassi SQL standard di BigQuery. Ad esempio: col1 >= 0. Il filtro può essere una combinazione di più condizioni di colonna. Ad esempio, col1 >= 0 AND col2 < 10.

    8. Per campionare i dati, seleziona una percentuale di campionamento nell'elenco Dimensioni di campionamento. 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 PB ~1, se inserisci un valore compreso tra 0,1% e 1,0%, campioni Dataplex compresi tra 1 e 10 TB di dati. Per le scansioni di dati incrementali, Dataplex applica il campionamento all'incremento più recente.

    9. Per pubblicare i risultati dell'analisi 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 risultati nell'interfaccia utente di BigQuery e Dataplex Catalog. Puoi visualizzare i risultati dell'ultima 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 della scansione pubblicati, consulta la sezione Condividere i risultati pubblicati. L'opzione di pubblicazione potrebbe non essere disponibile nei seguenti casi:

      • Non disponi delle autorizzazioni richieste nella tabella.
      • Per pubblicare i risultati è stata impostata un'altra analisi della qualità dei dati.

      Per ulteriori informazioni sulle autorizzazioni necessarie per visualizzare i risultati pubblicati, consulta la sezione Autorizzazioni.

    10. Fai clic su Continua.

  4. 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 di esecuzione della scansione e l'ora di esecuzione. Se scegli il formato personalizzato, 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.

  5. Nella finestra Regole sulla qualità dei dati, definisci le regole da configurare per questa analisi della qualità dei dati. Nel campo Regole, scegli una delle seguenti opzioni.

    • Opzione 1: consigli basati sul profilo: crea regole basate sui consigli in base a una scansione di profilazione dei dati esistente.

      1. Scegli colonne: seleziona le colonne per cui vuoi ricevere le regole consigliate.

      2. Progetto di scansione: suggerimenti basati su un'analisi di profilazione dei dati esistente. Per impostazione predefinita, Dataplex seleziona le analisi di profilazione dallo stesso progetto in cui stai creando l'analisi della qualità dei dati. Se hai creato la scansione in un altro progetto, devi specificare il progetto da cui estrarre le analisi del profilo.

      3. Scegli i risultati del profilo: in base alle colonne e al progetto selezionati, vengono visualizzati più risultati di profilo.

      4. Seleziona uno o più risultati del profilo e fai clic su OK. Compila un elenco di regole tra cui scegliere.

      5. Seleziona le regole da modificare selezionando le caselle corrispondenti e facendo clic su Seleziona. Una volta selezionate, le regole vengono aggiunte all'elenco di regole corrente. Successivamente, potrai modificare le regole.

    • Opzione 2: tipi di regole integrate: crea regole da regole predefinite. Consulta l'elenco delle regole predefinite.

      1. Scegli colonne: seleziona le colonne per cui vuoi scegliere le regole.

      2. Scegli i tipi di regole: in base alle colonne selezionate, vengono selezionati più tipi di regole.

      3. Seleziona uno o più tipi di regole e fai clic su OK. Compila un elenco di regole da cui scegliere.

      4. Seleziona le regole da modificare selezionando le caselle corrispondenti e facendo clic su Seleziona. Una volta selezionate, le regole vengono aggiunte all'elenco delle regole attuali. Successivamente, puoi modificare le regole.

    • Opzione 3: regola di controllo delle righe SQL: crea una regola SQL personalizzata da applicare a ogni riga (regola di controllo delle righe SQL personalizzata). Scegli Regola per il controllo delle righe SQL e segui questi passaggi:

      1. In Dimensione, scegli una dimensione.

      2. In Soglia di superamento, scegli una percentuale di record che devono superare il controllo.

      3. In Nome colonna, scegli una colonna.

      4. Fai clic su Add (Aggiungi).

    • Opzione 4: Regola di controllo aggregato SQL: crea una regola di controllo aggregato SQL SQL. Scegli SQL Aggregate Check Rules (Regola di controllo aggregate SQL) e segui questi passaggi:

      1. In Dimensione, scegli una dimensione.

      2. In Nome colonna, scegli una colonna.

      3. Fai clic su Add (Aggiungi).

    Dataplex consente i nomi personalizzati delle regole sulla qualità dei dati per il monitoraggio e gli avvisi. Per qualsiasi regola sulla qualità dei dati, puoi facoltativamente assegnare un nome e una descrizione. A questo scopo, modifica una regola e specifica i seguenti dettagli:

    • Nome regola: inserisci un nome per la regola personalizzato con un massimo di 63 caratteri. Il nome della regola può includere lettere (a-z, A-Z), cifre (0-9) e trattini (-), 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.

  6. (Facoltativo) Esporta i risultati della scansione in una tabella BigQuery standard. Fai clic su Sfoglia per selezionare un set di dati BigQuery esistente per 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 di tabella descritto più avanti in questa sezione.

  7. 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, esegui il comando seguente:

gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-entity=DATA_SOURCE_ENTITY
| --data-source-resource=DATA_SOURCE_RESOURCE

Sostituisci le seguenti variabili:

  • DATASCAN: il nome dell'analisi della qualità dei dati.
  • LOCATION: la regione di Google Cloud in cui creare la scansione per la 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 prefisso gs://. In questo file puoi specificare campi aggiuntivi come rules, rowFilter o samplingPercent. Consulta la documentazione per la rappresentazione JSON.
  • data-source-entity: l'entità Dataplex contenente 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.

Per gli argomenti facoltativi, consulta la documentazione di riferimento sull'interfaccia a riga di comando gcloud.

REST

Utilizza l'Explorer API per creare un'analisi della qualità dei dati.

Esporta schema della tabella

Per esportare i risultati dell'analisi della qualità dei dati in una tabella BigQuery esistente, assicurati che sia compatibile con lo schema della tabella seguente:

Nome colonna Tipo di dati relativi alla colonna Nome campo secondario
(se applicabile)
Tipo di dati del campo secondario Modalità Esempio
scansione_qualità_dati 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
origine_dati struct/record resource_name string Nullable Custodia 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 nella tabella: //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 è entità)
test-lake
dataplex_zone_id string Nullable (valido solo se l'origine è entità)
test-zone
dataplex_entity_id string Nullable (valido solo se l'origine è 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 è tabella)
test-dataset
table_id string Nullable (Valido solo se l'origine è tabella)
test-table
id_qualità_qualità_dati string Nullable caeba234-cfde-4fca-9e5b-fe02a9812e38
configurazione_dati_profilo_lavoro 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
etichette_lavoro json Nullable {"key1":value1}
job_start_time timestamp Nullable 2023-01-01 00:00:00 UTC
orario_di_lavoro timestamp Nullable 2023-01-01 00:00:00 UTC
job_rows_scansionati integer Nullable 7500
nome_regola string Nullable test-rule
tipo_regola string Nullable Range Check
tipo_valutazione_regola string Nullable Per row
colonna_regola string Nullable Rule only attached to a certain column
regola_dimensione string Nullable Uniqueness
risultato_qualità_offerta_di_lavoro struct/record passed boolean Nullable true/false
score float Nullable 90.8
risultato_dimensione_offerta_di_lavoro json Nullable {
"accuracy":{
"passed":true
},
"consistency":{
"passed":false
}
}
regola_soglia_percentuale float Nullable (0,0-100,0)
Rule-threshold-pct in API * 100
regola_parametri json Nullable {min: 24, max:5345}
regola_passa boolean Nullable True
riga_righe_valutate integer Nullable 7400
riga_righe_passata integer Nullable 3
regole_righe_null integer Nullable 4
regola_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 scansione 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}.
  • Utilizzare una tabella BigQuery standard.
  • Se la tabella non esiste quando la scansione viene creata o aggiornata, Dataplex crea la tabella per te.
  • Per impostazione predefinita, la tabella viene partizionata quotidianamente nella colonna job_start_time.
  • Se vuoi che la tabella venga partizionata in altre configurazioni o se non vuoi che venga partita, ricrea la tabella con lo schema e le configurazioni richiesti, quindi fornisci la tabella precreata come tabella dei risultati.
  • Assicurati che la tabella dei risultati si trovi nella stessa posizione della tabella di origine.
  • Se VPC-SC è configurato sul progetto, 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 viene esportato nella tabella dei risultati precedenti 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 visualizzazione nella tabella.
  • Per ridurre i costi, imposta una scadenza sulla partizione in base al caso d'uso. Per ulteriori informazioni, scopri come impostare la scadenza della partizione.

Esegui un'analisi della qualità dei dati

Console

  1. Nella console Google Cloud, vai alla pagina Qualità dei dati. Vai a Qualità dei dati Dataplex
  2. Fai clic sull'analisi della qualità dei dati da eseguire.
  3. Fai clic su Esegui ora.

gcloud

Per eseguire un'analisi della qualità dei dati, esegui il comando seguente:

gcloud dataplex datascans run DATASCAN \
--location=LOCATION \

Sostituisci le seguenti variabili:

  • LOCATION: la regione di Google Cloud in cui è stata creata l'analisi della qualità dei dati.
  • DATASCAN: il nome dell'analisi della qualità dei dati.

Per gli argomenti facoltativi, consulta la documentazione di riferimento sull'interfaccia a riga di comando gcloud.

REST

Utilizza l'Explorer API per eseguire la scansione della qualità dei dati.

Visualizzare i risultati del job di analisi della qualità dei dati

Console

Le analisi della qualità dei dati che hai creato vengono visualizzate nella pagina Qualità dei dati.

Fai clic sul nome di un'analisi per visualizzarne i risultati dettagliati.

  • Nella sezione Panoramica vengono visualizzate informazioni sulle ultime sette esecuzioni, incluso quando è stata eseguita la scansione, il numero di record scansionati in ogni job, se tutti i controlli della qualità dei dati sono stati superati e, in caso di errori, il numero di controlli di qualità dei dati non riusciti e le dimensioni non riuscite.

  • La sezione Configurazione della scansione della qualità dei dati mostra i dettagli della scansione.

gcloud

Per visualizzare i risultati di un job di analisi della qualità dei dati, esegui il comando seguente:

gcloud dataplex datascans jobs describe JOB \
--location=LOCATION \
--datascan=DATASCAN \
--view=FULL

Sostituisci le seguenti variabili:

  • JOB: l'ID job del job di analisi della qualità dei dati.
  • LOCATION: la regione di Google Cloud in cui è stata creata l'analisi della qualità dei dati.
  • DATASCAN: il nome della qualità dei dati al quale il job appartiene.
  • --view=FULL: per visualizzare il risultato del job di scansione, specifica FULL.

Per gli argomenti facoltativi, consulta la documentazione di riferimento sull'interfaccia a riga di comando gcloud.

REST

Utilizza l'Explorer API per visualizzare i risultati di un'analisi della qualità dei dati.

Visualizza tutti i job di analisi della qualità dei dati

Dataplex salva la cronologia delle analisi della qualità dei dati degli ultimi 300 job o dell'ultimo anno, a seconda dell'evento che si verifica per primo.

Console

La scheda Cronologia dei job fornisce informazioni sui job passati. Elenca tutti i job, il numero di record analizzati in ogni job, lo stato del job, l'ora in cui è stato eseguito il 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, esegui il comando seguente:

gcloud dataplex datascans jobs list \
--location=LOCATION \
--datascan=DATASCAN \

Sostituisci le seguenti variabili:

  • LOCATION: la regione di Google Cloud in cui è stata creata l'analisi della qualità dei dati.
  • DATASCAN: il nome dell'analisi della qualità dei dati per visualizzare tutti i job.

Per gli argomenti facoltativi, consulta la documentazione di riferimento sull'interfaccia a riga di comando gcloud.

REST

Utilizza l'Explorer API per visualizzare tutti i job di scansione.

Condividere i risultati pubblicati

Durante la creazione di un'analisi della qualità dei dati, se hai scelto di pubblicare i risultati della scansione nelle pagine BigQuery e Data Catalog di Google Cloud Console, i risultati della scansione più recenti 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 scansione, procedi nel seguente modo:

  1. Nella console Google Cloud, vai alla pagina Profilo.

    Vai al profilo Dataplex

  2. Fai clic sull'analisi della qualità dei dati di cui vuoi condividere i risultati.

  3. Vai alla scheda Autorizzazioni.

  4. Fai clic su Concedi accesso.

  5. Nel campo Nuove entità, aggiungi l'entità a cui vuoi concedere l'accesso.

  6. Nel campo Seleziona un ruolo, seleziona Dataplex DataScan DataViewer.

  7. Fai clic su Salva.

Per rimuovere l'accesso ai risultati della scansione pubblicati per un'entità, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Profilo.

    Vai al profilo Dataplex

  2. Fai clic sull'analisi della qualità dei dati di cui vuoi condividere i risultati.

  3. Vai alla scheda Autorizzazioni.

  4. Seleziona l'entità per la quale vuoi rimuovere il ruolo Dataplex DataScan DataViewer.

  5. Fai clic su Rimuovi accesso.

  6. Fai clic su Conferma.

Aggiornare un'analisi della qualità dei dati

Console

  1. Nella console Google Cloud, vai alla pagina Qualità dei dati.

    Vai a Qualità dei dati

  2. Nella riga contenente la scansione da modificare, fai clic sui tre puntini verticali > Modifica.

  3. Modifica i valori.

  4. Fai clic su Salva.

gcloud

Per aggiornare la descrizione di un'analisi della qualità dei dati, esegui il comando seguente:

gcloud dataplex datascans update data-quality DATASCAN \
--location=LOCATION \
--description=DESCRIPTION

Sostituisci quanto segue:

  • DATASCAN: il nome dell'analisi della qualità dei dati da aggiornare.
  • LOCATION: la regione di Google Cloud in cui è stata creata l'analisi della qualità dei dati.
  • DESCRIPTION: la nuova descrizione della scansione della qualità dei dati.

Per gli argomenti facoltativi, consulta la documentazione di riferimento sull'interfaccia a riga di comando gcloud.

REST

Utilizza l'Explorer API per modificare l'analisi della qualità dei dati.

Eliminare un'analisi della qualità dei dati

Console

  1. Nella console Google Cloud, vai alla pagina Qualità dei dati.

    Vai a Qualità dei dati

  2. Fai clic sulla scansione che vuoi eliminare.

  3. Fai clic su Elimina.

gcloud

Per eliminare un'analisi della qualità dei dati, esegui il comando seguente:

gcloud dataplex datascans delete \
DATASCAN --location=LOCATION \
--async

Sostituisci le seguenti variabili:

  • LOCATION: la regione di Google Cloud in cui è stata creata l'analisi della qualità dei dati.
  • DATASCAN: il nome dell'analisi della qualità dei dati da eliminare.

Per gli argomenti facoltativi, consulta la documentazione di riferimento sull'interfaccia a riga di comando gcloud.

REST

Utilizza lo strumento Explorer API per eliminare l'analisi della qualità dei dati.

Imposta avvisi in Cloud Logging

Per impostare avvisi per i problemi di qualità dei dati utilizzando i log in Cloud Logging, segui questi passaggi:

Console

  1. Nella console Google Cloud, vai a Cloud Logging > Esplora log.

    Vai a Esplora log

  2. Nella finestra Query, inserisci la query. Visualizza query di esempio.

  3. Fai clic su Esegui query.

  4. Fai clic su Crea avviso. Si apre un riquadro laterale.

  5. Inserisci il nome del criterio di avviso e fai clic su Avanti.

  6. Esamina la query.

    1. Fai clic sul pulsante Anteprima log per testare la query. Mostra i log con condizioni corrispondenti.

    2. Tocca Next (Avanti).

  7. Imposta l'intervallo di tempo tra le notifiche e fai clic su Avanti.

  8. Definisci le persone a cui inviare la notifica relativa all'avviso e fai clic su Salva per creare il criterio di avviso.

In alternativa, puoi configurare e modificare gli avvisi accedendo nella console Google Cloud a Monitoring > Avvisi.

gcloud

Non supportati.

REST

Utilizza Explorer API per impostare avvisi in Cloud Logging.

Query di esempio per impostare avvisi a livello di prestazione o di dimensione

  • Una query di esempio per impostare avvisi sugli errori relativi alla 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 relativi alla qualità dei dati per una dimensione (ad esempio, l'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 relativi alla qualità dei dati per una tabella.

    • Imposta avvisi sugli errori relativi alla qualità dei dati per una tabella BigQuery 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 relativi alla qualità dei dati per una tabella BigQuery organizzata in un Dataplex lake:

      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 avvisi relativi alle regole

  • Una query di esempio per impostare avvisi su tutte le regole sulla qualità dei dati in errore 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 sulla qualità dei dati in errore 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 sulla qualità dei dati in errore per una colonna della tabella utilizzata per un'analisi della qualità dei dati:

    resource.type="dataplex.googleapis.com/DataScan"
    AND jsonPayload.column="CInteger"
    AND jsonPayload.result="FAILED"
    

Risolvere i problemi relativi alla qualità dei dati

Per ogni job con regole a livello di riga che non hanno esito positivo, Dataplex fornisce una query per ottenere i record non riusciti. Esegui questa query per vedere i record che non corrispondono alla tua regola.

Console

  1. Nella console Google Cloud, vai alla pagina Qualità dei dati.

    Vai a Qualità dei dati

  2. Seleziona l'analisi da risolvere facendo clic sul rispettivo Nome visualizzato.

  3. Nella scheda Cronologia dei job, trova l'esecuzione della scansione non riuscita e fai clic sul link di errore.

  4. Nella finestra del job che si apre, nella sezione Regole, individua la colonna Query per ottenere i record non riusciti.

  5. Copia la query per eseguirla in BigQuery e visualizza i record che hanno causato l'errore del job.

gcloud

Non supportati.

REST

Utilizza l'Explorer API per visualizzare la query in modo da recuperare i record non riusciti per i job non riusciti.

Definisci le regole sulla qualità dei dati

Puoi definire la qualità dei dati tramite la console o l'API utilizzando regole integrate o controlli SQL personalizzati. Se utilizzi gcloud CLI, puoi definire queste regole in un file YAML.

Supponiamo che utilizzi una tabella con lo schema seguente:

Nome colonna Tipo di colonna Descrizione colonna
timestamp_transazione Timestamp Timestamp della transazione. La tabella è partizionata in questo campo.
ID_cliente Stringa Un ID cliente nel formato di 8 lettere seguite da 16 cifre.
id transazione Stringa L'ID transazione deve essere univoco nella tabella.
valuta_id Stringa Una delle valute supportate.Il tipo di valuta deve corrispondere a una delle valute disponibili nella tabella delle dimensioni dim_currency.
importo numero in virgola mobile Importo transazione.
sconto_pct numero in virgola mobile Percentuale di sconto. Questo valore deve essere compreso tra 0 e 100.

Definire le regole sulla qualità dei dati utilizzando i tipi di regole integrate

Le seguenti regole di esempio si basano sui tipi di regole integrate. Puoi creare regole basate su tipi di regole integrate utilizzando la console Google Cloud o l'API. Dataplex potrebbe consigliare alcune di queste regole. Consulta l'elenco delle regole integrate.

Nome colonna Tipo di regola Dimensione suggerimento Parametri regola
transaction_id Controllo unicità Unicità Soglia: Not Applicable
amount Controllo nullo Completezza Soglia: 100%
customer_id Controllo regex Validità Espressione regolare: ^[0-9]{8}[a-zA-Z]{16}$
Soglia: 100%
currency_id Controllo del set di valori Validità Insieme di: USD,JPY,INR,GBP,CAN
Soglia: 100%

Definisci le regole sulla qualità dei dati utilizzando le regole SQL personalizzate

Per creare regole SQL personalizzate, utilizza il seguente framework:

  • Quando crei una regola che valuta una riga alla volta, un'espressione che genera il numero di righe riuscite quando Dataplex valuta la query SELECT COUNTIF(custom-sql-expr) FROM TABLE. Dataplex controlla il numero di righe riuscite rispetto alla soglia.

  • Quando crei una regola che valuta un valore tra le righe o il controllo SQL aggregato, crea un'espressione che restituisce un esito positivo o negativo quando Dataplex valuta la query SELECT IF(custom-sql-expr) FROM TABLE.

Tipo di regola Descrizione regola Espressione SQL
Condizione riga Verifica se il valore di discount_pct è compreso tra 0 e 100. 0 <discount_pct E discount_pct < 100
Condizione 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 aggregata Controlla se il valore medio di discount_pct è compreso tra 30% e 50%. 30<avg(discount) AND avg(discount) <50
Condizione riga La regola semplice che controlla una data non è futura TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
Condizione aggregata Una funzionalità definita dall'utente di BigQuery per verificare che l'importo medio della transazione sia inferiore a un valore predefinito per paese. Crea l'UDF (JavaScript) eseguendo il comando seguente:

        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 della transazione per country=CAN.

        myProject.myDataset.average_by_country(
        "CAN",
        (select avg(amount) from
          myProject.myDataset.transactions_table
            where currency_id = 'CAN'
        ))
      
Condizione aggregata Una clausola di previsione di BigQuery ML per identificare le anomalie in discount_pct. Verifica 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. Presupposto: 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';
  
Il seguente controllo verifica 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 riga Una funzione di previsione di 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. Presupposto: 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';
  
Il controllo seguente identifica se la previsione di sconto corrisponde all'effettivo 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
              )
            )
         )
    

Definisci la qualità dei dati utilizzando gcloud

Il seguente file YAML utilizza le stesse regole delle regole di esempio che utilizzano i tipi integrati e delle regole SQL personalizzate di esempio. Puoi utilizzare questo file YAML come input per il comando gcloud.

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
- 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

Per creare un'analisi della qualità dei dati utilizzando questo file YAML di esempio, esegui il comando seguente:

gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-entity=DATA_SOURCE_ENTITY
| --data-source-resource=DATA_SOURCE_RESOURCE

Sostituisci le seguenti variabili:

  • DATASCAN: il nome dell'analisi della qualità dei dati.
  • LOCATION: la regione di Google Cloud in cui è stata creata l'analisi della qualità dei dati.
  • data-quality-spec-file: il percorso del file JSON o YAML contenente le specifiche per l'analisi della qualità dei dati. Il file può essere un file locale o un percorso Cloud Storage con il prefisso gs://. Puoi aggiungere campi specifici al file, ad esempio rules, rowFilter e samplingPercent. Per la rappresentazione JSON, consulta la documentazione.
  • data-source-entity: l'entità Dataplex contenente i dati per l'analisi della qualità dei dati.
  • data-source-resource: il nome della risorsa cloud che contiene i dati per l'analisi della qualità dei dati.

Che cosa succede dopo?