Usa la qualità dei dati automatica

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

Per scoprire di più sulle analisi della qualità dei dati, vedi Informazioni sulla qualità automatica dei dati.

Prima di iniziare

  1. Abilitare l'API Dataplex.

    Abilitare l'API

  2. (Facoltativo) Se vuoi che Dataplex generi suggerimenti per le regole sulla qualità dei dati in base ai risultati di un'analisi della profilazione dei dati, crea ed esegui l'analisi della profilazione dei dati.

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 eseguire la scansione della tabella.

  • Se la tabella BigQuery e l'analisi della qualità dei dati sono in progetti diversi, devi fornire l'account di servizio Dataplex del progetto contenente l'autorizzazione di lettura dell'analisi della qualità 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 disporre delle autorizzazioni di lettura per le 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 analizzando una tabella BigQuery esterna da Cloud Storage, concedi all'account di servizio Dataplex il ruolo Cloud Storage roles/storage.objectViewer 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 di 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 hai bisogno di accedere alle colonne protette dai criteri di accesso a livello di colonna di BigQuery, assegna le autorizzazioni dell'account di servizio Dataplex 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 criteri di accesso a livello di riga BigQuery, puoi analizzare solo le righe visibili all'account di servizio Dataplex. Tieni presente che i privilegi di accesso del singolo utente non vengono valutati per i criteri a livello di riga.

Autorizzazioni e ruoli della scansione dei dati

Per utilizzare la qualità automatica dei dati, devi disporre delle autorizzazioni per eseguire le analisi dei dati o di un ruolo con autorizzazioni predefinite per eseguire le analisi dei 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 i metadati operativi come ID o pianificazione, ma non risultati e regole
dataplex.datascans.getData Visualizza i dettagli di DataScan, inclusi regole e risultati
dataplex.datascans.list Elenco DataScan
dataplex.datascans.run Esegui un DataScan
dataplex.datascans.update Aggiorna la descrizione di un DataScan
dataplex.datascans.getIamPolicy Visualizza le autorizzazioni IAM attuali nella scansione
dataplex.datascans.setIamPolicy Imposta autorizzazioni IAM nell'analisi

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, esclusi regole e risultati.
  • roles/dataplex.dataScanDataViewer: accesso in lettura a DataScan risorse, inclusi regole e risultati.

Definisci le regole sulla qualità dei dati

Puoi definire regole di qualità dei dati utilizzando regole integrate o controlli SQL personalizzati. Se utilizzi 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 sulla qualità dei dati. Le regole convalidano una tabella di esempio contenente dati sulle transazioni dei clienti. Supponi che la tabella abbia il seguente schema:

Nome colonna Tipo di colonna Descrizione della colonna
transaction_timestamp Timestamp Timestamp della transazione. La tabella è partizionata in base a questo campo.
customer_id String Un ID cliente nel formato di 8 lettere seguite da 16 cifre.
transaction_id String L'ID transazione deve essere univoco nella tabella.
currency_id String 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 regole sulla qualità dei dati utilizzando tipi di regole integrate

Le regole di esempio seguenti 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.

Nome colonna Tipo di regola Dimensione suggerita Parametri regola
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à Insieme di: USD,JPY,INR,GBP,CAN
Soglia: 100%

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

Per creare regole SQL personalizzate, utilizza il framework seguente:

  • Quando crei una regola che valuta una riga alla volta, crea un'espressione che generi 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 tra le righe o utilizza una condizione di 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 restituisca 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 di origine dati e a tutti i suoi filtri di precondizione utilizzando il parametro di riferimento dei dati ${data()} in una regola, anziché menzionare esplicitamente la tabella di origine e i relativi filtri. Alcuni esempi di filtri di condizione preliminare includono filtri di riga, percentuali di campionamento e filtri incrementali. Il parametro ${data()} è sensibile alle maiuscole.

Le regole di esempio seguenti si basano su regole SQL personalizzate.

Tipo di regola Descrizione regola Espressione SQL
Condizione riga Controlla se il valore di discount_pct è compreso tra 0 e 100. 0 <discount_pct E discount_pct < 100
Condizione riga Controllo dei riferimenti per confermare che currency_id sia una delle valute supportate. currency_id in (select id from my_project_id.dim_dataset.dim_currency)
Condizione tabella Espressione SQL aggregata che verifica se la media di discount_pct è compresa tra il 30% e il 50%. 30<avg(discount) AND avg(discount) <50
Condizione riga Controlla se una data non è nel futuro. TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
Condizione tabella Una funzione definita dall'utente (UDF) di BigQuery per verificare che l'importo medio della transazione sia inferiore a un valore predefinito per paese. Crea la funzione definita dall'utente (JavaScript) eseguendo questo 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 tabella Una clausola di previsione di BigQuery ML per identificare 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. 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';
  
