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 relativi limiti, consulta Informazioni sulla 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 quanto segue:
- Abilita l'API BigQuery nel progetto che contiene l'origine BigQuery.
- Abilita l'API Resource Manager.
- (Facoltativo) Se utilizzi un lake Dataplex come origine per la federazione (anteprima), completa quanto segue:
- 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 di Dataproc Metastore:
Editor di Dataproc Metastore (
roles/metastore.editor
) nell'account utente o nell'account di servizio -
Per completare le operazioni sui metadati in un Dataproc Metastore configurato con un servizio di federazione:
Proprietario del metastore (
metastore.metadataEditor
) nell'account utente o nell'account di servizio -
Per creare un cluster Dataproc:
Worker Dataproc (
roles/dataproc.worker
) nell'account di servizio VM Dataproc - (Facoltativo) Per accedere ai set di dati BigQuery: Utilizza un ruolo BigQuery predefinito appropriato per il tuo caso d'uso nell'account utente o nell'account di servizio
- (Facoltativo) Per accedere a Dataplex Lakes (anteprima): Utilizza un ruolo predefinito di Dataplex appropriato per il tuo caso d'uso nell'account utente o nell'account di servizio
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare un servizio di federazione e collegare un cluster Dataproc, in base al principio del privilegio minimo. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Le seguenti autorizzazioni sono necessarie per creare un servizio di federazione e collegare un cluster Dataproc, seguendo il principio del privilegio minimo:
-
Per creare un Dataproc Metastore:
metastore.services.create
nell'account utente o nell'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
nell'account utente o nell'account di servizio -
Per completare le operazioni sui metadati in un 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
nell'account utente o nell'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 a Dataplex Lakes (anteprima):
For more information, see Dataplex permissions
nell'account utente o nell'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 e collegarlo 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 federati.
Nella barra dei menu di 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 delle tue 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.
In Tipo di origine, seleziona l'origine della federazione.
Puoi scegliere un'istanza Dataproc Metastore, un progetto 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 il progetto contenente il Dataproc Metastore da utilizzare come origine.
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 il Dataproc Metastore da utilizzare come origine.
Per BigQuery. Nel campo Progetto selezionato, fai clic su Sfoglia e seleziona l'ID progetto del progetto contenente il set di dati BigQuery.
Per Dataplex (anteprima). Nel campo Progetto selezionato, fai clic su Sfoglia e seleziona l'ID progetto del progetto che contiene 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.
- Rimuovi un'origine da un servizio di federazione.
- Modificare l'ordinamento delle origini contenute in un servizio di federazione.
Eliminare definitivamente un servizio di federazione. Dopo aver eliminato un servizio, tutte le sue risorse vengono rilasciate.
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 federati.
Nella pagina dei servizi di metastore federati, fai clic sul nome del servizio da aggiornare.
Viene visualizzata 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 il seguente 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' Google Cloud ID progetto 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 di 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 viene specificato, il cluster utilizza il tuo account di servizio Compute Engine predefinito.FEDERATION_URI
: l'URI dell'endpoint del servizio di federazione.FEDERATION_VERSION
: la versione di Hive utilizzata dal tuo servizio di federazione.WAREHOUSE_DIR
: la directory del tuo Dataproc Metastore principale.