Questa pagina spiega come creare un servizio di federazione dei metadati per Dataproc Metastore. Un servizio di federazione ti consente di accedere ai metadati memorizzati in più origini da un singolo endpoint gRPC.
Per ulteriori informazioni sul funzionamento della federazione e sui suoi limiti, consulta Informazioni federazione dei metadati.
Prima di iniziare
- Abilita Dataproc Metastore.
- Crea un servizio Dataproc Metastore che utilizza l'endpoint gRPC.
- (Facoltativo) Se utilizzi un'origine BigQuery per la federazione,
completa i seguenti passaggi:
- Abilita l'API BigQuery nel progetto che contiene l'origine BigQuery.
- Attiva l'API Resource Manager.
- (Facoltativo) Se utilizzi un lake Dataplex come origine per la federazione (anteprima),
completa i seguenti passaggi:
- Abilita l'API Dataplex nel progetto che contiene un lake Dataplex come origine.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare un servizio di federazione e collegare un cluster Dataproc, in base al principio del privilegio minimo, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Per accedere al servizio di federazione:
Accessore di federazione (
roles/metastore.federationAccessor
) nell'account utente o nell'account di servizio -
Per concedere il controllo completo di tutte le risorse Dataproc Metastore:
Editor Dataproc Metastore (
roles/metastore.editor
) sull'account utente o sull'account di servizio -
Per completare le operazioni sui metadati su un Dataproc Metastore configurato con un servizio di federazione:
Proprietario Metastore (
metastore.metadataEditor
) sull'account utente o sull'account di servizio -
Per creare un cluster Dataproc:
Worker Dataproc (
roles/dataproc.worker
) sull'account di servizio VM Dataproc - (Facoltativo) Per accedere ai set di dati BigQuery: Utilizza un ruolo predefinito di BigQuery appropriato applicabile al tuo caso d'uso sull'account utente o sull'account di servizio
- (Facoltativo) Per accedere ai lake Dataplex (anteprima): Utilizza un ruolo predefinito di Dataplex appropriato per il tuo caso d'uso sull'account utente o sull'account di servizio
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti le autorizzazioni necessarie per creare un servizio di federazione e collegare un cluster Dataproc, secondo il principio del privilegio minimo. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per creare un servizio di federazione e collegare un cluster Dataproc, sono necessarie le seguenti autorizzazioni, secondo il principio del privilegio minimo:
-
Per creare un Dataproc Metastore:
metastore.services.create
sull'account utente o sull'account di servizio -
Per elencare, recuperare, creare, aggiornare ed eliminare un servizio di federazione:
metastore.federations.create, metastore.federations.update, metastore.federations.delete, metastore.federations.get metastore.federations.list
sull'account utente o sull'account di servizio -
Per completare le operazioni sui metadati su Dataproc Metastore:
metastore.services.get, metastore.services.use, metastore.databases.create, metastore.databases.update, metastore.databases.deletemetastore.databases.get,metastore.databases.list, metastore.databases.getIamPolicy, metastore.tables.create, metastore.tables.update, metastore.tables.delete, metastore.tables.get, metastore.tables.list, metastore.tables.getIamPolicy
sull'account utente o sull'account di servizio -
(Facoltativo) Per accedere ai set di dati BigQuery:
For more information, see BigQuery permissions
nell'account utente o nell'account di servizio -
(Facoltativo) Per accedere ai lake Dataplex (anteprima):
For more information, see Dataplex permissions
sull'account utente o sull'account di servizio
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Per ulteriori informazioni su ruoli e autorizzazioni specifici di Dataproc Metastore, consulta Gestire l'accesso a Dataproc Metastore con IAM.Crea un servizio di federazione
Le istruzioni riportate di seguito mostrano come creare un servizio di federazione a un'origine. Dopo aver completato questi passaggi, puoi collegare il servizio di federazione a un cluster Dataproc.
Per scoprire di più sulle origini di federazione e sulle relative limitazioni, consulta le origini dei metadati.
Console
Nella console Google Cloud, apri la pagina Dataproc Metastore:
Nel menu di navigazione di Dataproc, fai clic su Federazione.
Si apre la pagina dei servizi di metastore Federated.
Nella barra dei menu del metastore Federated, fai clic su Crea.
Viene visualizzata la pagina Crea servizio di federazione.
Nel campo Nome federazione, inserisci un nome univoco per il servizio.
Per ulteriori informazioni, consulta la convenzione di denominazione delle risorse.
Seleziona Località dei dati.
Assicurati di creare il servizio di federazione nelle stesse regioni del tuo Origini Dataproc Metastore.
Seleziona la versione di Hive.
Per aggiungere un'origine per il servizio di federazione, fai clic su Aggiungi un'origine.
Puoi aggiungere una o più origini. La prima origine aggiunta in questo elenco viene impostata automaticamente come metastore principale. Puoi aggiornare l'ordine delle origini dopo la creazione.
Per Tipo di origine, seleziona l'origine della federazione.
Puoi scegliere un'istanza Dataproc Metastore, un'istanza contenente uno o più set di dati BigQuery, o un lake Dataplex (anteprima).
Nel campo Origine, inserisci le seguenti informazioni:
Per un servizio Dataproc Metastore.
Nel campo Progetto selezionato, fai clic su Sfoglia e seleziona nel progetto che contiene Dataproc Metastore vuoi usare come fonte.
Assicurati che le origini Dataproc Metastore utilizzino una versione di Hive compatibile con il tuo servizio di federazione. Il metastore principale deve utilizzare una versione di Hive maggiore o uguale a quella del servizio di federazione.
Nel menu a discesa Servizio Metastore, seleziona la Dataproc Metastore da utilizzare come origine.
Per BigQuery. Nel campo Progetto selezionato, fai clic su Sfoglia e seleziona L'ID del progetto che contiene il set di dati BigQuery.
Per Dataplex (anteprima). Nel campo Progetto selezionato, fai clic su Sfoglia e seleziona l'ID progetto del progetto contenente il lake Dataplex.
Fai clic su Fine.
Per creare e avviare il servizio, fai clic su Invia.
Ora puoi collegare il servizio di federazione a un cluster Dataproc.
Aggiornare un servizio di federazione
Le istruzioni riportate di seguito mostrano come aggiornare un servizio di federazione. Puoi completare le seguenti attività:
- Aggiungi un'origine a un servizio di federazione.
- Rimuovere un'origine da un servizio di federazione.
- Modificare l'ordine delle origini contenute in un servizio di federazione.
Eliminare definitivamente un servizio di federazione. Dopo aver eliminato un servizio, vengono rilasciate le sue risorse.
Console
Nella console Google Cloud, apri la pagina Dataproc Metastore:
Nel menu di navigazione di Dataproc, fai clic su Federazione.
Si apre la pagina dei servizi di metastore Federated.
Nella pagina Federated metastore services, fai clic sul nome del componente nome del servizio che vuoi aggiornare.
Si apre la pagina Dettagli del servizio.
Nella barra dei menu, fai clic su Modifica.
Viene visualizzata la pagina Modifica servizio.
Scegli i valori da aggiornare.
Per aggiornare il servizio, fai clic su Invia.
Collega un cluster Dataproc a un servizio di federazione
Le istruzioni riportate di seguito mostrano come creare un cluster Dataproc e collegare un endpoint del servizio di federazione come metastore.
Prima di iniziare a seguire queste istruzioni, completa tutti i passaggi elencati in Prima di iniziare e crea un servizio di federazione.
Interfaccia a riga di comando gcloud
Per creare un cluster Dataproc e collegare un endpoint di federazione:
esegui questo comando gcloud Dataproc clusters create
.
gcloud dataproc clusters create CLUSTER_NAME \ --region=LOCATION \ --project=PROJECT_ID \ --scopes=https://www.googleapis.com/auth/cloud-platform \ --image-version=IMAGE_VERSION \ --service-account=SERVICE_ACCOUNT \ --optional-components=DOCKER \ --initialization-actions=gs://metastore-init-actions/metastore-grpc-proxy/metastore-grpc-proxy.sh \ --metadata="proxy-uri=FEDERATION_URI,hive-version=FEDERATION_VERSION" \ --properties="hive:hive.metastore.uris=thrift://localhost:9083,hive:hive.metastore.warehouse.dir=WAREHOUSE_DIR"
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del nuovo cluster Dataproc.PROJECT_ID
: l'ID progetto Google Cloud del progetto in cui stai creando il cluster Dataproc.LOCATION
: la regione del tuo cluster Dataproc.IMAGE_VERSION
: la versione dell'immagine Dataproc che vuoi utilizzare.Assicurati che l'immagine Dataproc utilizzata in questo comando sia compatibile con la versione Hive utilizzata con il servizio di federazione. Per ulteriori informazioni, consulta l'elenco delle versioni delle immagini Dataproc.
SERVICE_ACCOUNT
facoltativo: l'account di servizio che utilizzi per creare il cluster Dataproc. Se non specificato, il cluster utilizza il servizio Compute Engine predefinito .FEDERATION_URI
: l'URI dell'endpoint del servizio di federazione.FEDERATION_VERSION
: la versione Hive utilizzata non è utilizzato dal servizio di federazione.WAREHOUSE_DIR
: la directory del magazzino del tuo Dataproc Metastore principale.