Metadati Dataplex

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 su RECORD.
    • 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. Se userManaged è impostato su true, questa impostazione è inclusa nelle informazioni restituite da una richiesta entities.get se EntityView è impostato su SCHEMA o FULL.
  • 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 partizione p0, p1 e p2. Per semplificare le query, puoi aggiornare p0, p1 e p2 in year, month e day rispettivamente.
    • Se aggiorni lo stile della partizione su stile HIVE, il campo della partizione è immutabile.
  • 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