Ao criar um serviço Metastore do Dataproc, é preciso escolher o tipo de banco de dados MySQL ou Spanner.
Essa escolha afeta os recursos que podem ser integrados e usados com o serviço do metastore do Dataproc. Não é possível atualizar o tipo de banco de dados depois de criar um serviço do Metastore do Dataproc. Escolha o tipo de banco de dados adequado para suas necessidades.
Esta página explica as diferenças entre esses tipos de banco de dados e como selecionar um para seu serviço.
Diferenças entre o MySQL e o Spanner
MySQL
O tipo de banco de dados MySQL do Dataproc Metastore é uma implementação do Cloud SQL. Observe o seguinte ao usar um banco de dados MySQL:
- O MySQL é o tipo de banco de dados padrão ao criar uma Metastore do Dataproc.
- O MySQL é compatível com todas as versões do Hive.
- O MySQL é compatível com todos os recursos do metastore do Dataproc.
- O MySQL oferece suporte à criptografia do Dataproc Metastore, como o uso de chaves de criptografia gerenciadas pelo cliente (CMEK).
Spanner
O tipo de banco de dados do Spanner do Dataproc Metastore é uma implementação do Spanner. Observe o seguinte ao usar um banco de dados do Spanner:
- O Spanner só é compatível com as versões 2.3.6 e 3.1.2 do Hive.
- O Spanner só oferece suporte a importações do Avro.
Mais detalhes
A tabela a seguir fornece mais detalhes sobre essas diferenças.
MySQL | Spanner | |
---|---|---|
Confiabilidade (disponibilidade) | SLO do Cloud SQL de 99,95%* | SLO do Spanner de 99,99%* |
Janelas de manutenção | Obrigatório | Não é obrigatório |
Observações:
- *Os SLOs do Cloud SQL e do Spanner não são traduzidos diretamente para SLOs do Dataproc Metastore. Metastore do Dataproc Sua seleção de tipo de banco de dados não afeta os SLOs do metastore do Dataproc.
- Não há diferença de preço entre os dois tipos de banco de dados.
Antes de começar
- Ative o Dataproc Metastore no seu projeto.
- Entenda os requisitos de rede específicos do seu projeto.
Papéis necessários
Para receber a permissão necessária para criar uma Metastore do Dataproc, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto, com base no princípio de privilégio mínimo:
-
Conceder controle total dos recursos do metastore do Dataproc (
roles/metastore.editor
) -
Conceder acesso total a todos os recursos do metastore do Dataproc, incluindo a administração de políticas do IAM (
roles/metastore.admin
)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém a
permissão
metastore.services.create
,
que é necessária para
criar uma metastore do Dataproc.
Também é possível conseguir essa permissão com papéis personalizados ou outros papéis predefinidos.
Para mais informações sobre papéis e permissões específicos do Dataproc Metastore, consulte Gerenciar o acesso ao Dataproc com o IAM.Escolher o tipo de banco de dados
Você escolhe o tipo de banco de dados ao criar um serviço do Dataproc Metastore.
O exemplo a seguir mostra uma versão abreviada das etapas que você segue para escolher um tipo de banco de dados. Para instruções detalhadas, consulte Criar um serviço Metastore do Dataproc.
Console
No console do Google Cloud, abra a página Metastore do Dataproc:
Na barra de navegação, clique em Criar.
A página Criar serviço é aberta.
Em Tipo de banco de dados, selecione MySQL ou Spanner.
O MySQL é o tipo de banco de dados padrão.
Escolha as configurações restantes para o serviço, conforme necessário.
Clique em Enviar.
CLI da gcloud
Execute este comando
gcloud metastore services create
:gcloud metastore services create SERVICE_ID \ --location=LOCATION \ --database-type=DATABASE_TYPE; default="mysql"
Substitua:
SERVICE_ID
: o nome ou ID do seu serviço do Dataproc Metastore.LOCATION
: a região em que o serviço do Dataproc Metastore está localizado.DATABASE_TYPE
: o tipo de banco de dados que você quer definir para o serviço do Dataproc Metastore. Os valores aceitos incluemmysql
espanner
. O valor padrão émysql
.