Esta página explica como exportar metadados de Metastore do Dataproc.
O recurso de exportação de metadados permite salvar metadados em um formato de armazenamento portátil.
Depois de exportar seus dados, você pode importar os metadados para outro Serviço do Dataproc Metastore ou um metastore Hive autogerenciado (HMS).
Sobre a exportação de metadados
Quando você exporta metadados do Metastore do Dataproc, o serviço armazena os dados em um dos seguintes formatos de arquivo:
- Um conjunto de arquivos Avro armazenados em uma pasta.
- Um único arquivo dump do MySQL armazenado em uma pasta do Cloud Storage.
Avro
As exportações baseadas em Avro são compatíveis apenas com as versões 2.3.6 e 3.1.2 do Hive. Quando
você exporta arquivos Avro, o metastore do Dataproc cria um
<table-name>.avro
para cada tabela no banco de dados.
Para exportar arquivos Avro, seu serviço Metastore do Dataproc pode usar o tipo de banco de dados MySQL ou Spanner.
MySQL
As exportações baseadas em MySQL são compatíveis com todas as versões do Hive. Ao exportar arquivos MySQL, o Dataproc Metastore cria um único arquivo SQL que contém todas as informações da tabela.
Para exportar arquivos do MySQL, seu serviço Metastore do Dataproc deve usar o tipo de banco de dados MySQL. O tipo de banco de dados do Spanner não é compatível com importações do MySQL.
Antes de começar
- Ative o Dataproc Metastore no seu projeto.
- Como entender os requisitos de rede específicas para seu projeto.
- Crie um serviço do Dataproc Metastore.
Funções exigidas
Para receber as permissões necessárias para exportar metadados para a Metastore do Dataproc, peça ao administrador para conceder a você os seguintes papéis do IAM:
-
Para exportar metadados:
-
Editor do metastore do Dataproc (
roles/metastore.editor
) no serviço Metastore do Dataproc -
Administrador do metastore do Dataproc (
roles/metastore.admin
) no serviço Metastore do Dataproc -
Operador de metadados do metastore do Dataproc (
roles/metastore.metadataOperator
) no serviço do metastore do Dataproc
-
Editor do metastore do Dataproc (
-
Para usar o objeto do Cloud Storage para exportação no MySQL e no Avro, faça o seguinte:
Conceda à conta de usuário e ao agente de serviço do metastore do Dataproc a função Criador de armazenamento (
roles/storage.objectCreator
) no bucket do Cloud Storage
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos têm as permissões necessárias para exportar metadados para o metastore do Dataproc. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para exportar metadados para o metastore do Dataproc:
-
Para exportar metadados:
metastore.services.export
no serviço do metastore -
Para MySQL e Avro, para usar o objeto do Cloud Storage para exportação, conceda à sua conta de usuário e ao agente de serviço do Dataproc Metastore:
storage.objects.create
no bucket do Cloud Storage
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Para mais informações sobre papéis e permissões específicos do metastore do Dataproc, consulte Visão geral do IAM do metastore do Dataproc.Exportar metadados
Antes de exportar os metadados, observe as seguintes considerações:
- Enquanto uma exportação está em execução, não é possível atualizar um Serviço Dataproc Metastore, por exemplo, alterando definições de configuração. No entanto, você ainda pode usá-lo para operações normais, como usá-lo para acessar os metadados do Dataproc anexado ou clusters autogerenciados.
- O recurso de exportação de metadados só exporta metadados. Os dados criados pelo Apache Hive em tabelas internas não são replicados na exportação.
Para exportar metadados de um serviço Metastore do Dataproc, execute o etapas seguintes.
Console
No console do Google Cloud, abra a página Metastore do Dataproc:
Na página Metastore do Dataproc, clique no nome do serviço de onde você quer exportar metadados.
A página Detalhes do serviço é aberta.
Na barra de navegação, clique em Exportar.
A página Exportar metadados é aberta.
Na seção Destino, escolha MySQL ou Avro.
No campo URI de destino, clique em Procurar e selecione o O URI do Cloud Storage para onde exportar os arquivos.
Também é possível inserir o local do bucket no campo de texto fornecido. Use o seguinte formato:
bucket/object
oubucket/folder/object
.Para iniciar a exportação, clique em Enviar.
Quando terminar, a exportação vai aparecer em uma tabela nos Detalhes do serviço na guia Importar/Exportar.
Quando a exportação for concluída, o metastore do Dataproc automaticamente retorna ao estado ativo, independentemente de a exportação ter sido bem-sucedida ou não.
CLI da gcloud
Para exportar metadados de um serviço, execute o seguinte comando
gcloud metastore services export gcs
:gcloud metastore services export gcs SERVICE \ --location=LOCATION \ --destination-folder=gs://bucket-name/path/to/folder \ --dump-type=DUMP_TYPE
Substitua:
SERVICE
: o nome do serviço do metastore do Dataproc.LOCATION
: a região do Google Cloud em que o serviço do Dataproc Metastore está localizado.bucket-name/path/to/folder
: a pasta de destino do Cloud Storage onde você quer armazenar a exportação.DUMP_TYPE
: o tipo de despejo do banco de dados a ser gerados pela exportação. Os valores aceitos incluemmysql
eavro
. O valor padrão émysql
.
Verifique se a exportação foi bem-sucedida.
Quando a exportação é concluída, o Dataproc Metastore retorna automaticamente ao estado ativo, independente de a exportação ter sido bem-sucedida ou não.
REST
Siga as instruções da API para exportar metadados para um serviço usando o APIs Explorer.
Quando a exportação é concluída, o serviço retorna automaticamente ao estado ativo. independentemente de ter sido bem-sucedida ou não.
Conferir o histórico de exportação
Para conferir o histórico de exportação de um serviço do metastore do Dataproc no console do Google Cloud, siga estas etapas:
- No console do Google Cloud, abra a página Metastore do Dataproc.
Na barra de navegação, clique em Importar/Exportar.
O histórico de exportação é exibido na tabela Histórico de exportações.
O histórico mostra até as últimas 25 exportações.
A exclusão de um serviço do Metastore do Dataproc também exclui todo o histórico de exportação associado.
Resolver problemas comuns
Confira alguns problemas comuns:
- A conta de usuário ou de agente de serviço não tem as permissões necessárias.
- O job falha porque o arquivo do banco de dados é muito grande.
Para mais ajuda na solução de problemas comuns, consulte Cenários de erro de importação e exportação.