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:
Antes de começar
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataproc Metastore, Dataproc APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataproc Metastore, Dataproc 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 (
na conta de serviçoroles/dataproc.worker
)
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
No console do Google Cloud, acesse a página Metastore do Dataproc.
No menu de navegação, clique em +Criar.
A caixa de diálogo Create Metastore service é aberta.
Selecione Dataproc Metastore 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ção do serviço, use os padrões fornecidos.
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.
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
No console do Google Cloud, acesse a página Clusters do Dataproc.
Na barra de navegação, selecione +Criar cluster.
A caixa de diálogo Criar um cluster é aberta com várias opções de infraestrutura.
Na linha Cluster no Compute Engine, selecione Criar.
A página Criar um cluster do Dataproc 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 se chama
example-service
.Para as demais opções de configuração do serviço, use os padrões fornecidos.
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.
- No console do Google Cloud, 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 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:
Inicie o Hive.
hive
Crie um banco de dados denominado
myDatabase
.create database myDatabase;
Mostre o banco de dados que você criou.
show databases;
Use o banco de dados que você criou.
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 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.
- In the Google Cloud console, go to the Manage resources page.
- If the project that you plan to delete is attached to an organization, expand the Organization list in the Name column.
- In the project list, select the project that you want to delete, and then click Delete.
- 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:
Exclua o serviço Metastore do Dataproc.
Console
No console do Google Cloud, 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 Delete service será aberta.
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.
Exclua o bucket do Cloud Storage para o serviço Metastore do Dataproc.
Exclua o cluster do Dataproc que usou o serviço Metastore do Dataproc.