Implantar um serviço do metastore do Dataproc

Esta página mostra como criar um serviço do metastore do Dataproc e se conectar a ele em um cluster do Dataproc. Depois, faça SSH no cluster, inicie uma instância do Apache Hive e execute algumas consultas básicas.

O Dataproc Metastore oferece um metastore Hive (HMS) totalmente compatível, que é o padrão estabelecido no ecossistema de Big Data de código aberto para gerenciamento de metadados técnicos. Esse serviço ajuda a gerenciar os metadados dos data lakes e oferece interoperabilidade entre as várias ferramentas de processamento de dados que você usa.


Para seguir as instruções passo a passo desta tarefa diretamente no console do Google Cloud, clique em Orientação:

Orientações


Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Dataproc Metastore, Dataproc APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Dataproc Metastore, Dataproc APIs.

    Enable the APIs

Papéis necessários

Para receber as permissões necessárias para criar uma metastore e um cluster do Dataproc, peça ao administrador para conceder a você os seguintes papéis do IAM:

  • Para conceder acesso total a todos os recursos do metastore do Dataproc, incluindo a configuração de permissões do IAM: (roles/metastore.admin) na conta de usuário ou de serviço
  • Para conceder controle total dos recursos do metastore do Dataproc: Editor do metastore do Dataproc (roles/metastore.editor) na conta de usuário ou de serviço
  • Para criar um cluster do Dataproc: (roles/dataproc.worker) na conta de serviço

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esses papéis predefinidos contêm as permissões necessárias para criar uma metastore e um cluster do Dataproc. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para criar um Dataproc Metastore e um cluster do Dataproc:

  • Para criar um serviço do Metastore do Dataproc: metastore.services.create na conta de usuário ou de serviço
  • Para criar um cluster do Dataproc: Dataproc worker (roles/dataproc.worker) na conta de serviço

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Para mais informações sobre papéis e permissões específicos do Dataproc Metastore, consulte Visão geral do IAM do Dataproc Metastore.

Criar um serviço Metastore do Dataproc

As instruções a seguir mostram como criar um serviço básico do metastore do Dataproc usando as configurações padrão fornecidas.

Console

  1. No console do Google Cloud, acesse a página Metastore do Dataproc.

    Acesse o metastore do Dataproc

  2. No menu de navegação, clique em +Criar.

    A caixa de diálogo Create Metastore service é aberta.

  3. Selecione Dataproc Metastore 2.

  4. No campo Nome da conta de serviço, insira example-service.

  5. No campo Local dos dados, selecione us-central1.

  6. Para as outras opções de configuração do serviço, use os padrões fornecidos.

  7. Para criar e iniciar o serviço, clique em Enviar.

O novo serviço de metastore aparece na página Metastore do Dataproc. O status Criando será exibido até que o serviço esteja pronto para uso. Quando estiver pronto, o status vai mudar para Ativo. O provisionamento do serviço pode levar alguns minutos.

A captura de tela a seguir mostra um exemplo da página Create service usando alguns dos padrões fornecidos.

Página "Criar serviço".

CLI da gcloud

Para criar um serviço de metastore usando os padrões fornecidos, execute o seguinte comando gcloud metastore services create:

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

Esse comando cria um serviço chamado example-service na região padrão (us-central1) e com o tamanho de instância padrão (MEDIUM).

REST

Siga as instruções da API para criar um serviço usando o APIs Explorer.

Criar um cluster do Dataproc e se conectar ao Dataproc Metastore

Em seguida, crie um cluster do Dataproc e se conecte ao metastore a partir dele. Depois disso, o cluster usa o serviço de metastore como HMS. O cluster criado aqui usa as configurações padrão fornecidas.

