Ao criar um serviço do metastore do Dataproc, é necessário escolher entre 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.
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 MySQL e Spanner
MySQL
O tipo de banco de dados MySQL do metastore do Dataproc é uma implementação de Cloud SQL. Observe o seguinte ao usar um banco de dados MySQL:
- 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 oferece suporte a 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 Spanner do metastore do Dataproc é uma implementação de 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.
- O número máximo de colunas com suporte em uma tabela é 5.000.
Mais detalhes
A tabela a seguir fornece 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 metastore do Dataproc. 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 metastore do Dataproc 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 da política 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
metastore.services.create
permissão,
que é necessária para
criar um metastore do Dataproc.
Também é possível receber 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 serviço gerenciado para Apache Spark 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 completas, consulte Criar um serviço do metastore do Dataproc.
Console
No Google Cloud console do, 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 gcloud
Execute este
gcloud metastore services createcomando:gcloud metastore services create SERVICE_ID \ --location=LOCATION \ --database-type=DATABASE_TYPE; default="mysql"
Substitua:
SERVICE_ID: o nome ou ID do serviço do metastore do Dataproc.LOCATION: a região em que o serviço do metastore do Dataproc reside.DATABASE_TYPE: o tipo de banco de dados que você quer definir para o serviço do metastore do Dataproc. Os valores aceitos incluemmysqlespanner. O valor padrão émysql.