Utilizzare la qualità dei dati automatica

Questa pagina descrive come creare una scansione della qualità dei dati di Dataplex Universal Catalog.

Per scoprire di più sulle scansioni della qualità dei dati, consulta la sezione Informazioni sulla qualità dei dati automatica.

Prima di iniziare

  1. Abilita l'API Dataplex.

    Abilitare l'API

  2. (Facoltativo) Se vuoi che Dataplex Universal Catalog generi suggerimenti per le regole di qualità dei dati in base ai risultati di una scansione del profilo dati, crea ed esegui la scansione del profilo 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 scansionare la tabella.

  • Se la tabella BigQuery e la scansione della qualità dei dati si trovano in progetti diversi, devi concedere all'account di servizio Dataplex Universal Catalog 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, il 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 al account di servizio Dataplex Universal Catalog il ruolo IAM Editor dati BigQuery (roles/bigquery.dataEditor) nel set di dati e nella tabella dei risultati. In questo modo 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 Universal Catalog, concedi all'account di servizio Dataplex Universal Catalog i ruoli IAM Lettore metadati Dataplex (roles/dataplex.metadataReader) e Visualizzatore Dataplex (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 esegui la scansione di una tabella esterna BigQuery da Cloud Storage, concedi all'account di servizio Dataplex Universal Catalog il ruolo Cloud Storage roles/storage.objectViewer per il bucket. In alternativa, assegna all'account di servizio Dataplex Universal Catalog le seguenti autorizzazioni:

    • storage.buckets.get
    • storage.objects.get
  • Se vuoi pubblicare i risultati della scansione della qualità dei dati come metadati di Dataplex Universal Catalog, devi disporre del ruolo IAM Editor dati BigQuery (roles/bigquery.dataEditor) per la tabella e dell'autorizzazione dataplex.entryGroups.useDataQualityScorecardAspect per il gruppo di voci @bigquery nella stessa località della tabella. In alternativa, devi disporre del ruolo Editor Dataplex Catalog (roles/dataplex.catalogEditor) per il gruppo di voci @bigquery nella stessa posizione della tabella.

    In alternativa, devi disporre di tutte le seguenti autorizzazioni:

    • bigquery.tables.get
    • bigquery.tables.update
    • bigquery.tables.updateData
    • bigquery.tables.delete
    • dataplex.entryGroups.useDataQualityScorecardAspect

    In alternativa, devi disporre di tutte le seguenti autorizzazioni:

    • dataplex.entries.update
    • dataplex.entryGroups.useDataQualityScorecardAspect
  • Se devi accedere a colonne protette da criteri di accesso a livello di colonna BigQuery, assegna all'account di servizio Dataplex Universal Catalog le autorizzazioni per queste colonne. L'utente che crea o aggiorna una scansione dei dati deve disporre anche delle autorizzazioni per le colonne.

  • Se una tabella ha abilitato le policy di accesso a livello di riga di BigQuery, puoi scansionare solo le righe visibili all'account di servizio del Catalogo universale Dataplex. Tieni presente che i privilegi di accesso del singolo utente non vengono valutati per le norme a livello di riga.

Ruoli di scansione dei dati obbligatori

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

La tabella seguente elenca le autorizzazioni DataScan:

Nome dell'autorizzazione Concede l'autorizzazione a svolgere le seguenti operazioni:
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 Elenco 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: Amministratore Dataplex DataScan (roles/dataplex.dataScanAdmin)
  • Accesso in scrittura alle risorse DataScan: editor Dataplex DataScan (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)

Definisci le regole sulla qualità dei dati

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

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 di 8 lettere seguite da 16 cifre.
transaction_id Stringa L'ID transazione deve essere univoco in tutta la 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.

Definisci regole sulla qualità dei dati utilizzando i tipi di regole integrati

Le seguenti regole di esempio si basano sui tipi di regole integrati. Puoi creare regole basate su tipi di regole integrate utilizzando la console Google Cloud o l'API. Il Catalogo universale 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 valore-set Validità Set di: USD,JPY,INR,GBP,CAN
Soglia: 100%

Definisci 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 Universal Catalog valuta la query SELECT COUNTIF(CUSTOM_SQL_EXPRESSION) FROM TABLE. Dataplex Universal Catalog controlla il numero di righe riuscite rispetto alla soglia.

  • Quando crei una regola che valuta le righe o utilizza una condizione di tabella, crea un'espressione che restituisce un esito positivo o negativo quando Dataplex Universal Catalog 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 precondizione utilizzando il parametro di riferimento ai dati ${data()} in una regola, anziché menzionare esplicitamente la tabella di origine e i relativi filtri. Esempi di filtri di precondizione includono filtri delle righe, percentuali di campionamento e 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 a livello di riga Controlla se il valore di discount_pct è compreso tra 0 e 100. 0 <discount_pct AND discount_pct < 100
Condizione a livello di riga Controlla il 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 verifica se la media di discount_pct è compresa tra il 30% e il 50%. 30<avg(discount) AND avg(discount) <50
Condizione a livello 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 della transazione sia inferiore a un valore predefinito per paese. Crea la UDF (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 della transazione 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 BigQuery ML PREDICT 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. 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 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 a livello 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. 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 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 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 ai dati)

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

Il filtro per data transaction_timestamp >= current_date() viene applicato come filtro per riga alla tabella dell'origine dati.

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

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 degli esempi di regole che utilizzano tipi integrati e degli esempi di regole SQL personalizzate. 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 scansione, compila i seguenti campi:

    1. Inserisci un nome visualizzato.

    2. L'ID scansione viene generato automaticamente se non fornisci un ID personalizzato. 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. Il catalogo universale Dataplex supporta solo le tabelle BigQuery standard.

      Per le tabelle nei set di dati multiregionali, scegli una regione in cui creare la scansione dei dati.

      Per sfogliare le tabelle organizzate all'interno del lake Dataplex Universal Catalog, fai clic su Sfoglia all'interno dei datalake Dataplex.

    5. Nel campo Ambito, scegli Incrementale o Tutti i dati.

      • Se scegli Incrementale: nel campo Colonna timestamp, seleziona una colonna di tipo DATE o TIMESTAMP dalla tabella BigQuery che aumenti in modo monotonico e possa essere utilizzata per identificare nuovi record. Può essere una colonna che partiziona la tabella.
    6. (Facoltativo) Aggiungi etichette. Le etichette sono coppie key:value che consentono di raggruppare oggetti correlati fra 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 delle righe deve essere un'espressione SQL valida che può essere utilizzata come parte di una clausola WHERE nella sintassi GoogleSQL. 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, nell'elenco Dimensioni del campionamento, seleziona una percentuale 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ù grandi, scegli una percentuale di campionamento inferiore. Ad esempio, per una tabella di circa 1 PB, se inserisci un valore compreso tra 0,1% e 1,0%, Dataplex Universal Catalog campiona tra 1 e 10 TB di dati. Per le scansioni incrementali dei dati, Dataplex Universal Catalog applica il campionamento all'incremento più recente.

    9. Per pubblicare i risultati della scansione della qualità dei dati come metadati di Dataplex Universal Catalog, seleziona la casella di controllo Pubblica i risultati in BigQuery e Dataplex Catalog.

      Puoi visualizzare i risultati dell'ultima scansione nella scheda Qualità dei dati nelle pagine di BigQuery e Dataplex Universal Catalog per la tabella di origine. Per consentire agli utenti di accedere ai risultati dell'analisi pubblicati, consulta Condividere i risultati pubblicati.

    10. Fai clic su Continua.

  4. Nella finestra Pianificazione, scegli una delle seguenti opzioni:

    • Ripeti: esegui il job di scansione della qualità dei dati in base a una pianificazione: giornaliera, settimanale, mensile o personalizzata. Specifica la frequenza di esecuzione della scansione e l'ora. 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 a partire dai suggerimenti basati su una scansione di profilazione dei dati esistente.

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

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

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

      4. Seleziona uno o più risultati del profilo e poi fai clic su Ok. In questo modo viene compilato un elenco di regole tra cui scegliere.

      5. Seleziona le regole da modificare selezionando le caselle e facendo clic su Seleziona. Una volta selezionate, le regole vengono aggiunte all'elenco delle regole corrente. Dopodiché, puoi modificare le regole.

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

      1. Scegli colonne: seleziona le colonne per cui scegliere 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 poi fai clic su Ok. Viene compilato un elenco di regole tra cui scegliere.

      4. Seleziona le regole da modificare selezionando le caselle e facendo clic su Seleziona. Una volta selezionate, le regole vengono aggiunte all'elenco delle 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 personalizzata per il controllo delle righe SQL).

      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. Nel campo Fornisci un'espressione SQL, inserisci un'espressione SQL che restituisce un valore booleano true (superato) o false (non superato). Per maggiori informazioni, vedi Tipi di regole SQL personalizzate supportati e gli esempi nella sezione Definisci regole di qualità dei dati di questo documento.

      5. Fai clic su Aggiungi.

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

      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 restituisce un valore booleano true (superato) o false (non superato). Per maggiori informazioni, vedi Tipi di regole SQL personalizzate supportati e gli esempi nella sezione Definisci regole di qualità dei dati di questo documento.

      4. Fai clic su Aggiungi.

    • Regola di asserzione SQL: crea una regola di asserzione SQL personalizzata per verificare 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 restituisce le 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 maggiori informazioni, vedi Tipi di regole SQL personalizzate supportati e gli esempi nella sezione Definisci regole di qualità dei dati di questo documento.

      4. Fai clic su Aggiungi.

    Il Catalogo universale Dataplex consente nomi personalizzati per le regole di qualità dei dati per il monitoraggio e gli avvisi. Per qualsiasi regola di qualità dei dati, puoi assegnare facoltativamente un nome e una descrizione personalizzati. Per farlo, modifica una regola e specifica i seguenti dettagli:

    • Nome regola: inserisci un nome regola personalizzato 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.

  6. (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 Universal Catalog la crea per te. Se utilizzi una tabella esistente, assicurati che sia compatibile con lo schema della tabella di esportazione.

  7. (Facoltativo) Configura i report di notifica via email per avvisare le persone dello stato e dei risultati di un job di scansione della qualità dei dati. Nella sezione Report 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 viene eseguito correttamente con un punteggio di qualità dei dati inferiore al punteggio target specificato. Inserisci un punteggio di qualità target compreso tra 0 e 100.
    • Errori del job: invia 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.
  8. 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 Universal Catalog, 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 Universal Catalog, 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 Google Cloud regione in cui creare l'analisi 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 prefisso gs://. Utilizza questo file per specificare le regole di qualità dei dati per l'analisi. 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 report di notifica via email. Consulta la documentazione relativa alla rappresentazione JSON.
  • DATA_SOURCE_ENTITY: l'entità Dataplex Universal Catalog che contiene i dati per la scansione 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 una scansione della qualità dei dati.

Se vuoi creare regole per l'analisi della qualità dei dati utilizzando i suggerimenti sulle regole basati sui risultati di una scansione della profilazione dei dati, recupera i suggerimenti chiamando il metodo dataScans.jobs.generateDataQualityRules nella scansione della 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 della 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 Caso di 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

Caso di 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 è 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));"
rule_assertion_row_count integer nullable 10

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 quando viene creata o aggiornata la scansione, Dataplex Universal Catalog la crea automaticamente.
  • Per impostazione predefinita, la tabella viene partizionata in base alla colonna job_start_time ogni giorno.
  • 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 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 i controlli di servizio VPC sono configurati nel progetto, la tabella dei risultati deve trovarsi nello stesso perimetro dei controlli di servizio VPC 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 alla tabella ha effetto a partire dal job di scansione successivo.
  • Non modificare lo schema della tabella. Se hai bisogno di colonne personalizzate, crea una vista della tabella.
  • Per ridurre i costi, imposta una scadenza per la partizione in base al tuo caso d'uso. Per saperne di più, scopri come impostare la scadenza della partizione.

Esegui una scansione 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 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 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

  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, tra cui la data di esecuzione della scansione, il numero di record scansionati in ogni job, 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 riusciti e le dimensioni non riuscite.

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

  3. 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 scansione 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 job 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 dell'analisi 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 una scansione della qualità dei dati.

Visualizzare i risultati storici delle scansioni

Dataplex Universal Catalog salva la cronologia delle analisi della qualità dei dati degli ultimi 300 job o dell'ultimo anno, a seconda di quale 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 job fornisce informazioni sui job passati. Elenca tutti i job, il numero di record scansionati 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.

  4. Per visualizzare informazioni dettagliate su un job, fai clic su uno qualsiasi dei job nella colonna ID job.

gcloud

Per visualizzare tutti i job di una scansione 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 della scansione della qualità dei dati per visualizzare tutti i job.

REST

Utilizza Explorer API per visualizzare tutti i job di scansione.

Condividere i risultati pubblicati

Quando crei un'analisi della qualità dei dati, se scegli di pubblicare i risultati dell'analisi come metadati di Dataplex Universal Catalog, i risultati più recenti dell'analisi sono disponibili nelle pagine BigQuery e Dataplex Universal Catalog della consoleGoogle Cloud , nella scheda Qualità dei dati della tabella.

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 sulla scansione 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 Qualità dei dati.

    Vai a Qualità dei dati

  2. Fai clic sulla scansione della qualità dei dati di cui vuoi condividere i risultati.

  3. Vai alla scheda Autorizzazioni.

  4. Seleziona l'entità per cui vuoi rimuovere il ruolo Visualizzatore dati DataScan Dataplex.

  5. Fai clic su Rimuovi accesso.

  6. Fai clic su Conferma.

