Dati rilevati

Questa guida spiega come abilitare e utilizzare Knowledge Catalog (in precedenza Dataplex Universal Catalog) Discovery. Discovery esegue la scansione ed estrae i metadati dai dati in un data lake e li registra in Dataproc Metastore, BigQuery e Data Catalog (deprecato) per analisi, ricerca ed esplorazione.

Panoramica

Per ogni asset Knowledge Catalog con Discovery abilitato, Knowledge Catalog esegue le seguenti operazioni:

  • Esegue la scansione dei dati associati all'asset.
  • Raggruppa i file strutturati e semistrutturati in tabelle.
  • Raccoglie i metadati tecnici, come il nome della tabella, lo schema e la definizione della partizione.

Per i dati non strutturati, come immagini e video, Knowledge Catalog Discovery rileva e registra automaticamente i gruppi di file che condividono il tipo di media come set di file. Ad esempio, se gs://images/group1 contiene immagini GIF e gs://images/group2 contiene immagini JPEG, Knowledge Catalog Discovery rileva e registra due set di file. Per i dati strutturati, come Avro, Discovery rileva i file solo se si trovano in cartelle che contengono lo stesso formato dei dati e schema.

Le tabelle e i set di file rilevati vengono registrati in Data Catalog per la ricerca e il rilevamento. Le tabelle vengono visualizzate in Dataproc Metastore come tabelle in stile Hive e in BigQuery come tabelle esterne, in modo che i dati siano resi disponibili automaticamente per l'analisi.

Discovery supporta i seguenti formati di dati strutturati e semistrutturati:

Discovery supporta il seguente formato di compressione per i dati strutturati e semistrutturati:

  • Compressione interna per questi formati:

    Compressione Esempio di estensione del file Formato supportato
    gzip .gz.parquet Parquet
    lz4 .lz4.parquet Parquet
    Snappy .snappy.parquet Parquet, ORC, Avro
    lzo .lzo.parquet Parquet, ORC
  • Compressione esterna per file JSON e CSV:

    • gzip
    • bzip2

Configurazione rilevamento

Discovery è abilitato per impostazione predefinita quando crei una nuova zona o un nuovo asset. Puoi disabilitare Discovery a livello di zona o di asset.

Quando crei una zona o un asset, puoi scegliere di ereditare le impostazioni di Discovery a livello di zona o di sostituire le impostazioni di Discovery a livello di asset.

Di seguito sono riportate le opzioni di configurazione di Discovery disponibili a livello di zona e di asset:

  • Rilevamento attivo e disattivato

  • Pianificazione del rilevamento: questa opzione può essere impostata su una pianificazione predefinita, ad esempio oraria o giornaliera, oppure su una pianificazione personalizzata definita dal formato cron. I nuovi asset vengono sottoposti a scansione quando vengono aggiunti. Per ulteriori informazioni, consulta la sezione Configurare le pianificazioni cron. Puoi impostare la pianificazione di Discovery tra 60 minuti e 31 giorni.

  • Pattern di inclusione o esclusione: definisci i file da includere o escludere dalle scansioni di Discovery utilizzando i pattern glob nel percorso di inclusione o esclusione. Ad esempio, se vuoi escludere gs://test_bucket/foo/.. dal rilevamento, inserisci **/foo/* come percorso di esclusione. Le virgolette causano errori. Assicurati di inserire **/foo/* anziché "**/foo/*".) Questa funzione è disponibile solo per gli asset Cloud Storage. Quando esistono contemporaneamente entrambi i pattern di inclusione ed esclusione, quelli di esclusione vengono applicati per primi.

  • Specifiche JSON o CSV: ti consentono di fornire informazioni aggiuntive sui dati semistrutturati, come CSV e JSON, per migliorare l'accuratezza dei risultati di Discovery.

    • Per i file CSV, puoi fornire uno dei seguenti elementi:

      • Delimitatore: questo campo accetta un carattere, ad eccezione di \r e \n. Se viene fornito più di un carattere, viene utilizzato solo il primo carattere della stringa. Se non viene fornito, Discovery utilizza una virgola come delimitatore.

      • Numero di righe di intestazione: questo campo accetta il valore 0 o 1. Il valore predefinito è 0. Quando il valore è 0, Discovery esegue l'inferenza dell'intestazione e, se viene rilevata un'intestazione, Discovery estrae i nomi delle colonne dall'intestazione e reimposta il valore su 1.

      • Codifica: questo campo accetta nomi di codifica di stringhe, come UTF-8, US-ASCII o ISO-8859-1. Se non viene specificato nulla, viene utilizzato UTF-8 come valore predefinito.

      • Disabilita l'inferenza del tipo: questo campo accetta un valore booleano. Per impostazione predefinita è impostato su false. Per i dati CSV, se disabiliti l'inferenza del tipo, tutte le colonne vengono registrate come stringhe.

    • Per i file JSON, puoi fornire uno dei seguenti elementi:

      • Codifica: questo campo accetta nomi di codifica di stringhe, come UTF-8, US-ASCII o ISO-8859-1. Se non viene specificato nulla, viene utilizzato UTF-8 come valore predefinito.

      • Disabilita l'inferenza del tipo di dati: questo campo accetta un valore booleano. Per impostazione predefinita è impostato su false. Per i dati JSON, se disabiliti l'inferenza del tipo, tutte le colonne vengono registrate come tipi primitivi (stringa, numero o booleano).

Annullare un job di Discovery

Se un job di Discovery richiede più tempo del previsto, puoi annullarlo. Questa è un'operazione "best effort". Se il job è già in uno stato terminale (ad esempio SUCCEEDED o FAILED), la richiesta di annullamento viene ignorata.

Ruoli e autorizzazioni richiesti

Per ottenere le autorizzazioni necessarie per annullare un job di Discovery, chiedi all'amministratore di concederti il ruolo IAM Editor Dataplex (roles/dataplex.editor) o Amministratore DataScan Dataplex (roles/dataplex.dataScanAdmin) nel progetto.

Annullare un job

Puoi annullare un job di Discovery in esecuzione o in attesa utilizzando la Google Cloud console o l'API REST.

Console

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

    Vai a Rilevamento

  2. Fai clic sul nome della scansione di rilevamento che contiene il job che vuoi annullare.

  3. Nella scheda Cronologia dei job, individua il job con lo stato In esecuzione o In attesa.

  4. Fai clic sul pulsante Annulla associato al job.

REST

Utilizza il projects.locations.dataScans.jobs.cancel metodo.

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans/DATASCAN_ID/jobs/JOB_ID:cancel

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto
  • LOCATION: la regione in cui si trova la scansione dei dati
  • DATASCAN_ID: l'ID della scansione dei dati
  • JOB_ID: l'ID del job da annullare

Pubblicare i metadati

Quando crei una zona dati nel tuo lake Knowledge Catalog, Knowledge Catalog crea un set di dati BigQuery nel progetto contenente il lake. Knowledge Catalog pubblica le tabelle in questo set di dati per le tabelle rilevate nei bucket Cloud Storage aggiunti alla zona dati come asset. Il set di dati viene definito set di dati di pubblicazione dei metadati corrispondente alla zona.

Ogni zona dati di Knowledge Catalog esegue il mapping a un set di dati in BigQuery o a un database in Dataproc Metastore, dove le informazioni sui metadati vengono rese disponibili automaticamente.

Puoi modificare i metadati rilevati automaticamente, come il nome o lo schema della tabella, utilizzando l'API Dataplex.

Visualizzare le tabelle e i set di file rilevati

Puoi cercare le tabelle e i set di file rilevati nella visualizzazione Cerca di Knowledge Catalog nella Google Cloud console.

Apri la ricerca

Per risultati di ricerca più accurati, utilizza i filtri specifici di Knowledge Catalog, come i nomi di lake e zone dati. Nell'elenco dei filtri vengono visualizzati i primi 50 elementi per sfaccettatura. Puoi trovare eventuali elementi aggiuntivi utilizzando la casella di ricerca.

Ogni voce contiene metadati tecnici e operativi dettagliati.

Dalla pagina dei dettagli della voce, puoi eseguire una query sulla tabella in BigQuery e visualizzare i dettagli di registrazione di Dataproc Metastore corrispondenti.

Se una tabella Cloud Storage può essere pubblicata in BigQuery come tabella esterna, nella visualizzazione dei dettagli della voce puoi visualizzare quanto segue:

  • Riferimenti alle tabelle esterne di BigQuery
  • Un pulsante Apri in BigQuery per iniziare ad analizzare i dati in BigQuery

Le voci dei metadati di Knowledge Catalog sono visibili e ricercabili direttamente in Data Catalog. Per saperne di più, consulta il riferimento alla ricerca in Data Catalog Search reference.

Tutte le voci rilevate possono essere visualizzate tramite l'API Dataplex.

Azioni di rilevamento

Discovery genera le seguenti azioni dell'amministratore ogni volta che vengono rilevati problemi relativi ai dati durante le scansioni.

Formato dei dati non valido

Le azioni includono quanto segue:

Schema non compatibile

Le azioni includono quanto segue:

  • Uno schema rilevato da Discovery non è compatibile con lo schema di tabella attivo nell'API dei metadati in Dataproc Metastore. Lo schema A e lo schema B non sono compatibili nei seguenti scenari:

    • A e B condividono campi con lo stesso nome, ma con tipi di dati diversi e non compatibili. Ad esempio, stringa e numero intero.

    • A e B non hanno campi sovrapposti.

    • A e B hanno almeno un campo non nullabile non trovato nell'altro schema.

  • Deviazione dello schema rispetto a uno schema gestito dall'utente nella zona organizzata.

Definizione della partizione non valida

Le azioni includono quanto segue:

  • Nomenclatura delle partizioni non coerente. Ad esempio, gs://sales_data/year=2020/month=10/day=01 e gs://sales_data/year=2020/region=us.

  • Nomenclatura delle partizioni in stile non Hive nella zona dati organizzata. Ad esempio, gs://sales_data/2020/10/01 anziché gs://sales_data/year=2020/month=10/day=01.

Dati mancanti

Le azioni includono quanto segue:

  • Nella zona dati organizzata, i dati sottostanti per una tabella o un set di file registrati non esistono più. In altre parole, è stata rilevata e registrata una tabella o un set di file della zona organizzata, ma in seguito i dati sottostanti sono stati eliminati. Puoi risolvere questo problema reintegrando i dati o eliminando la voce dei metadati.

Risolvere le azioni di rilevamento

I dati con azioni vengono controllati dalle successive scansioni di Discovery. Quando il problema che ha attivato l'azione viene risolto, l'azione viene risolta automaticamente dalla successiva scansione di Discovery pianificata.

Altre azioni di rilevamento

Oltre alle azioni di rilevamento precedenti, esistono altri tre tipi di azioni correlate allo stato delle risorse e alle propagazioni delle policy di sicurezza in Knowledge Catalog.

  • Risorsa mancante: il bucket o il set di dati sottostante non è stato trovato corrispondente a un asset esistente.

  • Risorsa non autorizzata: Knowledge Catalog non dispone delle autorizzazioni sufficienti per eseguire Discovery o applicare policy di sicurezza al bucket o al set di dati gestito da Knowledge Catalog

  • Problemi con la propagazione delle policy di sicurezza: le policy di sicurezza specificate per un determinato lake, zona o asset non sono state propagate correttamente ai bucket o ai set di dati sottostanti. Mentre tutte le altre azioni sono a livello di asset, questo tipo di azione può essere generato a livello di lake, zona e asset.

Questi tipi di azioni vengono risolti automaticamente quando vengono corretti i problemi relativi alla risorsa sottostante o alla configurazione di sicurezza.

Domande frequenti

Cosa devo fare se lo schema dedotto da Discovery non è corretto?

