Implantar um serviço do Dataproc Metastore

Nesta página, mostramos como criar um serviço Metastore do Dataproc e se conectar a ele a partir de um cluster do Dataproc. Depois, use o SSH no cluster, inicie uma instância do Apache Hive e execute algumas consultas básicas.

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


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

Orientações


Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. Ative as APIs Dataproc Metastore, Dataproc.

    Ative as APIs

  5. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  6. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  7. Ative as APIs Dataproc Metastore, Dataproc.

    Ative as APIs

Papéis necessários

Para receber as permissões necessárias para criar um 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 Dataproc Metastore: 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 como conceder papéis, consulte Gerenciar acesso.

Esses papéis predefinidos contêm as permissões necessárias para criar um metastore do Dataproc 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 permissões a seguir são necessárias para criar um metastore e um cluster do Dataproc:

  • Para criar um serviço 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

Talvez você também consiga receber essas permissões com papéis personalizados ou outros papéis predefinidos.

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

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.

    Acessar o metastore do Dataproc

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

    A caixa de diálogo Criar serviço de metastore será 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 opções restantes de configuração de serviço, use os padrões fornecidos.

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

Seu novo serviço de metastore aparece na página Metastore do Dataproc. O status exibe Criando 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 Criar serviço 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 da 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 metastore do Dataproc

Em seguida, crie um cluster do Dataproc e se conecte ao seu metastore a partir do cluster. Depois disso, o cluster vai usar 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 será aberta, oferecendo 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 opções restantes 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 no estado em que se encontra, o nome dele é example-service.

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

  10. Para criar o cluster, clique em Criar.

    O novo cluster vai aparecer na lista Clusters. O status do cluster exibirá Provisionando até que o cluster 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

Nestas etapas, mostramos 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 do navegador é aberta no diretório principal 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 com o nome 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 sua conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.

  1. No Console do Google Cloud, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Se o projeto que você planeja excluir estiver anexado a uma organização, expanda a lista Organização na coluna Nome.
  3. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  4. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

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:

      Acessar o metastore do Dataproc

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

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

      A caixa de diálogo Excluir serviço é 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 seguinte comando gcloud metastore services delete.

     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