Impostare 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 Cloud Logging Esplora log.

    Vai a Esplora log

  2. Nella finestra Query, inserisci la query. Vedi le query di esempio.

  3. Fai clic su Esegui query.

  4. Fai clic su Crea avviso. Si aprirà 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 le condizioni corrispondenti.

    2. Fai clic su Avanti.

  7. Imposta l'orario tra le notifiche e fai clic su Avanti.

  8. Definisci chi deve ricevere le notifiche per l'avviso e fai clic su Salva per creare il criterio di avviso.

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

gcloud

Non supportati.

REST

Utilizza Explorer API per impostare avvisi in Cloud Logging.

Query di esempio per impostare 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 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 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 Universal Catalog:

      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 Universal Catalog:

      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 per impostare avvisi per regola

  • Una query di esempio per impostare avvisi su tutte le regole di qualità dei dati non riuscite 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 su tutte le regole di qualità dei dati non riuscite 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 riuscite 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 i problemi relativi a un errore di qualità dei dati

Per ogni job con regole a livello di riga non riuscite, Dataplex Universal Catalog fornisce una query per ottenere i record non riusciti. Esegui questa query per visualizzare 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. Fai clic sul nome della scansione di cui vuoi risolvere i problemi relativi ai record.

  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 recuperare i record non riusciti per i job non riusciti.

Aggiorna un'analisi della qualità dei dati

Puoi modificare varie impostazioni per un'analisi della qualità dei dati esistente, ad esempio il nome visualizzato, i filtri e la pianificazione.

Console

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

    Vai a Qualità dei dati

  2. Nella riga con 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 una scansione 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 della scansione 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 della scansione 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 che vuoi eliminare.

  3. Fai clic su Elimina.

gcloud

Per eliminare una scansione 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 della scansione 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 la scansione della qualità dei dati.

Passaggi successivi