La federazione dei metadati è un servizio che ti consente di accedere a più origini di metadati da un singolo endpoint.
Per configurare la federazione, crea un servizio di federazione e poi configura le origini dei metadati. Successivamente, il servizio espone un singolo endpoint gRPC che puoi utilizzare per accedere a tutti i tuoi metadati.
Ad esempio, mediante la federazione, puoi creare un cluster Dataproc che espone più servizi Dataproc Metastore tramite una un singolo endpoint. In seguito, potrai eseguire job di big data tramite open source motori software (OSS), come Spark o Hive, per accedere ai metadati più metastore.
Come funziona la federazione
I carichi di lavoro di big data OSS eseguiti su Spark o Hive inviano richieste all'API Hive Metastore per recuperare i metadati in fase di esecuzione.
- L'interfaccia di Hive Metastore supporta sia i metodi di lettura che di scrittura. Il servizio di federazione espone una richiesta gRPC dell'interfaccia di Hive Metastore.
- In fase di runtime, quando il servizio di federazione riceve una richiesta, controlla ordinare di origine per recuperare i metadati appropriati.
Origini metadati
Quando crei un servizio di federazione, devi aggiungere un'origine di metadati. Puoi usare le seguenti origini come metastore di backend:
- Un'istanza Dataproc Metastore.
- Un progetto contenente uno o più set di dati BigQuery.
- Un lake Dataplex (anteprima).
Restrizioni relative alle fonti
La sezione seguente elenca le limitazioni da rispettare quando si utilizzano varie origini di metadati.
Tutte le fonti
Le seguenti limitazioni si applicano a tutte le origini di metadati:
- Un servizio di federazione non contiene i propri dati. Invece, la federazione fornisce solo i metadati da una delle sue origini di metadati.
- Un servizio di federazione non può essere una fonte di metadati in un altro servizio di federazione.
Dataproc Metastore
Se utilizzi Dataproc Metastore come origine, quanto segue con limitazioni:
- I servizi di federazione sono disponibili solo tramite endpoint gRPC. Per utilizzare un Dataproc Metastore con la federazione, crea il metastore con un endpoint gRPC.
- I servizi di federazione possono essere collegati a Dataproc Metastore a regione singola in ogni singola regione. I servizi di federazione non supportano Dataproc Metastore in più regioni.
BigQuery
Se utilizzi un progetto che contiene set di dati BigQuery come devi soddisfare le seguenti condizioni:
- Concedi i ruoli IAM corretti per accedere al progetto contenente i set di dati BigQuery.
- Aggiungi almeno un servizio Dataproc Metastore come origine, insieme ai tuoi set di dati BigQuery.
Dataplex Lakes
- Concedi un ruolo IAM contenente l'autorizzazione
dataplex.lakes.get
. - Aggiungi almeno un servizio Dataproc Metastore come origine, insieme al tuo lake Dataplex.
Ordinamento delle origini
Il servizio di federazione elabora le richieste di metadati in un ordine di priorità. Questo concetto è noto come ordinamento delle origini. In fase di runtime, quando il servizio di federazione riceve una richiesta, controlla l'ordine dell'origine e completa uno le seguenti azioni:
- Se la richiesta contiene il nome di un database. La richiesta viene instradata al metastore di backend che contiene il nome del database. Se più di un metastore contiene lo stesso nome del database, la richiesta viene indirizzata al metastore con il ranking più basso.
- Se la richiesta crea o elimina un database. La richiesta viene indirizzata a metastore con il ranking più basso.
- Se la richiesta non contiene il nome di un database e non crea o elimina un database. La richiesta viene indirizzata all'istanza Dataproc Metastore con il ranking più basso. Alcuni
esempi di richieste Hive Metastore che non specificano un database sono
set_ugi
ecreate_database
. - Se nessuno dei metastore contiene un database. Il motore OSS risponde con l'equivalente di un errore "non trovato".