Implantar um serviço Metastore do Dataproc
Nesta página, mostramos como criar um serviço Metastore do Dataproc e se conectar a ele em um cluster do Serviço Gerenciado para Apache Spark. Depois, você faz login no cluster com SSH, inicia uma instância do Apache Hive e executa algumas consultas básicas.
O Metastore do Dataproc oferece um metastore Hive (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 a gerenciar os metadados dos data lakes e oferece interoperabilidade entre as várias ferramentas de tratamento de dados que você está usando.
Para seguir as instruções detalhadas desta tarefa diretamente no Google Cloud console, clique em Orientação:
Antes de começar
- Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
-
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.
Papéis necessários
Para receber as permissões necessárias para criar um metastore do Dataproc e um cluster do Serviço Gerenciado para Apache Spark, 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 definiçã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 Dataproc Metastore (
roles/metastore.editor) na conta de usuário ou de serviço -
Para criar um cluster do Serviço Gerenciado para Apache Spark:
(
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 um metastore do Dataproc e um cluster do Serviço Gerenciado para Apache Spark. Para acessar as permissões exatas que são 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 Serviço Gerenciado para Apache Spark:
- 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 Serviço Gerenciado para Apache Spark:
worker do Serviço Gerenciado para Apache Spark (
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
No Google Cloud console, acesse a página Metastore do Dataproc.
No menu de navegação, clique em +Criar.
A caixa de diálogo Criar serviço Metastore é aberta.
Selecione Metastore do Dataproc 2.
No campo Nome da conta de serviço, insira
example-service.No campo Local dos dados, selecione
us-central1.Para as outras opções de configurações de serviço, use os padrões fornecidos.
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 mostra 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.

CLI gcloud
gcloud metastore services create example-service \
--location=us-central1 \
--instance-size=MEDIUMREST
Siga as instruções da API para criar um serviço usando o APIs Explorer.
Criar um cluster do Serviço Gerenciado para Apache Spark e se conectar ao Metastore do Dataproc
Em seguida, crie um cluster do Serviço Gerenciado para Apache Spark e conecte-se ao metastore do cluster. Depois disso, o cluster usa o serviço de metastore como HMS. O cluster criado aqui usa as configurações padrão fornecidas.
Console
No Google Cloud console, acesse a página Clusters do Dataproc.
Na barra de navegação, selecione +Criar cluster.
A caixa de diálogo Criar um cluster é aberta, oferecendo várias opções de infraestrutura.
Na linha Cluster no Compute Engine, selecione Criar.
A página Criar um cluster do Serviço Gerenciado para Apache Spark no Compute Engine é aberta.
No campo Nome do cluster, insira
example-cluster.Nos menus Região e Zona, selecione
us-central1.Para as outras opções de Configurar cluster, use os padrões fornecidos.
No menu de navegação, clique na guia Personalizar cluster (opcional).
Na seção Metastore do Dataproc, selecione o serviço de metastore criado anteriormente.
Se você seguiu este tutorial como está, ele será chamado de
example-service.Para as outras opções de configurações de serviço, use os padrões fornecidos.
Para criar o cluster, clique em Criar.
Seu novo cluster aparece na lista Clusters. O status do cluster mostra 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 gcloud
Para criar um cluster usando as configurações padrão fornecidas, execute o
seguinte gcloud dataproc clusters create
comando:
gcloud dataproc clusters create example-cluster \
--dataproc-metastore=projects/PROJECT_ID/locations/us-central1/services/example-service \
--region=us-central1Substitua 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 Serviço Gerenciado para Apache Spark
As 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 Serviço Gerenciado para Apache Spark e inicie uma sessão do Hive.
- No Google Cloud console do, acesse a página Instâncias de VM.
- 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 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:
Inicie o Hive.
hiveCrie um banco de dados chamado
myDatabase.create database myDatabase;Mostre o banco de dados criado.
show databases;Use o banco de dados criado.
use myDatabase;Crie uma tabela chamada
myTable.create table myTable(id int,name string);Liste as tabelas em
myDatabase.show tables;Descreva o esquema da tabela criada.
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 as etapas abaixo.
- No Google Cloud console, acesse a página Gerenciar recursos.
- Se o projeto que você planeja excluir estiver anexado a uma organização, expanda a lista Organização na coluna Nome.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
- Na caixa de diálogo, digite o ID do projeto e clique em Desligar para excluir o projeto.
Como alternativa, é possível excluir os recursos usados neste tutorial:
Exclua o serviço Metastore do Dataproc.
Console
No Google Cloud console do, abra a página Metastore do Dataproc:
Na lista de serviços, selecione
example-service.Na barra de navegação, clique em Excluir.
A caixa de diálogo Excluir serviço é aberta.
Na caixa de diálogo, clique em Excluir.
Seu serviço não aparece mais na lista de serviços.
CLI gcloud
Para excluir o serviço, execute o seguinte
gcloud metastore services deletecomando.gcloud metastore services delete example-service \ --location=us-central1REST
Siga as instruções da API para excluir um serviço usando o APIs Explorer.
Todas as exclusões foram feitas imediatamente.
Exclua o bucket do Cloud Storage para o serviço Metastore do Dataproc.
Exclua o cluster do Serviço Gerenciado para Apache Spark que usou o serviço Metastore do Dataproc.