Console

  1. No console do Google Cloud, acesse a página Clusters do Dataproc.

    Acessar Clusters do Dataproc

  2. Na barra de navegação, selecione +Criar cluster.

    A caixa de diálogo Criar um cluster é aberta com várias opções de infraestrutura.

  3. Na linha Cluster no Compute Engine, selecione Criar.

    A página Criar um cluster do Dataproc no Compute Engine é aberta.

  4. No campo Nome do cluster, insira example-cluster.

  5. Nos menus Região e Zona, selecione us-central1.

  6. Para as outras opções de Configurar cluster, use os padrões fornecidos.

  7. No menu de navegação, clique na guia Personalizar cluster (opcional).

  8. Na seção Metastore do Dataproc, selecione o serviço de metastore criado anteriormente.

    Se você seguiu este tutorial como está, ele se chama example-service.

  9. Para as demais opções de configuração do serviço, use os padrões fornecidos.

  10. Para criar o cluster, clique em Criar.

    O novo cluster aparece na lista Clusters. O status do cluster é mostrado como Provisionamento até que ele esteja pronto para uso. Quando estiver pronto, o status vai mudar para Ativo. O provisionamento do cluster pode levar alguns minutos.

CLI da gcloud

Para criar um cluster usando as configurações padrão fornecidas, execute o seguinte 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

Substitua PROJECT_ID pelo ID do projeto em que você criou o serviço Metastore do Dataproc.

REST

Siga as instruções da API para criar um cluster usando o APIs Explorer.

Conectar-se ao Apache Hive com um cluster do Dataproc

Estas próximas etapas mostram como executar alguns comandos de exemplo no Apache Hive para criar um banco de dados e uma tabela.

Em seguida, abra uma sessão SSH no cluster do Dataproc e inicie uma sessão do Hive.

  1. No console do Google Cloud, acesse a página Instâncias de VM.
  2. Na lista de instâncias de máquina virtual, clique em SSH ao lado de example-cluster.

Uma janela de navegador é aberta no diretório inicial do nó com uma saída semelhante a esta:

Connected, host fingerprint: ssh-rsa ...
Linux cluster-1-m 3.16.0-0.bpo.4-amd64 ...
...
example-cluster@cluster-1-m:~$

Para iniciar o Hive e criar um banco de dados e uma tabela, execute os seguintes comandos na sessão SSH:

  1. Inicie o Hive.

    hive
    
  2. Crie um banco de dados denominado myDatabase.

    create database myDatabase;
    
  3. Mostre o banco de dados que você criou.

    show databases;
    
  4. Use o banco de dados que você criou.

    use myDatabase;
    
  5. Crie uma tabela chamada myTable.

    create table myTable(id int,name string);
    
  6. Liste as tabelas em myDatabase.

    show tables;
    
  7. Descreva o esquema da tabela que você criou.

    desc MyTable;
    

A execução desses comandos mostra uma saída semelhante a esta:

$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

Limpar

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. If the project that you plan to delete is attached to an organization, expand the Organization list in the Name column.
  3. In the project list, select the project that you want to delete, and then click Delete.
  4. In the dialog, type the project ID, and then click Shut down to delete the project.

Como alternativa, é possível excluir os recursos usados neste tutorial:

  1. Exclua o serviço Metastore do Dataproc.

    Console

    1. No console do Google Cloud, abra a página Metastore do Dataproc:

      Acesse Dataproc Metastore

    2. Na lista de serviços, selecione example-service.

    3. Na barra de navegação, clique em Excluir.

      A caixa de diálogo Delete service será aberta.

    4. Na caixa de diálogo, clique em Excluir.

      Seu serviço não aparece mais na lista de serviços.

    CLI da gcloud

    Para excluir o serviço, execute o comando gcloud metastore services delete a seguir.

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

    REST

    Siga as instruções da API para excluir um serviço usando o APIs Explorer.

    Todas as exclusões foram feitas imediatamente.

  2. Exclua o bucket do Cloud Storage para o serviço Metastore do Dataproc.

  3. Exclua o cluster do Dataproc que usou o serviço Metastore do Dataproc.

A seguir