Questa guida descrive i metadati di Dataplex e come puoi utilizzare le API Dataplex per gestirli.
Panoramica
Dataplex esegue la scansione di quanto segue:
- Asset di dati strutturati e semistrutturati all'interno dei data lake per estrarre i metadati delle tabelle nelle entità di tabella
- Dati non strutturati, come immagini e testi, per estrarre i metadati dei set di file nelle entità set di file
Puoi utilizzare l'API Dataplex Metadata per:
- Visualizzare, modificare ed eliminare i metadati delle entità di tabelle e set di file
- Creare i metadati delle entità di set di file o tabelle
Puoi analizzare i metadati di Dataplex utilizzando quanto segue:
- Data Catalog per la ricerca e il tagging
- Dataproc Metastore e BigQuery per query sui metadati delle tabelle e elaborazione di analisi
API Dataplex
Questa sezione riassume le API Dataplex e le risorse chiave associate.
API del piano di controllo
L'API del control plane di Dataplex consente di creare e gestire le risorse lake, zone e asset.
Lake: un'istanza di servizio Dataplex che consente di gestire le risorse di archiviazione tra i 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 a idoneità, carico di lavoro o struttura dell'organizzazione.
Asset: risorse di archiviazione, con dati archiviati in bucket Cloud Storage o set di dati BigQuery, collegate a una zona all'interno di un lake.
API Metadata
Utilizza l'API Dataplex Metadata per creare e gestire i metadati all'interno di entità e partizioni di tabelle e set di file. Dataplex analizza gli asset di dati, in un lake o forniti da te, per creare entità e partizioni. Le entità e le partizioni mantengono i riferimenti alle risorse e alle posizioni di archiviazione fisiche associate.
Concetti fondamentali
- Entità tabella:
Metadati per dati strutturati con schemi ben definiti. Le entità di tabella sono identificate in modo univoco dall'ID entità e dalla posizione dei dati. È possibile eseguire query sui metadati delle entità di tabella 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à set di file:
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 set di file ha un formato di dati.
- Partizioni:
Metadati per un sottoinsieme di dati all'interno di un'entità tabella o set di file, identificati da un insieme di coppie chiave/valore e una posizione dei dati.
Prova l'API
Utilizza le pagine di documentazione di riferimento dell'API Dataplex lakes.zones.entities e lakes.zones.partitions 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 le credenziali e poi visualizzare le risposte restituite dal servizio.
Le sezioni seguenti forniscono informazioni utili per comprendere e utilizzare le API Dataplex Metadata.
Entità
Elenco entità
Per limitare l'elenco di entità restituite dal servizio, aggiungi parametri di ricerca
filter
all'URL della richiesta list entities
.
Recupera entità
Per impostazione predefinita, la risposta Get Entity
contiene i metadati di base delle entità. Per recuperare metadati dello schema aggiuntivi, aggiungi il parametro di query view all'URL della richiesta.
Dettagli sulla compatibilità: sebbene i metadati di Dataplex siano registrati centralmente nell'API di metadati, solo i metadati delle tabelle di 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à, ad esempio se sei tu o Dataplex a gestirli.
- Questa API esegue una sostituzione completa di tutti i campi modificabili Entity. I seguenti campi Entity sono immutabili e, se li specifichi in una richiesta di aggiornamento, verranno ignorati:
- Specifica un valore per tutti i campi dell'entità mutabili, inclusi tutti i campi dello schema, anche se i valori non vengono modificati.
- Fornisci il campo etag. Puoi ottenere l'etag inviando prima una richiesta
entities.get,
che restituisce il
etag
dell'entità nella risposta. - Aggiornamento dei campi dello schema: puoi aggiornare lo schema della tabella rilevato da Dataplex per migliorarne l'accuratezza:
- Se lo schema è un set, lascia vuoti tutti i campi dello schema.
- Per definire un campo ripetuto, imposta mode su
REPEATED
. Per definire un campo di struct, imposta il tipo suRECORD
. - Puoi impostare il
userManaged
campo dello schema per specificare se sei tu o Dataplex a gestire i metadati della tabella. L'impostazione predefinita è Gestito da Dataplex. SeuserManaged
è impostato su true, questa impostazione è inclusa nelle informazioni restituite da una richiestaentities.get
se EntityView è impostato suSCHEMA
oFULL
.
- Aggiornamento dei campi della partizione:
- Per i dati partizionati in stile non Hive, il rilevamento Dataplex
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 semplificare le query, puoi aggiornarep0
,p1
ep2
inyear
,month
eday
rispettivamente. - Se aggiorni lo stile della partizione su stile HIVE, il campo della partizione è immutabile.
- Per i dati partizionati in stile non Hive, il rilevamento Dataplex
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 il rilevamento di Dataplex. Il rilevamento di Dataplex utilizzerà i nuovi valori alla successiva esecuzione.
Crea entità
Utilizza l'API entities.create
per creare entità di metadati di tabelle o set di file.
Compila i campi obbligatori e facoltativi pertinenti oppure lascia che sia il servizio di scoperta Dataplex a compilare i campi facoltativi.
Elimina entità
- Fornisci il campo etag. Puoi ottenere l'etag inviando prima una richiesta
entities.get,
che restituisce il
etag
dell'entità nella risposta.
Se i dati sottostanti di una tabella o di un set di file in una zona non elaborata vengono eliminati, i metadati della tabella o del set di file vengono eliminati automaticamente al successivo controllo Discovery. Se i dati sottostanti di una tabella in una zona selezionata vengono eliminati, i metadati della tabella non vengono eliminati di conseguenza, ma viene segnalata un'azione relativa ai dati mancanti. Per risolvere il problema, elimina esplicitamente l'entità dei metadati della tabella tramite l'API di metadati.
Partizioni
Elenca partizioni
Per limitare l'elenco delle partizioni restituite dal servizio, aggiungi 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 alla fine dell'URL i valori della chiave della partizione, formattati in modo da essere visualizzati 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 sottoposti a doppia codifica. 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 name 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 obbligatorio
location
con un percorso Cloud Storage.
Eliminare la partizione
Completa l'URL della richiesta aggiungendo alla fine dell'URL della richiesta i valori della chiave di partizione, formattati in modo da essere visualizzati 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 standard
RFC-1034
o devono essere sottoposti a doppia codifica, ad esempio US:/CA#/Sunnyvale
come US%3A/CA%3A/Sunnyvale
.
Passaggi successivi
- Scopri di più su come accedere ai metadati in Apache Spark.