Eseguire il deployment di un servizio Dataproc Metastore
Questa pagina mostra come creare un servizio Dataproc Metastore e connetterti a quest'ultimo da un cluster Managed Service for Apache Spark. Dopodiché, utilizzerai SSH per accedere al cluster, avviare un'istanza di Apache Hive ed eseguire alcune query di base.
Dataproc Metastore ti fornisce un metastore Hive (HMS) completamente compatibile, che è lo standard consolidato nell'ecosistema di big data open source per la gestione dei metadati tecnici. Questo servizio ti aiuta a gestire i metadati dei data lake e fornisce l'interoperabilità tra i vari strumenti di elaborazione dati che utilizzi.
Per seguire le indicazioni dettagliate per questa attività direttamente nella Google Cloud console, fai clic su Procedura guidata:
Prima di iniziare
- Accedi al tuo Google Cloud account. Se non hai mai utilizzato Google Cloud, crea un account per valutare il rendimento dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Dataproc Metastore, Dataproc APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Dataproc Metastore, Dataproc APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
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 l'accesso completo a tutte le risorse Dataproc Metastore, inclusa l'impostazione delle autorizzazioni IAM:
(
roles/metastore.admin) sull'account utente o sul account di servizio -
Per concedere il controllo completo delle risorse Dataproc Metastore:
Editor Dataproc Metastore (
roles/metastore.editor) sull'account utente o sul account di servizio -
Per creare un cluster Managed Service for Apache Spark:
(
roles/dataproc.worker) sul account di servizio
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 servizio Dataproc Metastore: metastore.services.create sull'account utente o sul account di servizio
-
Per creare un cluster Managed Service for Apache Spark:
Worker Managed Service for Apache Spark (
roles/dataproc.worker) sul account di servizio
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Per saperne di più sui ruoli e sulle autorizzazioni specifici di Dataproc Metastore, consulta Panoramica di IAM di Dataproc Metastore.Crea un servizio Dataproc Metastore
Le seguenti istruzioni mostrano come creare un servizio Dataproc Metastore di base utilizzando le impostazioni predefinite fornite.
Console
Nella Google Cloud console, vai alla pagina Dataproc Metastore.
Nel menu di navigazione, fai clic su + Crea.
Si apre la finestra di dialogo Crea servizio metastore.
Seleziona Dataproc Metastore 2.
Nel campo Nome servizio, inserisci
example-service.Nel campo Località dei dati, seleziona
us-central1.Per le altre opzioni di configurazione del servizio, utilizza i valori predefiniti forniti.
Per creare e avviare il servizio, fai clic su Invia.
Il nuovo servizio metastore viene visualizzato nella pagina Dataproc Metastore. Lo stato visualizza Creazione in corso finché il servizio non è pronto per l'uso. Quando è pronto, lo stato cambia in Attivo. Il provisioning del servizio potrebbe richiedere un paio di minuti.
Lo screenshot seguente mostra un esempio della pagina Crea servizio che utilizza alcuni dei valori predefiniti forniti.