La seguente regola verifica se la precisione 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';
  
La seguente regola controlla 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 il valore discount_pct è superiore al 30% per oggi controllando se esistono righe con una percentuale di sconto inferiore o uguale a 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 dei dati)

Controlla oggi se il valore discount_pct è superiore al 30% per tutte le valute supportate.

Il filtro della data transaction_timestamp >= current_date() viene applicato come filtro di riga nella tabella dell'origine dati.

Il parametro di riferimento dei dati ${data()} funge da segnaposto per my_project_id.dim_dataset.dim_currency WHERE transaction_timestamp >= current_date() e applica il filtro di riga.

SELECT * FROM ${data()} WHERE discount_pct > 30

Definisci 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 tipi integrati 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

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 analisi della qualità dei dati.

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

    1. Inserisci un Nome visualizzato.

    2. L'ID scansione viene generato automaticamente se non fornisci un ID personale. 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 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 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 possa essere utilizzata per identificare nuovi record. Può essere una colonna che esegue il partizionamento della tabella.
    6. (Facoltativo) Aggiungi etichette. Le etichette sono coppie di key:value che consentono di raggruppare oggetti correlati tra loro 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 di 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 tre cifre decimali. Per set di dati più ampi, scegli una percentuale di campionamento più bassa. Ad esempio, per una tabella di ~1 PB, se inserisci un valore compreso tra 0,1% e 1,0%, Dataplex campiona un valore compreso tra 1 e 10 TB di dati. Per le analisi incrementali dei dati, Dataplex applica il campionamento all'incremento più recente.

    9. Per pubblicare i risultati dell'analisi della qualità dei dati nelle pagine di 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 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 Condividere i risultati pubblicati. L'opzione di pubblicazione potrebbe non essere disponibile nei seguenti casi:

      • Non disponi delle autorizzazioni necessarie per questa tabella.
      • È impostata un'altra analisi della qualità dei dati per pubblicare i risultati.

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

    10. Fai clic su Continua.

  4. Nella finestra Programma, 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 il momento della scansione. Se scegli personalizzato, utilizza il formato cron per specificare la pianificazione.

    • On demand: esegui il job di analisi 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. Fai clic su Aggiungi regole, poi scegli una delle seguenti opzioni.

    • Suggerimenti basati sul profilo: crea regole dai suggerimenti in base a un'analisi di profilazione dei dati esistente.

      1. Scegli colonne: seleziona le colonne per cui visualizzare le regole consigliate.

      2. Progetto di scansione: suggerimenti basati su una scansione 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 progetto diverso, devi specificare il progetto da cui eseguire il pull delle analisi del profilo.

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

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

      5. Scegli 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 potrai modificare le regole.

    • Tipi di regole integrate: crea regole da regole predefinite. Consulta l'elenco delle regole predefinite.

      1. Scegli colonne: seleziona le colonne per cui selezionare le regole.

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

      3. Seleziona uno o più tipi di regole e fai clic su OK. Viene compilato un elenco di regole tra cui scegliere.

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

    • Regola per il controllo delle righe SQL: crea una regola SQL personalizzata da applicare a ogni riga (regola per il controllo delle righe SQL personalizzata).

      1. In Dimensione, scegli una dimensione.

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

      3. In Nome colonna, scegli una colonna.

      4. Nel campo Fornisci un'espressione SQL, inserisci un'espressione SQL che restituisca un valore booleano true (controllo superato) o false (errore superato). Per ulteriori informazioni, consulta Tipi di regole SQL personalizzate supportati e gli esempi nella sezione Definire le regole della qualità dei dati di questo documento.

      5. Fai clic su Aggiungi.

    • Regola per il controllo aggregato SQL: crea una regola personalizzata della condizione della tabella SQL.

      1. In Dimensione, scegli una dimensione.

      2. In Nome colonna, scegli una colonna.

      3. Nel campo Fornisci un'espressione SQL, inserisci un'espressione SQL che restituisca un valore booleano true (controllo superato) o false (errore superato). Per ulteriori informazioni, consulta Tipi di regole SQL personalizzate supportati e gli esempi nella sezione Definire le regole della qualità dei dati di questo documento.

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

      1. In Dimensione, scegli una dimensione.

      2. (Facoltativo) In Nome colonna, scegli una colonna.

      3. Nel campo Fornisci un'istruzione SQL, inserisci un'istruzione SQL che restituisca righe che corrispondono allo stato non valido. Se vengono restituite delle righe, questa regola non riesce. Ometti il punto e virgola finale dall'istruzione SQL. Per ulteriori informazioni, consulta i tipi di regole SQL personalizzate supportati e gli esempi nella sezione Definire le regole sulla qualità dei dati di questo documento.

      4. Fai clic su Aggiungi.

    Dataplex consente di creare nomi personalizzati per le regole sulla qualità dei dati, Per ogni regola di qualità dei dati puoi facoltativamente assegnare un nome e una descrizione personalizzati. Per farlo, modifica una regola e specifica i seguenti dettagli:

    • Nome regola: inserisci un nome per la regola personalizzata contenente fino a 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 standard 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 di esportazione della tabella.

  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, 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 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 della scansione della qualità dei dati.
  • LOCATION: la regione Google Cloud in cui creare 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 prefisso gs://. Utilizza questo file per specificare le regole sulla qualità dei dati per la scansione. Puoi anche specificare ulteriori dettagli in questo file, come filtri, percentuale di campionamento e azioni post-scansione, come l'esportazione in BigQuery o l'invio di notifiche via email. Consulta la documentazione per la 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 suggerimenti sulle regole basati sui risultati di un'analisi della profilazione dei dati, per ricevere i suggerimenti richiama il metodo dataScans.jobs.generateDataQualityRules nell'analisi della profilazione 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 il seguente schema di tabella:

Nome colonna Tipo di dati della colonna Nome campo secondario
(se applicabile)
Tipo di dati del campo secondario Modalità Esempio
data_quality_scan struct/record resource_name string annullabile //dataplex.googleapis.com/projects/test-project/locations/europe-west2/datascans/test-datascan
project_id string annullabile dataplex-back-end-dev-project
location string annullabile us-central1
data_scan_id string annullabile test-datascan
data_source struct/record resource_name string annullabile Richiesta per l'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

Richiesta per la tabella: //bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table
dataplex_entity_project_id string annullabile dataplex-back-end-dev-project
dataplex_entity_project_number integer annullabile 123456789
dataplex_lake_id string annullabile (Valido solo se l'origine è un'entità)
test-lake
dataplex_zone_id string annullabile (Valido solo se l'origine è un'entità)
test-zone
dataplex_entity_id string annullabile (Valido solo se l'origine è un'entità)
test-entity
table_project_id string annullabile test-project
table_project_number integer annullabile 987654321
dataset_id string annullabile (Valido solo se l'origine è una tabella)
test-dataset
table_id string annullabile (Valido solo se l'origine è una tabella)
test-table
data_quality_job_id string annullabile caeba234-cfde-4fca-9e5b-fe02a9812e38
data_quality_job_configuration json trigger string annullabile ondemand/schedule
incremental boolean annullabile true/false
sampling_percent float annullabile (0-100)
20.0 (indica 20%)
row_filter string annullabile col1 >= 0 AND col2 < 10
job_labels json annullabile {"key1":value1}
job_start_time timestamp annullabile 2023-01-01 00:00:00 UTC
job_end_time timestamp annullabile 2023-01-01 00:00:00 UTC
job_rows_scanned integer annullabile 7500
rule_name string annullabile test-rule
rule_type string annullabile Range Check
rule_evaluation_type string annullabile Per row
rule_column string annullabile Rule only attached to a certain column
rule_dimension string annullabile UNIQUENESS
job_quality_result struct/record passed boolean annullabile true/false
score float annullabile 90.8
job_dimension_result json annullabile {"ACCURACY":{"passed":true,"score":100},"CONSISTENCY":{"passed":false,"score":60}}
rule_threshold_percent float annullabile (0,0-100,0)
Rule-threshold-pct in API * 100
rule_parameters json annullabile {min: 24, max:5345}
rule_pass boolean annullabile True
rule_rows_evaluated integer annullabile 7400
rule_rows_passed integer annullabile 3
rule_rows_null integer annullabile 4
rule_failed_records_query string annullabile "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}.
  • Utilizzare una tabella BigQuery standard.
  • Se la tabella non esiste quando viene creata o aggiornata la scansione, Dataplex crea la tabella per te.
  • Per impostazione predefinita, la tabella è partizionata ogni giorno nella colonna job_start_time.
  • Se vuoi che la tabella sia partizionata in altre configurazioni o se non vuoi la partizione, ricrea la tabella con lo schema e le configurazioni richiesti, quindi fornisci la tabella creata in precedenza come tabella dei risultati.
  • Assicurati che la tabella dei risultati si trovi nella stessa posizione della tabella di origine.
  • Se VPC-SC è configurato nel 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 attuale viene esportato nella tabella dei risultati precedente e la modifica della tabella ha effetto 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 caso d'uso. Per ulteriori informazioni, vedi 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

  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, 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 l'analisi della qualità dei dati.
  • DATASCAN: il nome della scansione 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

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

    Vai a Qualità dei dati

  2. Per visualizzare i risultati dettagliati di una scansione, fai clic sul nome della scansione.

    • La sezione Panoramica mostra informazioni sugli ultimi sette job, incluso quando è stata eseguita la scansione, il numero di record analizzati in ciascun job, se tutti i controlli di qualità dei dati sono stati superati, se si sono verificati errori, il numero di controlli della qualità dei dati non riusciti e le dimensioni non riuscite.

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

  3. Per visualizzare i punteggi di qualità dei dati che indicano la percentuale di regole superate, fai clic sulla scheda Cronologia dei 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 del job di analisi della qualità dei dati.
  • LOCATION: la regione Google Cloud in cui è stata creata la scansione della qualità dei dati.
  • DATASCAN: il nome della scansione della qualità dei dati a cui appartiene il job.
  • --view=FULL: per visualizzare il risultato del job di scansione, specifica FULL.

REST

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

Visualizza i risultati storici della scansione

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

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

    Vai a Qualità dei dati

  2. Fai clic sul nome di una scansione.

  3. Fai clic sulla scheda Cronologia dei job.

    La scheda Cronologia dei lavori fornisce informazioni sui lavori precedenti. Elenca tutti i job, il numero di record analizzati in ogni job, lo stato del job, l'ora in cui il job è stato eseguito, se ogni regola è stata superata o meno e altro ancora.

  4. 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 cui visualizzare tutti i job.

REST

Utilizza Explorer API per visualizzare tutti i job di scansione.

Condividi i risultati pubblicati

Durante la creazione di un'analisi della qualità dei dati, se scegli 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 di queste pagine.

Puoi consentire agli utenti della tua organizzazione di accedere ai risultati della scansione pubblicati. Per concedere l'accesso ai risultati della scansione:

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

    Vai a Qualità dei dati

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

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

    Vai a Qualità dei dati

  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 DataViewer DataScan di Dataplex.

  5. Fai clic su Rimuovi accesso.

  6. Fai clic su Conferma.

Imposta avvisi in Cloud Logging

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

Console

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

    Vai a Esplora log

  2. Inserisci la query nella finestra Query. Vedi le 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. Rivedi la query.

    1. Fai clic sul pulsante Anteprima log per testare la query. Vengono mostrati i log con condizioni di corrispondenza.

    2. Fai clic su Avanti.

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

  8. 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 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 l'impostazione di avvisi a livello di job o dimensione

  • Una query di esempio per impostare avvisi sugli errori complessivi di qualità dei dati per una scansione 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 in caso di errori di qualità dei dati per una dimensione (ad esempio, univocità) 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 in caso di errori di qualità dei dati per una tabella.

    • Imposta avvisi sugli errori di 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 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 avvisi per regola

  • Una query di esempio per impostare avvisi per tutte le regole sulla qualità dei dati in errore con il nome della regola personalizzata specificato 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 per tutte le regole sulla qualità dei dati in stato di 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 per tutte le regole sulla qualità dei dati con errori 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 un errore relativo alla qualità dei dati

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

Console

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

    Vai a Qualità dei dati

  2. Fai clic sul nome della scansione di cui vuoi risolvere i problemi.

  3. Fai clic sulla scheda Cronologia dei job.

  4. Fai clic sull'ID del job che ha identificato errori di qualità dei dati.

  5. Nella finestra dei risultati del job che si apre, nella sezione Regole, individua la colonna Query per ottenere i record non riusciti. Fai clic su Copia query negli appunti per la regola non riuscita.

  6. 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 non riusciti.

Aggiorna 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, 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 aggiornare.
  • LOCATION: la regione Google Cloud in cui è stata creata la scansione della qualità dei dati.
  • DESCRIPTION: la nuova descrizione per l'analisi della qualità dei dati.

REST

Utilizza 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 da eliminare.

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

Che cosa succede dopo?