Implantar um serviço do metastore do Dataproc

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

O metastore do Dataproc oferece um Hive totalmente compatível Metastore (HMS), que é o padrão estabelecido na área de Big Data de código aberto para gerenciar metadados técnicos. Esse serviço ajuda você a gerenciar metadados dos seus data lakes e fornece interoperabilidade entre as várias das 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. 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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  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. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  7. Enable the Dataproc Metastore, Dataproc APIs.

    Enable the APIs

Papéis necessários

Para ter as permissões necessárias para criar um metastore do Dataproc 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 permissões a seguir são necessárias para criar um metastore do Dataproc e um cluster do Dataproc:

  • Para criar um serviço do Dataproc Metastore: 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 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.

    Ir para Metastore do Dataproc

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

    A caixa de diálogo Criar serviço do Metastore será aberta.

  3. Selecione Metastore do Dataproc 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 demais opções de configuração de serviço, use o padrão.

  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 Criando é exibido até que o serviço esteja pronto para uso. Quando for pronto, o status mudará para Ativo. O provisionamento do serviço pode levar alguns minutos.

A captura de tela abaixo 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 gcloud metastore services create comando:

 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.

Crie um cluster do Dataproc e conecte-se ao metastore do Dataproc

Em seguida, crie um cluster do Dataproc e conecte-se ao seu metastore do cluster. Depois disso, o cluster usará o serviço metastore como ele é 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.

    Ir para 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 que para você escolher.

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

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

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

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

  6. Para as demais 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 metastore. serviço criado anteriormente.

    Se você seguiu este tutorial como está, ele é chamado de example-service.

  9. Para as demais opções de configuração de 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 exibirá Provisionamento até que o cluster esteja pronto para uso. Quando for pronto, o status 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 seguindo gcloud dataproc clusters create comando:

 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

As próximas etapas mostram como executar alguns exemplos de comandos no Apache Hive para criar banco de dados e tabela.

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

  1. No console do Google Cloud, acesse a VM instâncias.
  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 para o seguinte:

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 Excluir serviço 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 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. Excluir o cluster do Dataproc que usaram o serviço Metastore do Dataproc.

A seguir