gcloud CLI
gcloud metastore services create example-service \
--location=us-central1 \
--instance-size=MEDIUMREST
Segui le istruzioni dell'API per creare un servizio utilizzando Explorer API.
Crea un cluster Managed Service for Apache Spark e connettiti a Dataproc Metastore
Ora crea un cluster Managed Service for Apache Spark e connettiti al metastore dal cluster. Dopodiché, il cluster utilizza il servizio metastore come HMS. Il cluster che crei qui utilizza le impostazioni predefinite fornite.
Console
Nella Google Cloud console, vai alla pagina Cluster Dataproc.
Nella barra di navigazione, seleziona + Crea cluster.
Si apre la finestra di dialogo Crea un cluster che offre diverse scelte di infrastruttura tra cui scegliere.
Nella riga Cluster su Compute Engine, seleziona Crea.
Si apre la pagina Crea un cluster Managed Service for Apache Spark su Compute Engine.
Nel campo Nome cluster, inserisci
example-cluster.Nei menu Regione e Zona, seleziona
us-central1.Per le altre opzioni di Configurazione cluster, utilizza i valori predefiniti forniti.
Nel menu di navigazione, fai clic sulla scheda Personalizza cluster (facoltativo).
Nella sezione Dataproc Metastore, seleziona il servizio metastore che hai creato in precedenza.
Se hai seguito questo tutorial così com'è, il nome è
example-service.Per le altre opzioni di configurazione del servizio, utilizza i valori predefiniti forniti.
Per creare il cluster, fai clic su Crea.
Il nuovo cluster viene visualizzato nell'elenco Cluster. Lo stato del cluster visualizza Provisioning in corso finché il cluster non è pronto per l'uso. Quando è pronto, lo stato cambia in Attivo. Il provisioning del cluster potrebbe richiedere un paio di minuti.
gcloud CLI
Per creare un cluster utilizzando le impostazioni predefinite fornite, esegui il
seguente gcloud dataproc clusters create
comando:
gcloud dataproc clusters create example-cluster \
--dataproc-metastore=projects/PROJECT_ID/locations/us-central1/services/example-service \
--region=us-central1Sostituisci PROJECT_ID con l'ID progetto del
progetto in cui hai creato il servizio Dataproc Metastore.
REST
Segui le istruzioni dell'API per creare un cluster utilizzando Explorer API.
Connettiti ad Apache Hive con un cluster Managed Service for Apache Spark
I passaggi successivi mostrano come eseguire alcuni comandi di esempio in Apache Hive per creare un database e una tabella.
Ora apri una sessione SSH sul cluster Managed Service for Apache Spark e avvia una sessione Hive.
- Nella Google Cloud console, vai alla pagina Istanze VM.
- Nell'elenco delle istanze della macchina virtuale, fai clic su SSH accanto a
example-cluster.
Si apre una finestra del browser nella tua home directory sul nodo con un output simile al seguente:
Connected, host fingerprint: ssh-rsa ...
Linux cluster-1-m 3.16.0-0.bpo.4-amd64 ...
...
example-cluster@cluster-1-m:~$
Per avviare Hive e creare un database e una tabella, esegui i seguenti comandi nella sessione SSH:
Avvia Hive.
hiveCrea un database denominato
myDatabase.create database myDatabase;Mostra il database che hai creato.
show databases;Utilizza il database che hai creato.
use myDatabase;Crea una tabella denominata
myTable.create table myTable(id int,name string);Elenca le tabelle in
myDatabase.show tables;Descrivi lo schema della tabella che hai creato.
desc MyTable;
L'esecuzione di questi comandi mostra un output simile al seguente:
$hive
hive> show databases;
OK
default
hive> create database myDatabase;
OK
hive> use myDatabase;
OK
hive> create table myTable(id int,name string);
OK
hive> show tables;
OK
myTable
hive> desc myTable;
OK
id int
name string
Libera spazio
Per evitare che al tuo Google Cloud account vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.
- Nella Google Cloud console, vai alla pagina Gestisci risorse.
- Se il progetto che intendi eliminare è collegato a un'organizzazione, espandi l'elenco Organizzazione nella colonna Nome.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID progetto, quindi fai clic su Chiudi per eliminare il progetto.
In alternativa, puoi eliminare le risorse utilizzate in questo tutorial:
Elimina il servizio Dataproc Metastore.
Console
Nella Google Cloud console, apri la pagina Dataproc Metastore:
Nell'elenco dei servizi, seleziona
example-service.Nella barra di navigazione, fai clic su Elimina.
Si apre la finestra di dialogo Elimina servizio.
Nella finestra di dialogo, fai clic su Elimina.
Il servizio non viene più visualizzato nell'Elenco servizi.
gcloud CLI
Per eliminare il servizio, esegui il seguente comando
gcloud metastore services delete.gcloud metastore services delete example-service \ --location=us-central1REST
Segui le istruzioni dell'API per eliminare un servizio utilizzando Explorer API.
Tutte le eliminazioni vengono eseguite immediatamente.
Elimina il bucket Cloud Storage per il servizio Dataproc Metastore.
Elimina il cluster Managed Service for Apache Spark che utilizzava il servizio Dataproc Metastore.