Esegui il deployment di un servizio Dataproc Metastore

Questa pagina mostra come creare un servizio Dataproc Metastore e connetterlo da un cluster Dataproc. Successivamente, accedi al cluster tramite SSH, avvia un'istanza di Apache Hive ed esegui alcune query di base.

Dataproc Metastore fornisce Hive Metastore (HMS) completamente compatibile, 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 tuoi data lake e fornisce l'interoperabilità tra i vari strumenti di elaborazione dei dati che utilizzi.


Per seguire le indicazioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Aiuto:

Aiuto


Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Abilita le API Dataproc Metastore, Dataproc.

    Abilita le API

  5. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  6. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  7. Abilita le API Dataproc Metastore, Dataproc.

    Abilita le API

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare un cluster Dataproc Metastore e un cluster Dataproc, 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 sull'account di servizio
  • Per concedere il controllo completo delle risorse Dataproc Metastore: Dataproc Metastore Editor (roles/metastore.editor) nell'account utente o nell'account di servizio
  • Per creare un cluster Dataproc: (roles/dataproc.worker) sull'account di servizio

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare un Dataproc Metastore e un cluster Dataproc. Per visualizzare le autorizzazioni necessarie, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per creare un Dataproc Metastore e un cluster Dataproc, sono necessarie le autorizzazioni seguenti:

  • Per creare un servizio Dataproc Metastore: metastore.services.create sull'account utente o sull'account di servizio
  • Per creare un cluster Dataproc: Dataproc worker (roles/dataproc.worker) sull'account di servizio

Potresti anche essere in grado di ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.

Per ulteriori informazioni su ruoli e autorizzazioni specifici di Dataproc Metastore, consulta Panoramica 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

  1. Nella console Google Cloud, vai alla pagina Dataproc Metastore.

    Vai a Dataproc Metastore

  2. Nel menu di navigazione, fai clic su +Crea.

    Viene visualizzata la finestra di dialogo Crea servizio Metastore.

  3. Seleziona Dataproc Metastore 2.

  4. Nel campo Nome servizio, inserisci example-service.

  5. Nel campo Posizione dei dati, seleziona us-central1.

  6. Per le restanti opzioni di configurazione del servizio, utilizza i valori predefiniti indicati.

  7. Per creare e avviare il servizio, fai clic su Invia.

Il nuovo servizio metastore viene visualizzato nella pagina Dataproc Metastore. Lo stato visualizzato è Creazione in corso finché il servizio non è pronto per l'uso. Quando è pronto, lo stato diventa Attivo. Il provisioning del servizio potrebbe richiedere un paio di minuti.

Il seguente screenshot mostra un esempio della pagina Crea servizio in cui vengono utilizzati alcuni dei valori predefiniti forniti.

La pagina Crea servizio.

Interfaccia a riga di comando gcloud

Per creare un servizio metastore utilizzando i valori predefiniti forniti, esegui il seguente comando gcloud metastore services create:

 gcloud metastore services create example-service \
     --location=us-central1 \
     --instance-size=MEDIUM

Questo comando crea un servizio denominato example-service nella regione predefinita (us-central1) con la dimensione dell'istanza predefinita (MEDIUM).

REST

Segui le istruzioni dell'API per creare un servizio utilizzando Explorer API.

Crea un cluster Dataproc e connettiti a Dataproc Metastore

In seguito, creerai un cluster Dataproc e ti connetterai al tuo metastore dal cluster. Dopodiché, il cluster utilizza il servizio metastore in quanto HMS. Il cluster che crei qui utilizza le impostazioni predefinite fornite.

Console

  1. Nella console Google Cloud, vai alla pagina Cluster Dataproc.

    Vai a Cluster Dataproc

  2. Nella barra di navigazione, seleziona + Crea cluster.

    Viene visualizzata la finestra di dialogo Crea un cluster, che offre molteplici opzioni di infrastruttura tra cui scegliere.

  3. Nella riga Cluster su Compute Engine, seleziona Crea.

    Si apre la pagina Crea un cluster Dataproc su Compute Engine.

  4. Nel campo Nome del cluster, inserisci example-cluster.

  5. Nei menu Regione e Zona, seleziona us-central1.

  6. Per le restanti opzioni di Configura cluster, utilizza i valori predefiniti forniti.

  7. Nel menu di navigazione, fai clic sulla scheda Personalizza cluster (facoltativo).

  8. Nella sezione Dataproc Metastore, seleziona il servizio metastore che hai creato in precedenza.

    Se hai seguito questo tutorial così com'è, si chiama example-service.

  9. Per le restanti opzioni di configurazione del servizio, utilizza i valori predefiniti forniti.

  10. Per creare il cluster, fai clic su Crea.

    Il nuovo cluster viene visualizzato nell'elenco Cluster. Lo stato del cluster mostra Provisioning finché il cluster non è pronto per l'uso. Quando è pronto, lo stato diventa Attivo. Il provisioning del cluster potrebbe richiedere un paio di minuti.

Interfaccia a riga di comando gcloud

Per creare un cluster utilizzando le impostazioni predefinite fornite, esegui il seguente comando gcloud dataproc clusters create:

 gcloud dataproc clusters create example-cluster \
    --dataproc-metastore=projects/PROJECT_ID/locations/us-central1/services/example-service \
    --region=us-central1

Sostituisci PROJECT_ID con l'ID 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 Dataproc

I passaggi successivi mostrano come eseguire alcuni comandi di esempio in Apache Hive per creare un database e una tabella.

Successivamente, apri una sessione SSH sul cluster Dataproc e avvia una sessione Hive.

  1. Nella console Google Cloud, vai alla pagina Istanze VM.
  2. Nell'elenco delle istanze di macchine virtuali, fai clic su SSH accanto a example-cluster.

Si apre una finestra del browser nella 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 questi comandi nella sessione SSH:

  1. Avvia Hive.

    hive
    
  2. Crea un database denominato myDatabase.

    create database myDatabase;
    
  3. Mostra il database che hai creato.

    show databases;
    
  4. Utilizza il database che hai creato.

    use myDatabase;
    
  5. Crea una tabella denominata myTable.

    create table myTable(id int,name string);
    
  6. Elenca le tabelle in myDatabase.

    show tables;
    
  7. 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

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.

  1. Nella console Google Cloud, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Se il progetto che vuoi eliminare è associato a un'organizzazione, espandi l'elenco Organizzazione nella colonna Nome.
  3. Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
  4. Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.

In alternativa, puoi eliminare le risorse utilizzate in questo tutorial:

  1. Eliminare il servizio Dataproc Metastore.

    Console

    1. Nella console Google Cloud, apri la pagina Dataproc Metastore:

      Vai a Dataproc Metastore

    2. Nell'elenco dei servizi, seleziona example-service.

    3. Nella barra di navigazione, fai clic su Elimina.

      Viene visualizzata la finestra di dialogo Elimina servizio.

    4. Nella finestra di dialogo, fai clic su Elimina.

      Il tuo servizio non comparirà più nell'elenco dei servizi.

    Interfaccia a riga di comando gcloud

    Per eliminare il servizio, esegui il comando gcloud metastore services delete seguente.

     gcloud metastore services delete example-service \
         --location=us-central1

    REST

    Segui le istruzioni dell'API per eliminare un servizio utilizzando Explorer API.

    Tutte le eliminazioni hanno esito positivo immediatamente.

  2. Elimina il bucket Cloud Storage per il servizio Dataproc Metastore.

  3. Elimina il cluster Dataproc che ha utilizzato il servizio Dataproc Metastore.

Passaggi successivi