Dopo aver creato un servizio Dataproc Metastore, puoi collegare uno dei seguenti servizi:
- Un cluster Managed Service per Apache Spark.
- Un'istanza Apache Hive autogestita, un'istanza Apache Spark o un cluster Presto.
Dopo aver connesso uno di questi servizi, utilizza il servizio Dataproc Metastore come metastore Hive durante l'esecuzione delle query.
Prima di iniziare
- Abilita Dataproc Metastore nel tuo progetto.
- Crea un servizio Dataproc Metastore.
- Comprendere i requisiti di networking specifici per il tuo progetto.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare un cluster Dataproc Metastore e Managed Service for Apache Spark, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Per concedere il controllo completo delle risorse Dataproc Metastore, esegui una delle seguenti operazioni:
-
Editor Dataproc Metastore (
roles/metastore.editor) sull'account utente o sul account di servizio -
Dataproc Metastore Admin (
roles/metastore.admin) sull'account utente o sul account di servizio
-
Editor Dataproc Metastore (
-
Per creare un cluster Managed Service per Apache Spark:
(
roles/dataproc.worker) sul service account VM Managed Service per Apache Spark -
Per concedere le autorizzazioni di lettura e scrittura alla directory del warehouse Hive:
(
roles/storage.objectAdmin) sul service account VM di Managed Service for Apache Spark
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare un cluster Dataproc Metastore e Managed Service for Apache Spark. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare un cluster Dataproc Metastore e Managed Service for Apache Spark sono necessarie le seguenti autorizzazioni:
-
Per creare un Dataproc Metastore:
metastore.services.createsull'account utente o sul account di servizio -
Per creare un cluster Managed Service per Apache Spark:
dataproc.clusters.createsull'account utente o sul account di servizio -
Per accedere alla directory del warehouse Hive:
sul service account VM di Managed Service per Apache Sparkorgpolicy.policy.get1,resourcemanager.projects.get,resourcemanager.projects.list,storage.objects.*,storage.multipartUploads.*
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Per saperne di più su ruoli e autorizzazioni specifici di Dataproc Metastore, consulta Gestire l'accesso con IAM.Cluster Managed Service per Apache Spark
Managed Service for Apache Spark è un servizio Apache Spark e Apache Hadoop gestito che ti consente di sfruttare gli strumenti per i dati open source per elaborazione batch, esecuzione di query, inserimento di flussi e machine learning.
Considerazioni
Prima di creare e collegare un cluster Managed Service for Apache Spark, controlla quale protocollo endpoint utilizza il servizio Dataproc Metastore. Questo protocollo definisce il modo in cui i client Hive Metastore accedono ai metadati archiviati in Dataproc Metastore. Questa scelta può influire anche sulle funzionalità che puoi integrare e utilizzare con il tuo servizio.
Apache Thrift
Se utilizzi il protocollo dell'endpoint Apache Thrift, considera i seguenti requisiti di rete:
Per impostazione predefinita, devi creare il cluster Managed Service for Apache Spark e il servizio Dataproc Metastore sulla stessa rete. Il tuo cluster Managed Service for Apache Spark può utilizzare anche una subnet della rete del servizio Dataproc Metastore.
Se il cluster Managed Service per Apache Spark appartiene a un progetto diverso dalla rete, devi configurare le autorizzazioni di rete condivisa.
Se il cluster Managed Service per Apache Spark appartiene a un progetto diverso dal servizio Dataproc Metastore, devi configurare autorizzazioni aggiuntive prima di creare un cluster Managed Service per Apache Spark.
gRPC
Se utilizzi il protocollo dell'endpoint gRPC, tieni presente i seguenti requisiti di rete:
Dopo aver creato un Dataproc Metastore utilizzando il protocollo dell'endpoint gRPC, devi concedere ruoli IAM aggiuntivi.
Se utilizzi l'autenticazione cluster personale Dataproc, Dataproc Metastore deve utilizzare il protocollo dell'endpoint gRPC.
Se il cluster Managed Service per Apache Spark appartiene a un progetto diverso dal servizio Dataproc Metastore, devi configurare autorizzazioni aggiuntive prima di creare un cluster Managed Service per Apache Spark.
Crea un cluster e collega un Dataproc Metastore
Le seguenti istruzioni mostrano come creare un cluster Managed Service per Apache Spark e connettersi a quest'ultimo da un servizio Dataproc Metastore. Queste istruzioni presuppongono che tu abbia già creato un servizio Dataproc Metastore.
- Prima di creare il cluster Managed Service per Apache Spark, assicurati che l'immagine di Managed Service per Apache Spark che scegli sia compatibile con la versione del metastore Hive che hai selezionato quando hai creato Dataproc Metastore. Per saperne di più, consulta l'elenco delle versioni delle immagini di Managed Service per Apache Spark.
Per ottimizzare la connettività di rete, crea il cluster Managed Service for Apache Spark nella stessa regione del servizio Dataproc Metastore.
Console
Nella console Google Cloud , apri la pagina Crea un cluster di Managed Service per Apache Spark:
Nel campo Nome cluster, inserisci un nome per il cluster.
Per i menu Regione e Zona, seleziona la stessa regione in cui hai creato il servizio Dataproc Metastore. Puoi scegliere qualsiasi zona.
Fai clic sulla scheda Personalizza cluster.
Nella sezione Configurazione di rete, seleziona la stessa rete in cui hai creato il servizio Dataproc Metastore.
Nella sezione Dataproc Metastore, seleziona il servizio Dataproc Metastore che vuoi collegare. Se non ne hai ancora creato uno, puoi selezionare Crea nuovo servizio.
(Facoltativo) Se il servizio Dataproc Metastore utilizza il protocollo dell'endpoint gRPC:
- Fai clic sulla scheda Gestisci sicurezza.
- Nella sezione Accesso al progetto, seleziona Abilita l'ambito cloud-platform per questo cluster.
Configura le restanti opzioni di servizio in base alle tue esigenze.
Per creare il cluster, fai clic su Crea.
Il nuovo cluster viene visualizzato nell'elenco Cluster. Lo stato del cluster è indicato come Provisioning in corso finché il cluster non è pronto per l'uso. Quando è pronto per l'uso, lo stato diventa In esecuzione.
Interfaccia a riga di comando gcloud
Per creare un cluster e collegare un servizio Dataproc Metastore, esegui il
seguente comando gcloud dataproc clusters create:
gcloud dataproc clusters create CLUSTER_NAME \
--dataproc-metastore=projects/PROJECT_ID/locations/LOCATION/services/SERVICE \
--region=LOCATION \
--scopes=SCOPESSostituisci quanto segue:
CLUSTER_NAME: il nome del nuovo cluster Managed Service per Apache Spark.PROJECT_ID: l'ID progetto del progetto in cui hai creato il servizio Dataproc Metastore.LOCATION: la stessa regione in cui hai creato il servizio Dataproc Metastore.SERVICE: il nome del servizio Dataproc Metastore che colleghi al cluster.SCOPES: (facoltativo) se il servizio Dataproc Metastore utilizza il protocollo dell'endpoint gRPC, utilizzacloud-platform.
REST
Segui le istruzioni dell'API per creare un cluster utilizzando Explorer API.
Collega un cluster utilizzando le proprietà del cluster Managed Service per Apache Spark
Puoi anche collegare un cluster Managed Service per Apache Spark a un Dataproc Metastore
utilizzando le proprietà di Managed Service per Apache Spark.
Queste proprietà includono ENDPOINT_URI e WAREHOUSE_DIR di Dataproc Metastore.
Segui queste istruzioni se il tuo servizio Dataproc Metastore utilizza Private Service Connect o se vuoi collegare un cluster Managed Service for Apache Spark alla versione ausiliaria del tuo servizio Dataproc Metastore.
Esistono due modi per collegare un cluster Managed Service per Apache Spark utilizzando le proprietà
ENDPOINT_URI e WAREHOUSE_DIR:
Opzione 1: durante la creazione di un cluster Managed Service per Apache Spark
Quando crei un cluster Managed Service per Apache Spark, utilizza il flag delle proprietà con la seguente configurazione Hive.
gcloud dataproc clusters create CLUSTER_NAME \
--properties="hive:hive.metastore.uris=ENDPOINT_URI,hive:hive.metastore.warehouse.dir=WAREHOUSE_DIR/hive-warehouse"Sostituisci quanto segue:
CLUSTER_NAME: il nome del nuovo cluster Managed Service per Apache Spark.ENDPOINT_URI: l'URI dell'endpoint del tuo servizio Dataproc Metastore.WAREHOUSE_DIR: la posizione della directory del warehouse Hive.
Opzione 2: aggiorna il file hive-site.xml
Puoi anche collegare un cluster Managed Service per Apache Spark modificando direttamente il file
hive-site.xml del cluster.
- Connettiti al cluster
.*-mtramite SSH. Apri il file
/etc/hive/conf/hive-site.xmle modifica le seguenti righe:<property> <name>hive.metastore.uris</name> <!-- Update this value. --> <value>ENDPOINT_URI</value> </property> <!-- Add this property entry. --> <property> <name>hive.metastore.warehouse.dir</name> <value>WAREHOUSE_DIR</value> </property>Sostituisci quanto segue:
ENDPOINT_URI: l'URI dell'endpoint del tuo servizio Dataproc Metastore.WAREHOUSE_DIR: la posizione della directory del warehouse Hive.
Riavvia HiveServer2:
sudo systemctl restart hive-server2.service
Cluster autogestiti
Un cluster autogestito può essere un'istanza Apache Hive, un'istanza Apache Spark o un cluster Presto.
Collega un cluster autogestito
Imposta i seguenti valori nel file di configurazione del client:
hive.metastore.uris=ENDPOINT_URIhive.metastore.warehouse.dir=WAREHOUSE_DIR
Sostituisci quanto segue:
ENDPOINT_URI: l'URI dell'endpoint del tuo servizio Dataproc Metastore.WAREHOUSE_DIR: la posizione della directory del warehouse Hive.
Passaggi successivi
- Guida rapida per il deployment di Dataproc Metastore
- Panoramica di Dataproc Metastore
- Panoramica di Managed Service per Apache Spark