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 eseguire una delle seguenti operazioni:
- Visualizza, modifica ed elimina i metadati delle entità di tabelle e set di file
- Creare i propri metadati di entità per tabelle o set di file
Puoi anche analizzare i metadati Dataplex tramite uno dei seguenti metodi:
- Data Catalog per la ricerca e il tagging
- Dataproc Metastore e BigQuery per le tabelle elaborazione analitica e di query sui metadati
API Dataplex
Questa sezione riassume le API Dataplex e le risorse chiave associate.
API Control plane
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. Usa più zone all'interno di un lake per organizzare i dati in base all'idoneità, al carico di lavoro o alla struttura organizzativa.
Asset: Risorse di archiviazione, con dati archiviati in bucket Cloud Storage Set di dati BigQuery collegati 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 i dati asset, 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. I metadati dell'entità della tabella sono interrogabile in BigQuery e Dataproc Metastore:
- Oggetti Cloud Storage: metadati per oggetti Cloud Storage, a cui si accede tramite le API Cloud Storage.
- Tabelle BigQuery: metadati per BigQuery accessibili tramite le API BigQuery.
- Entità del set di file:
Metadati sui dati non strutturati, generalmente 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 identificati per un sottoinsieme di dati all'interno di un'entità tabella o set di file in base a un insieme di coppie chiave-valore e a una posizione dei dati.
Prova l'API
Utilizza le pagine di documentazione di riferimento delle 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 associato alla 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 di metadati di Dataplex.
Entità
Elenco entità
Per limitare l'elenco di entità restituite dal servizio, aggiungi parametri di query
filter
all'URL della richiesta list entities
.
Recupera entità
Per impostazione predefinita, la risposta Get Entity
contiene un'entità di base
metadati. Per recuperare altri metadati dello schema, aggiungi il metodo
visualizza
all'URL della richiesta.
Dettagli sulla compatibilità: mentre i metadati Dataplex
è registrato a livello centrale nell'API dei metadati, solo i metadati della tabella delle entità che
compatibile con BigQuery e Apache Hive Metastore.
in BigQuery e Dataproc Metastore.
L'API Get Entity
restituisce un
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 un aggiornamento richiesta, verranno ignorate:
- Specifica un valore per tutti i campi Entità modificabili, compresi tutti schema, anche se i valori non vengono modificati.
- Fornisci le
etichetta
. 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 dal
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
userManaged
campo dello schema per specificare se tu o Dataplex gestisce i metadati della tabella. L'impostazione predefinita è Dataplex gestito. Se il criteriouserManaged
viene impostato su true, questa impostazione è incluse nelle informazioni restituite da unentities.get
richiedi se EntityView è impostato suSCHEMA
oFULL
.
- Aggiornare i campi di partizione:
- Per dati partizionati in stile non Hive, rilevamento Dataplex
e genera automaticamente le chiavi di partizione. Ad esempio, per il percorso dati
gs://root/2020/12/31
, chiavi di partizionep0
,p1
ep2
sono generati. 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 dati partizionati in stile non Hive, rilevamento Dataplex
e genera automaticamente le chiavi di partizione. Ad esempio, per il percorso dati
- Aggiornamento di altri campi di metadati: puoi aggiornare i campi generati automaticamente. mimeType, CompressionFormat, CsvOptions e JsonOptions per facilitare il rilevamento di Dataplex. Dataplex utilizzerà nuovi valori durante la successiva esecuzione.
Crea entità
Utilizza l'API entities.create
per creare entità di metadati per tabelle o set di file.
Compila i campi facoltativi obbligatori e pertinenti o lascia che Dataplex
servizio di rilevamento, e compila 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, la tabella o i metadati del set di file vengono eliminati automaticamente al successivo Ricerca del rilevamento. Se i dati sottostanti di una tabella in una zona organizzata sono eliminati, i metadati della tabella non vengono eliminati di conseguenza, ma viene restituito viene segnalata l'azione sui dati. 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 query
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 il token
le coppie chiave-valore di partizione alla fine dell'URL, formattate per essere letti
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 il metodo
API partitions.create
. Specifica i campi obbligatori
località
campo 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.