Questa guida descrive i metadati di Dataplex Universal Catalog per lake, zone e asset e come utilizzare le API Dataplex Universal Catalog per gestirli.
Panoramica
Dataplex Universal Catalog esegue la scansione di quanto segue:
- Asset di dati strutturati e semi-strutturati all'interno dei data lake, per estrarre i metadati della tabella nelle entità tabella
- Dati non strutturati, come immagini e testi, per estrarre i metadati del set di file in entità del set di file
Puoi utilizzare l'API Dataplex Universal Catalog Metadata per:
- Visualizzare, modificare ed eliminare i metadati delle entità di tabelle e fileset
- Creare metadati di entità di tabella o fileset
Puoi analizzare i metadati di Dataplex Universal Catalog utilizzando quanto segue:
- Data Catalog (deprecato) per la ricerca e il tagging
- Dataproc Metastore e BigQuery per l'elaborazione di query e analisi dei metadati delle tabelle
API Dataplex Universal Catalog
Questa sezione riassume le API Dataplex Universal Catalog e le risorse chiave correlate.
API Control Plane
L'API del control plane del catalogo universale Dataplex consente la creazione e la gestione delle risorse lake, zona e asset.
Lake: Un'istanza del servizio Dataplex Universal Catalog che consente di gestire le risorse di archiviazione in più progetti all'interno di un'organizzazione.
Zona: Un raggruppamento logico di asset all'interno di un lake. Utilizza più zone all'interno di un lake per organizzare i dati in base alla preparazione, al workload o alla struttura organizzativa.
Asset: risorse di archiviazione, con dati archiviati in bucket Cloud Storage o set di dati BigQuery, collegati a una zona all'interno di un lake.
API Metadata
Utilizza l'API Metadata del Catalogo universale Dataplex per creare e gestire i metadati all'interno di tabelle, entità fileset e partizioni. Il Catalogo universale Dataplex analizza gli asset di dati, in un lake o forniti da te, per creare entità e partizioni. Entità e partizioni mantengono i riferimenti alle risorse associate e alle posizioni di archiviazione fisica.
Concetti fondamentali
- Entità tabella:
Metadati per dati strutturati con schemi ben definiti. Le entità tabella sono identificate in modo univoco dall'ID entità e dalla posizione dei dati. I metadati delle entità tabella sono interrogabili in BigQuery e Dataproc Metastore:
- Oggetti Cloud Storage:metadati per gli oggetti Cloud Storage, a cui si accede tramite le API Cloud Storage.
- Tabelle BigQuery:metadati per le tabelle BigQuery, a cui si accede tramite le API BigQuery.
- Entità Fileset:
Metadati relativi a dati non strutturati, in genere senza schema. I set di file sono identificati in modo univoco dall'ID entità e dalla posizione dei dati. Ogni insieme di file ha un formato dati.
- Partizioni:
Metadati per un sottoinsieme di dati all'interno di un'entità tabella o fileset, identificati da un insieme di coppie chiave-valore e da una posizione dei dati.
Prova l'API
Utilizza le pagine della documentazione di riferimento delle API lakes.zones.entities e lakes.zones.partitions del catalogo universale Dataplex per visualizzare i parametri e i campi associati a ogni API. Utilizza il riquadro Prova questa API che accompagna la documentazione di riferimento per ogni metodo API per effettuare richieste API utilizzando parametri e campi diversi. Puoi creare, visualizzare e inviare le richieste senza dover generare credenziali e poi visualizzare le risposte restituite dal servizio.
Le sezioni seguenti forniscono informazioni per aiutarti a comprendere e utilizzare le API di metadati del catalogo universale Dataplex.
Entità
Elenco entità
Per limitare l'elenco delle entità restituite dal servizio, aggiungi
i parametri di ricerca filter
all'URL della richiesta list entities
.
Recupera entità
Per impostazione predefinita, la risposta Get Entity
contiene i metadati di base dell'entità. Per recuperare metadati dello schema aggiuntivi, aggiungi il parametro di query
view
all'URL della richiesta.
Dettagli di compatibilità:mentre i metadati del catalogo universale di Dataplex
vengono registrati centralmente nell'API Metadata, solo i metadati delle tabelle delle entità compatibili con BigQuery e Apache Hive Metastore vengono pubblicati
in BigQuery e Dataproc Metastore.
L'API Get Entity
restituisce un messaggio CompatibilityStatus
, che indica se i metadati della tabella sono compatibili con BigQuery e Hive Metastore e, in caso contrario, il motivo dell'incompatibilità.
Aggiorna entità
Utilizza questa API per modificare i metadati delle entità, incluso se tu o Dataplex Universal Catalog gestirà i metadati delle entità.
- Questa API esegue una sostituzione completa di tutti i campi modificabili Entity. I seguenti campi dell'entità sono immutabili e, se li specifichi in una richiesta di aggiornamento, verranno ignorati:
- Specifica un valore per tutti i campi dell'entità modificabili, inclusi tutti i campi schema, anche se i valori non vengono modificati.
- Fornisci il campo
etag. Puoi ottenere l'etag inviando prima una richiesta
entities.get,
che restituisce
etag
dell'entità nella risposta. - Aggiornamento dei campi dello schema:puoi aggiornare lo schema della tabella rilevato da
Dataplex Universal Catalog per migliorarne l'accuratezza:
- Se lo schema è un fileset, lascia vuoti tutti i campi dello schema.
- Per definire un campo ripetuto, imposta la
modalità
su
REPEATED
. Per definire un campo struct, imposta type suRECORD
. - Puoi impostare il campo
userManaged
dello schema per specificare se tu o Dataplex Universal Catalog gestite i metadati della tabella. L'impostazione predefinita è Dataplex Universal Catalog gestito. SeuserManaged
è impostato su true, questa impostazione è inclusa nelle informazioni restituite da una richiestaentities.get
se EntityView è impostato suSCHEMA
oFULL
.
- Aggiornamento dei campi di partizione:
- Per i dati partizionati in stile non Hive, il rilevamento di Dataplex Universal Catalog
genera automaticamente le chiavi di partizione. Ad esempio, per il percorso dei dati
gs://root/2020/12/31
, vengono generate le chiavi di partizionep0
,p1
ep2
. Per rendere le query più intuitive, puoi aggiornarep0
,p1
ep2
ayear
,month
eday
rispettivamente. - Se aggiorni lo stile di partizione a HIVE style, il campo della partizione è immutabile.
- Per i dati partizionati in stile non Hive, il rilevamento di Dataplex Universal Catalog
genera automaticamente le chiavi di partizione. Ad esempio, per il percorso dei dati
- Aggiornamento di altri campi dei metadati: puoi aggiornare i campi mimeType, CompressionFormat, CsvOptions e JsonOptions generati automaticamente per facilitare l'individuazione del Catalogo universale Dataplex. L'individuazione del Catalogo universale Dataplex utilizzerà i nuovi valori alla successiva esecuzione.
Crea entità
Utilizza l'API entities.create
per creare entità di metadati di tabelle o fileset.
Compila i campi obbligatori e facoltativi pertinenti oppure lascia che il servizio di rilevamento di Dataplex Universal Catalog
compili i campi facoltativi.
Elimina entità
- Fornisci il campo
etag. Puoi ottenere l'etag inviando prima una richiesta
entities.get,
che restituisce
etag
dell'entità nella risposta.
Se i dati sottostanti di una tabella o di un fileset in una zona non elaborata vengono eliminati, i metadati della tabella o del fileset vengono eliminati automaticamente alla successiva scansione di Discovery. Se i dati sottostanti di una tabella in una zona curata vengono eliminati, i metadati della tabella non vengono eliminati di conseguenza, ma viene segnalata un'azione di dati mancanti. Per risolvere il problema, elimina esplicitamente l'entità metadati della tabella tramite l'API Metadata.
Partizioni
Elenco delle partizioni
Per limitare l'elenco delle partizioni restituite dal servizio, aggiungi
i parametri di ricerca filter
all'URL della richiesta list partitions
.
Esempi:
?filter="Country=US AND State=CA AND City=Sunnyvale"
?filter="year < 2000 AND month > 12 AND Date > 10"
Ottieni partizione
Per ottenere una partizione, devi completare l'URL della richiesta aggiungendo i valori della chiave di partizione alla fine dell'URL, formattati in modo da essere letti come partitions/value1/value2/…./value10
.
Esempio: se una partizione ha valori, {Country=US, State=CA, City=Sunnyvale}
,
l'URL della richiesta GET deve terminare con /partitions/US/CA/Sunnyvale
.
Importante:i valori URL aggiunti devono essere
codificati due volte. Ad esempio, url_encode(url_encode(value))
può
essere utilizzato per codificare "US:CA/CA#Sunnyvale" in modo che l'URL della richiesta termini
con /partitions/US%253ACA/CA%2523Sunnyvale
. Il campo del nome nella
risposta mantiene il formato codificato.
Crea partizione
Per creare una partizione personalizzata per l'origine dati, utilizza l'API partitions.create
. Specifica il campo
posizione
obbligatorio con un percorso Cloud Storage.
Eliminare la partizione
Completa l'URL della richiesta aggiungendo i valori della chiave di partizione alla fine
dell'URL della richiesta, formattato in modo da essere letto come partitions/value1/value2/…./value10
.
Esempio: se una partizione ha valori, {Country=US, State=CA, City=Sunnyvale}
,
l'URL della richiesta deve terminare con /partitions/US/CA/Sunnyvale
.
Importante:i valori URL aggiunti devono essere conformi allo
RFC-1034
oppure devono essere codificati due volte, ad esempio US:/CA#/Sunnyvale
come US%3A/CA%3A/Sunnyvale
.
Passaggi successivi
- Scopri di più sull'accesso ai metadati in Apache Spark.