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:
Antes de começar
- 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.
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative as APIs Dataproc Metastore, Dataproc.
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative as APIs Dataproc Metastore, Dataproc.
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 (
na conta de serviçoroles/dataproc.worker
)
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
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 Criar serviço de metastore será 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 opções restantes de configuração 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 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.
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
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 será aberta, oferecendo 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 opções restantes 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 no estado em que se encontra, o nome dele é
example-service
.Para as outras opções de configuração de serviço, use os padrões fornecidos.
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.
- 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 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:
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 com o nome
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 sua conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.
- No Console do Google Cloud, 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 Encerrar para excluí-lo.
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 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 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.
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.