Dati rilevati

Questa guida spiega come abilitare e utilizzare Dataplex Discovery. Discovery analizza ed estrae i metadati dai dati in un data lake e li registra in Dataproc Metastore, BigQuery e Data Catalog per l'analisi, la ricerca e l'esplorazione.

Panoramica

Per ogni asset Dataplex con Rilevamento abilitato, Dataplex fa quanto segue:

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

Per dati non strutturati, come immagini e video, Dataplex Discovery rileva e registra automaticamente i gruppi di file che condividono tipo multimediale come set di file. Ad esempio, se gs://images/group1 contiene immagini GIF e gs://images/group2 contiene immagini JPEG, Dataplex 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 lo stesso 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 di tipo Hive e in BigQuery come tabelle esterne, in modo che i dati vengono automaticamente resi disponibili per l'analisi.

Discovery supporta i seguenti formati di dati strutturati e semistrutturati:

Discovery supporta il seguente formato di compressione per 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
    Rapido .snappy.parquet Parquet, ORC, Avro
    lzo .lzo.parquet Parquet, ORC
  • Compressione esterna per file JSON e CSV:

    • gzip
    • bzip2

Configurazione rilevamento

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

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

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

  • Rilevamento attivato e disattivato.

  • Pianificazione del rilevamento: questa opzione può essere impostata su una pianificazione predefinita, ad esempio oraria o giornaliera oppure una pianificazione personalizzata definita dal formato cron. I nuovi asset vengono analizzati quando vengono aggiunti. Per ulteriori informazioni, consulta Configurazione di pianificazioni cron. Opzione consigliata: pianifica il rilevamento in modo che venga eseguito ogni ora o meno frequente.

  • Pattern di inclusione o esclusione: definisci i file da includere o escludere dalle scansioni di rilevamento 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 comportano 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, i pattern di esclusione vengono applicati per primi.

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

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

      • 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 fornita, Discovery usa 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, il rilevamento esegue l'inferenza dell'intestazione e, se viene rilevata un'intestazione, 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. È impostata su false per impostazione predefinita. Per i dati CSV, se disattivi l'inferenza dei tipi, tutte le colonne vengono registrate come stringhe.

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

      • 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. È impostata su false per impostazione predefinita. Per i dati JSON, se disattivi l'inferenza del tipo, tutte le colonne vengono registrate come tipi primitivi (stringa, numero o booleano).

Pubblica metadati

Quando crei una zona dati nel lake Dataplex, Dataplex crea un set di dati BigQuery nel progetto contenente il lake. Dataplex pubblica le tabelle in quel set di dati per le tabelle rilevate nei bucket Cloud Storage aggiunti alla zona dati come asset. Il set di dati è indicato come set di dati di pubblicazione di metadati corrispondente alla zona.

Ogni zona dati Dataplex viene mappata a un set di dati in BigQuery o a un database in Dataproc Metastore, dove le informazioni sui metadati vengono rese automaticamente disponibili.

Puoi modificare i metadati a rilevamento automatico, come il nome della tabella o lo schema, utilizzando l'API Dataplex per i metadati.

Visualizza le tabelle e i set di file rilevati

Puoi cercare tabelle e set di file rilevati nella visualizzazione Ricerca di Dataplex nella console Google Cloud.

Apri la Ricerca

Per risultati di ricerca più precisi, utilizza filtri specifici di Dataplex, ad esempio nomi di lake e zone dati. Nell'elenco dei filtri vengono mostrati i primi 50 elementi per facet. Puoi trovare eventuali altri elementi 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, puoi vedere quanto segue nella visualizzazione dei dettagli delle voci:

  • Riferimenti delle tabelle esterne BigQuery
  • Un pulsante Apri in BigQuery per iniziare ad analizzare i dati in BigQuery.

Le voci dei metadati Dataplex sono direttamente visibili e disponibili per la ricerca in Data Catalog. Per saperne di più, consulta la documentazione di riferimento sulla ricerca di Data Catalog.

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

Azioni di rilevamento

Il rilevamento genera le seguenti azioni dell'amministratore ogni volta che vengono rilevati problemi relativi ai dati durante le analisi.

Formato dei dati non valido

Le azioni includono:

  • Formato dei dati incoerente in una tabella. Ad esempio, file di formati diversi esistono con lo stesso prefisso della tabella.

  • Formato dei dati non valido nelle zone curate (dati non nei formati Avro, Parquet o ORC).

