Questa guida descrive i metadati Dataplex e come puoi utilizzare le API Dataplex per gestirli.
Panoramica
Dataplex analizza quanto segue:
- Asset di dati strutturati e semistrutturati all'interno dei data lake, per estrarre i metadati delle tabelle
- 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 Metadata per eseguire una delle seguenti operazioni:
- Visualizza, modifica ed elimina i metadati delle entità tabella e set di file
- Crea i tuoi metadati dell'entità della tabella o del 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 l'elaborazione di query ed analisi dei metadati delle tabelle
API Dataplex
Questa sezione riassume le API Dataplex e le risorse chiave.
API Control Plane
L'API del piano di controllo Dataplex consente di creare e gestire risorse lake, zone e asset.
Lake: un'istanza di servizio Dataplex 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 all'idoneità, al carico di lavoro o alla struttura organizzativa.
Asset: risorse di archiviazione, con dati archiviati nei 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 da te, per creare entità e partizioni. Le entità e le partizioni mantengono i riferimenti agli asset associati e alle posizioni di archiviazione fisica.
Concetti fondamentali
- Entità della tabella:
Metadati per dati strutturati con schemi ben definiti. Le entità della tabella sono identificate in modo univoco in base all'ID entità e alla località dei dati. Puoi eseguire query sui metadati delle entità della tabella 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 le tabelle BigQuery, a cui si accede tramite le API BigQuery.
- Entità set di file:
Metadati sui dati non strutturati, in genere senza schema. I set di file sono identificati in modo univoco in base all'ID entità e alla località dei dati. Ogni set di file ha un formato dei dati.
- Partizioni:
Metadati di un sottoinsieme di dati all'interno di un'entità tabella o set di file, identificati da un insieme di coppie chiave-valore e da una posizione dei dati.
Prova l'API
Utilizza le pagine della 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 ciascun metodo API per effettuare richieste API utilizzando parametri e campi diversi. Puoi creare, visualizzare e inviare le tue richieste senza dover generare credenziali, quindi visualizzare le risposte restituite dal servizio.
Le seguenti sezioni forniscono informazioni utili per comprendere e utilizzare le API Dataplex Metadata.
Entità
Elenca entità
Per limitare l'elenco di entità restituite dal servizio, aggiungi i parametri di ricerca di filtro all'URL della richiesta list entities
.
Ottieni entità
Per impostazione predefinita, la risposta Get Entity
contiene metadati dell'entità di base. Per recuperare ulteriori metadati dello schema, aggiungi il parametro di query view all'URL della richiesta.
Dettagli di compatibilità: sebbene i metadati Dataplex siano registrati a livello centrale nell'API dei metadati, solo i metadati della tabella 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 gestirete i metadati delle entità.
- Questa API sostituisce completamente tutti i campi Entità mutabili. I seguenti campi Entità sono immutabili e, se li specifichi in una richiesta di aggiornamento, verranno ignorati:
- Specifica un valore per tutti i campi delle 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 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 di file, lascia vuoti tutti i campi dello schema.
- Per definire un campo ripetuto, imposta la modalità su
REPEATED
. Per definire un campo struct, imposta il type suRECORD
. - Puoi impostare il campo
userManaged
dello schema per specificare se i metadati della tabella sono gestiti da te o da Dataplex. L'impostazione predefinita è gestita da Dataplex. SeuserManaged
è impostato su true, questa impostazione viene 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 Dataplex genera automaticamente le chiavi di partizione. Ad esempio, per il percorso dati
gs://root/2020/12/31
, vengono generate le chiavi di partizionep0
,p1
ep2
. Per rendere le query più intuitive, puoi aggiornarep0
,p1
ep2
rispettivamente inyear
,month
eday
. - Se aggiorni lo stile della partizione in 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 dati
- Aggiornamento di altri campi di metadati: puoi aggiornare i campi generati automaticamente mimeType, CompressionFormat, <a\ l10n-encrypted-href="4j47fNIJx6fHidLzUB36HWsP3kvJXL0i3UcbX/IwKQtqc4criDhrFJJZ9ixDkxAsl e i campi DataplexJsonOptions Il rilevamento Dataplex utilizzerà nuovi valori alla prossima esecuzione. </a\>
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 il servizio di rilevamento Dataplex compili 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 un set di file in una zona non elaborata vengono eliminati, i metadati della tabella o del set di file vengono eliminati automaticamente alla successiva scansione del rilevamento. 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 sui dati mancante. Per risolvere il problema, elimina in modo esplicito l'entità metadati della tabella tramite l'API metadata.
Partizioni
Elenca partizioni
Per limitare l'elenco delle partizioni restituite dal servizio, aggiungi i parametri di ricerca di filtro 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 delle chiavi di partizione alla fine dell'URL, in formato
partitions/value1/value2/…./value10
.
Esempio: se una partizione contiene valori {Country=US, State=CA, City=Sunnyvale}
,
l'URL della richiesta get deve terminare con /partitions/US/CA/Sunnyvale
.
Importante: i valori dell'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
conserva 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.
Elimina partizione
Completa l'URL della richiesta aggiungendo i valori delle chiavi di partizione alla fine dell'URL della richiesta, nel formato partitions/value1/value2/…./value10
.
Esempio: se una partizione contiene valori {Country=US, State=CA, City=Sunnyvale}
,
l'URL della richiesta deve terminare con /partitions/US/CA/Sunnyvale
.
Importante: i valori dell'URL aggiunto devono essere conformi a RFC-1034 oppure devono essere codificati due volte, ad esempio US:/CA#/Sunnyvale
come US%3A/CA%3A/Sunnyvale
.
Che cosa succede dopo?
- Scopri di più sull'accesso ai metadati in Apache Spark.