Se lo schema dedotto è diverso da quello previsto per una determinata tabella, puoi sostituirlo aggiornando i metadati utilizzando l' API dei metadati. Assicurati di impostare userManaged su true in modo che la modifica non venga sovrascritta nelle successive scansioni di Discovery.

Come faccio a escludere i file da una scansione di Discovery?

Per impostazione predefinita, Discovery esclude alcuni tipi di file dalla scansione, tra cui:

  • _SUCCESS
  • _started
  • _committed
  • _metadata, _METADATA, _Metadata
  • _common_metadata, _COMMON_METADATA
  • File che iniziano con README o readme
  • Directory che iniziano con base_, delta_, delete_delta_, bucket_, seguite da un numero
  • Directory che iniziano con .

Puoi specificare pattern di inclusione o esclusione aggiuntivi utilizzando la configurazione di Discovery a livello di zona o di asset oppure utilizzando l'API dei metadati.

Cosa devo fare se il raggruppamento delle tabelle rilevato da Discovery è troppo granulare?

Se le tabelle rilevate da Discovery sono a un livello più granulare rispetto al percorso principale della tabella, ad esempio ogni singola partizione viene registrata come tabella, potrebbero esserci diversi motivi:

  • Nel percorso principale della tabella previsto sono presenti differenze di formato, ad esempio una combinazione di file Avro e Parquet, che suddivide la tabella in raggruppamenti più piccoli.

  • Nel percorso principale della tabella previsto sono presenti diversi tipi di incompatibilità dello schema, che suddivide la tabella in raggruppamenti più piccoli.

Puoi risolvere questo problema in uno dei seguenti modi:

  • Correggi le differenze di formato o schema in modo che tutti i file nello stesso percorso principale della tabella abbiano un formato coerente e uno schema compatibile.

  • Escludi i file eterogenei utilizzando la configurazione del pattern di esclusione come parte della configurazione della zona / dell'asset o dell'API dei metadati.

Dopo aver eseguito uno dei passaggi correttivi, nella successiva scansione di Discovery si verifica quanto segue:

  • Le tabelle di livello inferiore esistenti vengono rimosse automaticamente dall'API Dataplex, BigQuery, Dataproc Metastore e Data Catalog.
  • Viene invece creata una nuova tabella di livello superiore con il percorso principale della tabella previsto.

Come faccio a specificare i nomi delle tabelle?

Puoi specificare i nomi delle tabelle utilizzando l'API dei metadati.

Cosa succede se creo le tabelle manualmente in Dataproc Metastore o BigQuery?

Quando Discovery è abilitato per un determinato asset, non devi registrare manualmente le voci in Dataproc Metastore o BigQuery.

Puoi definire manualmente il nome della tabella, lo schema e le definizioni delle partizioni, disattivando Knowledge Catalog Discovery. In alternativa, puoi procedere nel seguente modo:

  1. Crea una tabella specificando solo le informazioni obbligatorie, come il percorso principale della tabella.
  2. Utilizza Knowledge Catalog Discovery per completare il resto dei metadati, come lo schema e le definizioni delle partizioni.
  3. Mantieni aggiornati i metadati.

Cosa devo fare se la mia tabella non viene visualizzata in BigQuery?

Sebbene tutti i metadati di Knowledge Catalog siano registrati centralmente nell'API dei metadati, solo le tabelle Cloud Storage compatibili con BigQuery vengono pubblicate in BigQuery come tabelle esterne. Come parte dei dettagli della voce della tabella nell' API dei metadati, puoi trovare un indicatore di compatibilità di BigQuery che indica quali entità vengono pubblicate in BigQuery e perché.

Limitazioni

  • Le tabelle esterne non sono supportate da Discovery. Tuttavia, le tabelle esterne vengono automaticamente importate in Knowledge Catalog e puoi cercarle in Knowledge Catalog invece.

Prezzi

Knowledge Catalog addebita i costi per Discovery nell'ambito del livello di elaborazione standard. Per ulteriori informazioni, consulta la sezione Prezzi dell'elaborazione standard di Knowledge Catalog.

Passaggi successivi