Schema incompatibile

Le azioni includono:

  • Uno schema rilevato da Discovery non è compatibile con lo schema della tabella attiva nell'API di metadati in Dataproc Metastore. Lo schema A e lo schema B non sono compatibili se:

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

    • A e B non hanno campi sovrapposti.

    • A e B è presente almeno un campo per cui non è possibile impostare valori null non trovato nell'altro schema.

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

Definizione partizione non valida

Le azioni includono:

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

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

Dati mancanti

Le azioni includono:

  • Nella zona dati organizzata, i dati sottostanti per una tabella o un set di file registrati non esistono più. In altre parole, è stato trovato e registrato un set di file o una tabella di una zona organizzata, ma in seguito i relativi dati sottostanti sono stati eliminati. Per risolvere il problema, puoi reintegrare i dati o eliminare la voce dei metadati.

Risolvi le azioni di rilevamento

I dati con azioni vengono controllati dalle scansioni di rilevamento successive. Una volta risolto il problema che attiva l'azione, l'azione viene risolta automaticamente alla successiva scansione di Discovery pianificata.

Altre azioni

Oltre alle azioni di rilevamento precedenti, esistono altri tre tipi di azioni relative allo stato delle risorse e alle propagazioni dei criteri di sicurezza in Dataplex.

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

  • Risorsa non autorizzata: Dataplex non dispone di autorizzazioni sufficienti per eseguire il rilevamento o applicare criteri di sicurezza al bucket o al set di dati gestito da Dataplex

  • Problemi con la propagazione dei criteri di sicurezza: non è stato possibile propagare i criteri di sicurezza specificati per un determinato lake, zona o asset nei bucket o nei set di dati sottostanti. Sebbene tutte le altre azioni siano a livello di asset, questo tipo di azione potrebbe essere rilevato a livello di lake, zona e asset.

Questi tipi di azioni vengono risolti automaticamente quando vengono risolti i problemi di configurazione della sicurezza o delle risorse sottostanti.

Domande frequenti

Cosa devo fare se lo schema dedotto dal rilevamento non è corretto?

Se lo schema dedotto è diverso da quello previsto per una determinata tabella, puoi eseguire l'override dello schema dedotto aggiornando i metadati tramite l'API metadata. Assicurati di impostare userManaged su true in modo che la modifica non venga sovrascritta nelle analisi di rilevamento successive.

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

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 ulteriori pattern di inclusione o esclusione utilizzando la configurazione del rilevamento a livello di zona o di asset oppure utilizzando l'API di metadati.

Cosa devo fare se il raggruppamento delle tabelle rilevato dal rilevamento è troppo granulare?

Se le tabelle rilevate dal rilevamento sono a un livello più granulare rispetto al percorso principale della tabella; ad esempio, ogni singola partizione viene registrata come tabella, i motivi potrebbero essere diversi:

  • Esistono differenze di formato, ad esempio una combinazione di file Avro e Parquet, nel percorso principale della tabella previsto, che suddividono la tabella in raggruppamenti più piccoli.

  • Esistono diversi tipi di incompatibilità dello schema nel percorso principale della tabella previsto che suddividono la tabella in raggruppamenti più piccoli.

Puoi risolvere il 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.

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

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

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

Come si specificano i nomi delle tabelle?

Puoi specificare i nomi delle tabelle utilizzando l'API metadata.

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

Se il rilevamento è abilitato per un determinato asset, non è necessario registrare manualmente le voci in Dataproc Metastore o BigQuery.

Puoi definire manualmente le definizioni delle partizioni, dello schema e del nome della tabella, disattivando al contempo Dataplex Discovery. In alternativa, procedi nel seguente modo:

  1. Crea una tabella specificando solo le informazioni richieste, ad esempio il percorso principale della tabella.
  2. Usa Dataplex Discovery per completare il resto dei metadati, come le definizioni di schema e partizioni.
  3. Mantieni aggiornati i metadati.

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

Mentre i metadati Dataplex sono registrati centralmente nell'API per i metadati, solo le tabelle di Cloud Storage compatibili con BigQuery vengono pubblicate in BigQuery come tabelle esterne. Nell'ambito dei dettagli delle voci di tabella nell'API metadati, puoi trovare un indicatore di compatibilità BigQuery che indica quali entità sono pubblicate in BigQuery e perché.

Che cosa succede dopo?