Ao criar um serviço do Dataproc Metastore, você precisa escolher usar 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 às suas necessidades.
Nesta página, explicamos 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. Ao usar um banco de dados MySQL, observe o seguinte:
- O MySQL é o tipo de banco de dados padrão ao criar um 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 metastore do Dataproc, 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. Ao usar um banco de dados do Spanner, observe o seguinte:
- O Spanner só é compatível com as versões 2.3.6 e 3.1.2 do Hive.
- O Spanner só aceita importações do Avro.
Mais detalhes
A tabela a seguir oferece mais detalhes sobre essas diferenças.
MySQL | Spanner | |
---|---|---|
Confiabilidade (tempo de atividade) | 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 os SLOs do Dataproc Metastore. Metastore do Dataproc A seleção do 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 um 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 um 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 metastore do Dataproc, 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 metastore do Dataproc.
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 seu 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 seu serviço Dataproc Metastore está localizado.DATABASE_TYPE
: o tipo de banco de dados que você quer definir para o serviço metastore do Dataproc. Os valores aceitos incluemmysql
espanner
. O valor padrão émysql
.