Questa guida spiega come attivare e utilizzare l'individuazione del Catalogo universale Dataplex. Discovery esegue la scansione ed estrae i metadati dai dati in un data lake e li registra in Dataproc Metastore, BigQuery e Data Catalog (ritirato) per analisi, ricerca ed esplorazione.
Per saperne di più su come utilizzare l'individuazione automatica per estrarre e catalogare i dati di Cloud Storage non collegati a un lake, consulta Individuare e catalogare i dati di Cloud Storage.
Panoramica
Per ogni asset di Dataplex Universal Catalog con l'individuazione abilitata, Dataplex Universal Catalog esegue le seguenti operazioni:
- Esegue la scansione dei dati associati alla risorsa.
- Raggruppa i file strutturati e semistrutturati in tabelle.
- Raccoglie metadati tecnici, come nome della tabella, schema e definizione della partizione.
Per i dati non strutturati, come immagini e video, Dataplex Universal Catalog Discovery rileva e registra automaticamente i gruppi di file che condividono il tipo di media come file set. Ad esempio, se gs://images/group1
contiene immagini GIF e gs://images/group2
contiene immagini JPEG,
Dataplex Universal Catalog Discovery rileva e registra due
fileset. Per i dati strutturati, come Avro, Discovery rileva
i file solo se si trovano in cartelle che contengono lo stesso formato e lo stesso schema dei dati.
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 vengano resi automaticamente disponibili per l'analisi.
Discovery supporta i seguenti formati di dati strutturati e semi-strutturati:
- Parquet
- Avro
- ORC
- JSON (solo il formato delimitato da nuova riga)
- CSV (i file CSV con righe di commento non sono supportati).
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 Snappy .snappy.parquet Parquet, ORC, Avro lzo .lzo.parquet Parquet, ORC Compressione esterna per file JSON e CSV:
- gzip
- bzip2
Configurazione rilevamento
Il rilevamento è attivo per impostazione predefinita quando crei una nuova zona o un nuovo asset. Puoi disattivare la funzionalità di scoperta 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 eseguire l'override delle 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 non attivo
Pianificazione della scoperta: 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 analizzati quando vengono aggiunti. Per ulteriori informazioni, consulta Configurazione delle pianificazioni cron. Consigliato: pianifica l'esecuzione di Discovery ogni ora o meno frequentemente.
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/..
dalla scoperta, 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: 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 vengono forniti più caratteri, 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
o1
. 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 su1
.Codifica:questo campo accetta nomi di codifica delle stringhe, ad esempio
UTF-8
,US-ASCII
oISO-8859-1
. Se non viene specificato nulla, viene utilizzatoUTF-8
come valore predefinito.Disabilita inferenza dei tipi:questo campo accetta un valore booleano. Per impostazione predefinita, l'opzione è impostata su
false
. Per i dati CSV, se disattivi 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 delle stringhe, ad esempio
UTF-8
,US-ASCII
oISO-8859-1
. Se non viene specificato nulla, viene utilizzatoUTF-8
come valore predefinito.Disabilita l'inferenza del tipo di dati:questo campo accetta un valore booleano. Per impostazione predefinita, l'opzione è impostata su
false
. Per i dati JSON, se disattivi l'inferenza del tipo, tutte le colonne vengono registrate come tipi primitivi (stringa, numero o booleano).
Pubblicare i metadati
Quando crei una zona di dati nel tuo lake Dataplex Universal Catalog, Dataplex Universal Catalog crea un set di dati BigQuery nel progetto contenente il lake. Il Catalogo universale Dataplex pubblica le tabelle in questo set di dati per le tabelle rilevate nei bucket Cloud Storage aggiunti alla zona di dati come asset. Il set di dati viene definito set di dati di pubblicazione dei metadati corrispondente alla zona.
Ogni zona di dati di Dataplex Universal Catalog viene mappata 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 tabelle e set di file rilevati
Puoi cercare tabelle e file set rilevati nella visualizzazione Ricerca di Dataplex Universal Catalog nella console Google Cloud .
Per risultati di ricerca più accurati, utilizza filtri specifici di Dataplex Universal Catalog, come i nomi di lake e zone di dati. Nell'elenco dei filtri vengono visualizzati i primi 50 elementi per facet. Puoi trovare altri elementi utilizzando la casella di ricerca.
Ogni voce contiene metadati tecnici e operativi dettagliati.
Dalla pagina dei dettagli della voce, puoi eseguire 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 vedere quanto segue:
- Riferimenti a tabelle esterne BigQuery
- Un pulsante per Apri in BigQuery per iniziare ad analizzare i dati in BigQuery
Le voci di metadati di Dataplex Universal Catalog sono direttamente visibili e consultabili in Data Catalog. Per scoprire di più, consulta il riferimento alla ricerca di Data Catalog.
Tutte le voci rilevate possono essere visualizzate tramite l'API Dataplex.
Azioni di scoperta
Il rilevamento 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:
Formato dei dati incoerente in una tabella. Ad esempio, esistono file di formati diversi con lo stesso prefisso della tabella.
Formato dei dati non valido nelle zone organizzate (i dati non sono in formato Avro, Parquet o ORC).
Schema non compatibile
Le azioni includono:
Uno schema rilevato da Discovery non è compatibile con lo schema di tabella attivo nell'API di 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 incompatibili. 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 curata.
Definizione di partizione non valida
Le azioni includono:
Denominazione delle partizioni non coerente. Ad esempio,
gs://sales_data/year=2020/month=10/day=01
egs://sales_data/year=2020/region=us
.Denominazione delle partizioni in stile non Hive nella zona di dati organizzati. Ad esempio,
gs://sales_data/2020/10/01
invece digs://sales_data/year=2020/month=10/day=01
.
Dati mancanti
Le azioni includono:
- Nella zona dei dati curati, i dati sottostanti per una tabella o un set di file registrato non esistono più. In altre parole, è stata rilevata e registrata una tabella o un insieme di file della zona curata, ma in un secondo momento i dati sottostanti sono stati eliminati. Puoi risolvere il problema reintegrando i dati o eliminando la voce dei metadati.
Risolvere le azioni di Discovery
I dati con azioni vengono controllati dalle successive scansioni di rilevamento. Quando il problema che ha attivato l'azione viene risolto, l'azione viene risolta automaticamente dalla successiva scansione del rilevamento pianificata.
Altre azioni di Discovery
Oltre alle azioni di Discovery precedenti, esistono altri tre tipi di azioni correlate allo stato delle risorse e alle propagazioni delle policy di sicurezza in Dataplex Universal Catalog.
Risorsa mancante: il bucket o il set di dati sottostante non è stato trovato corrispondente a un asset esistente.
Risorsa non autorizzata: Dataplex Universal Catalog non dispone di autorizzazioni sufficienti per eseguire Discovery o applicare criteri di sicurezza al bucket o al set di dati gestito da Dataplex Universal Catalog
Problemi con la propagazione dei criteri di sicurezza: i criteri di sicurezza specificati per un determinato lake, zona o asset non sono stati propagati correttamente ai bucket o ai set di dati sottostanti. Mentre tutte le altre azioni si trovano a livello di asset, questo tipo di azione può essere generato a livello di lago, zona e asset.
Questi tipi di azioni vengono risolti automaticamente quando vengono corretti i problemi di configurazione della sicurezza o della risorsa sottostante.
Domande frequenti
Che cosa devo fare se lo schema dedotto da Discovery non è corretto?
Se lo schema dedotto è diverso da quello previsto per una determinata tabella, puoi
ignorarlo aggiornando i metadati utilizzando l'API metadata.
Assicurati di impostare
userManaged
su true
in modo che la tua modifica non venga sovrascritta nelle scansioni
di rilevamento successive.
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
oreadme
- 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 di rilevamento a livello di zona o asset oppure utilizzando l'API metadata.
Cosa devo fare se il raggruppamento delle tabelle rilevato da Discovery è troppo granulare?
Se le tabelle rilevate da Discovery si trovano a un livello più granulare rispetto al percorso principale della tabella, ad esempio ogni singola partizione è registrata come tabella, potrebbero esserci diversi motivi:
Esistono differenze di formato, ad esempio un mix di file Avro e Parquet, nel percorso principale della tabella previsto, che suddivide la tabella in raggruppamenti più piccoli.
Esistono diversi tipi di incompatibilità dello schema nel percorso radice della tabella previsto, che dividono 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 radice della tabella abbiano un formato coerente e uno schema compatibile.
Escludi i file eterogenei utilizzando la configurazione del pattern di esclusione nell'ambito della configurazione di zona / asset o dell'API metadata.
Dopo aver eseguito uno dei passaggi correttivi, nella successiva scansione del rilevamento si verifica quanto segue:
- Le tabelle di livello inferiore esistenti vengono rimosse automaticamente dall'API Dataplex, da BigQuery, da Dataproc Metastore e da Data Catalog.
- Viene creata una nuova tabella di livello superiore con il percorso radice della tabella previsto.
Come faccio a specificare i nomi delle tabelle?
Puoi specificare i nomi delle tabelle utilizzando l'API Metadata.
Cosa succede se creo tabelle manualmente in Dataproc Metastore o BigQuery?
Quando il rilevamento è abilitato per un determinato asset, non è necessario registrare manualmente le voci in Dataproc Metastore o BigQuery.
Puoi definire manualmente il nome della tabella, lo schema e le definizioni di partizione, disattivando il rilevamento di Dataplex Universal Catalog. In alternativa, procedi nel seguente modo:
- Crea una tabella specificando solo le informazioni richieste, come il percorso principale della tabella.
- Utilizza Dataplex Universal Catalog Discovery per compilare il resto dei metadati, come le definizioni di schema e partizione.
- Mantieni aggiornati i metadati.
Cosa devo fare se la mia tabella non viene visualizzata in BigQuery?
Sebbene i metadati del Catalogo universale Dataplex siano tutti registrati centralmente nell'API di metadati, solo le tabelle Cloud Storage compatibili con BigQuery vengono pubblicate in BigQuery come tabelle esterne. Nell'ambito dei dettagli delle voci della tabella nell'API di metadati, puoi trovare un indicatore di compatibilità BigQuery che indica quali entità vengono pubblicate su BigQuery e perché.
Limitazioni
- Le tabelle esterne, incluse le tabelle esterne BigLake, non sono supportate da Discovery. Tuttavia, le tabelle esterne vengono inserite automaticamente in Dataplex Universal Catalog e puoi cercarle in Dataplex Universal Catalog.
Passaggi successivi
- Scopri come lavorare con i metadati.