Implemente um serviço de Dataproc Metastore
Esta página mostra-lhe como criar um serviço do Dataproc Metastore e estabelecer ligação ao mesmo a partir de um cluster do Dataproc. Em seguida, usa o SSH para aceder ao cluster, inicia uma instância do Apache Hive e executa algumas consultas básicas.
O Dataproc Metastore oferece-lhe um Hive Metastore (HMS) totalmente compatível, que é a norma estabelecida no ecossistema de Big Data de código aberto para gerir metadados técnicos. Este serviço ajuda a gerir os metadados dos seus data lakes e oferece interoperabilidade entre as várias ferramentas de processamento de dados que está a usar.
Para seguir orientações passo a passo para esta tarefa diretamente na Google Cloud consola, clique em Orientar-me:
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.
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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. 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.enable
permission. 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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. 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.enable
permission. Learn how to grant roles. -
Para conceder acesso total a todos os recursos do Dataproc Metastore, incluindo a definição de autorizações da IAM:
(
roles/metastore.admin
) na conta de utilizador ou na conta de serviço -
Para conceder controlo total dos recursos do Dataproc Metastore:
Editor de Metastore do Dataproc (
roles/metastore.editor
) na conta de utilizador ou na conta de serviço -
Para criar um cluster do Dataproc:
(
roles/dataproc.worker
) na conta de serviço -
Para criar um serviço do Dataproc Metastore:
metastore.services.create
na conta de utilizador ou na conta de serviço -
Para criar um cluster do Dataproc:
Dataproc worker (
na conta de serviçoroles/dataproc.worker
) Na Google Cloud consola, aceda à página Dataproc Metastore.
No menu de navegação, clique em +Criar.
É apresentada a caixa de diálogo Criar serviço Metastore.
Selecione Dataproc Metastore 2.
No campo Nome do serviço, introduza
example-service
.No campo Localização de dados, selecione
us-central1
.Para as restantes opções de configuração do serviço, use as predefinições fornecidas.
Para criar e iniciar o serviço, clique em Enviar.
Na Google Cloud consola, aceda à página Clusters do Dataproc.
Na barra de navegação, selecione + Criar cluster.
A caixa de diálogo Criar um cluster é aberta e apresenta várias opções de infraestrutura que pode escolher.
Na linha Cluster no Compute Engine, selecione Criar.
A página Crie um cluster do Dataproc no Compute Engine é aberta.
No campo Nome do cluster, introduza
example-cluster
.Nos menus Região e Zona, selecione
us-central1
.Para as restantes opções de Configurar cluster, use as predefinições fornecidas.
No menu de navegação, clique no separador Personalizar cluster (opcional).
Na secção Dataproc Metastore, selecione o serviço metastore que criou anteriormente.
Se seguiu este tutorial tal como está, chama-se
example-service
.Para as restantes opções de configuração do serviço, use as predefinições fornecidas.
Para criar o cluster, clique em Criar.
O novo cluster é apresentado na lista Clusters. O estado do cluster apresenta Aprovisionamento até o cluster estar pronto a ser usado. Quando estiver pronto, o estado muda para Ativo. O aprovisionamento do cluster pode demorar alguns minutos.
- Na Google Cloud consola, aceda à página Instâncias de VM.
- Na lista de instâncias de máquinas virtuais, clique em SSH junto a
example-cluster
. Inicie o Hive.
hive
Cria uma base de dados denominada
myDatabase
.create database myDatabase;
Mostrar a base de dados que criou.
show databases;
Use a base de dados que criou.
use myDatabase;
Cria uma tabela denominada
myTable
.create table myTable(id int,name string);
Liste as tabelas em
myDatabase
.show tables;
Descreva o esquema da tabela que criou.
desc MyTable;
- 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.
Elimine o serviço Dataproc Metastore.
Consola
Na Google Cloud consola, abra a página Dataproc Metastore:
Na lista de serviços, selecione
example-service
.Na barra de navegação, clique em Eliminar.
É apresentada a caixa de diálogo Eliminar serviço.
Na caixa de diálogo, clique em Eliminar
O seu serviço já não aparece na lista de serviços.
CLI gcloud
Para eliminar o seu 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 eliminar um serviço através do APIs Explorer.
Todas as eliminações são bem-sucedidas imediatamente.
Elimine o contentor do Cloud Storage para o serviço Dataproc Metastore.
Elimine o cluster do Dataproc que usou o serviço Dataproc Metastore.
Funções necessárias
Para receber as autorizações de que precisa para criar um Dataproc Metastore e um cluster do Dataproc, peça ao seu administrador para lhe conceder as seguintes funções do IAM:
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Estas funções predefinidas contêm as autorizações necessárias para criar um Dataproc Metastore e um cluster do Dataproc. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para criar um Dataproc Metastore e um cluster do Dataproc:
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Para mais informações sobre as funções e as autorizações específicas do Dataproc Metastore, consulte a vista geral do IAM do Dataproc Metastore.Crie um serviço Dataproc Metastore
As instruções seguintes mostram como criar um serviço Dataproc Metastore básico com as predefinições fornecidas.
Consola
O novo serviço de metastore é apresentado na página Dataproc Metastore. O estado apresenta A criar até o serviço estar pronto para utilização. Quando estiver pronto, o estado muda para Ativo. O aprovisionamento do serviço pode demorar alguns minutos.
A captura de ecrã seguinte mostra um exemplo da página Criar serviço com algumas das predefinições fornecidas.
CLI gcloud
gcloud metastore services create example-service \ --location=us-central1 \ --instance-size=MEDIUM
.
REST
Siga as instruções da API para criar um serviço através do APIs Explorer.
Crie um cluster do Dataproc e ligue-o ao Dataproc Metastore
Em seguida, cria um cluster do Dataproc e estabelece ligação ao metastore a partir do cluster. Depois disso, o cluster usa o serviço de metastore como HMS. O cluster que criar aqui usa as predefinições fornecidas.
Consola
CLI gcloud
Para criar um cluster com as predefinições 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 do projeto no qual criou o serviço Dataproc Metastore.
REST
Siga as instruções da API para criar um cluster usando o APIs Explorer.
Estabeleça ligação ao Apache Hive com um cluster do Dataproc
Os passos seguintes mostram como executar alguns comandos de exemplo no Apache Hive para criar uma base de dados e uma tabela.
Em seguida, abra uma sessão SSH no cluster do Dataproc e inicie uma sessão do Hive.
É aberta uma janela do navegador no diretório base do nó com um resultado semelhante ao 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 uma base de dados e uma tabela, execute os seguintes comandos na sessão SSH:
A execução destes comandos mostra um resultado semelhante ao seguinte:
$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 incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.
Em alternativa, pode eliminar os recursos usados neste tutorial: