Exportar metadados do metastore do Dataproc

Nesta página, explicamos como exportar metadados do metastore do Dataproc.

O recurso de exportação de metadados permite salvar seus metadados em um formato de armazenamento portátil.

Depois de exportar os dados, importe os metadados para outro serviço do Metastore do Dataproc ou para um Metastore Hive (HMS) autogerenciado.

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 arquivo <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. Quando você exporta arquivos MySQL, o metastore do Dataproc cria um único arquivo SQL que contém todas as informações da tabela.

Para exportar arquivos MySQL, o serviço Metastore do Dataproc precisa 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

Funções exigidas

Para receber as permissões necessárias para exportar metadados para o metastore do Dataproc, peça ao administrador para conceder a você os seguintes papéis do IAM:

Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Esses papéis predefinidos contê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 permissões a seguir são necessárias para exportar metadados para o metastore do Dataproc:

  • Para exportar metadados: metastore.services.export no serviço metastore
  • Para MySQL e Avro usar o objeto do Cloud Storage para exportação, conceda à sua conta de usuário e ao agente de serviço do Metastore do Dataproc: storage.objects.create no bucket do Cloud Storage

Talvez você também consiga receber essas permissões com papéis personalizados ou outros papéis predefinidos.

Para mais informações sobre permissões e papéis específicos do metastore do Dataproc, consulte Visão geral do IAM do metastore do Dataproc.

Exportar metadados

Antes de exportar seus metadados, observe as seguintes considerações:

  • Enquanto uma exportação estiver em execução, não é possível atualizar um serviço do Metastore do Dataproc. Por exemplo, alterando as configurações. No entanto, ainda é possível usá-lo em operações normais, como usá-lo para acessar os metadados do Dataproc anexado ou de clusters autogerenciados.
  • O recurso de exportação 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 as etapas a seguir.

Console

  1. No console do Google Cloud, abra a página Metastore do Dataproc:

    Abrir o metastore do Dataproc

  2. Na página Metastore do Dataproc, clique no nome do serviço do qual você quer exportar os metadados.

    A página Detalhes do serviço é aberta.

    Página de detalhes do serviço
    Página de detalhes do serviço do metastore do Dataproc
  3. Na barra de navegação, clique em Exportar.

    A página Exportar metadados é aberta.

  4. Na seção Destino, escolha MySQL ou Avro.

  5. No campo URI de destino, clique em Procurar e selecione o URI do Cloud Storage para onde quer exportar os arquivos.

    Também é possível inserir o local do bucket no campo de texto fornecido. Use o seguinte formato: bucket/object ou bucket/folder/object.

  6. Para iniciar a exportação, clique em Enviar.

    Quando terminar, a exportação vai aparecer em uma tabela na página Detalhes do serviço na guia Importar/Exportar.

    Quando a exportação é concluída, o metastore do Dataproc retorna automaticamente ao estado ativo, mesmo que a exportação não tenha sido bem-sucedida.

CLI da gcloud

  1. Para exportar metadados de um serviço, execute este 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 Metastore do Dataproc reside.
    • bucket-name/path/to/folder: a pasta de destino do Cloud Storage em que você quer armazenar a exportação.
    • DUMP_TYPE: o tipo de despejo do banco de dados a ser gerado pela exportação. Os valores aceitos incluem mysql e avro. O valor padrão é mysql.
  2. Verifique se a exportação foi bem-sucedida.

    Quando a exportação é concluída, o metastore do Dataproc retorna automaticamente ao estado ativo, mesmo que a exportação não tenha sido bem-sucedida.

REST

Use o APIs Explorer para seguir as instruções da API e exportar metadados para um serviço.

Quando a exportação é concluída, o serviço retorna automaticamente ao estado ativo, independentemente de ter sido ou não bem-sucedido.

Ver histórico de exportações

Para visualizar o histórico de exportação de um serviço do Dataproc Metastore no Console do Google Cloud, conclua as seguintes etapas:

  1. No console do Google Cloud, abra a página Metastore do Dataproc.
  2. Na barra de navegação, clique em Importar/Exportar.

    O histórico de exportações aparece na tabela Histórico de exportação.

    O histórico mostra até as últimas 25 exportações.

A exclusão de um serviço do Dataproc Metastore também exclui todo o histórico de exportação associado.

Resolver problemas comuns

Alguns problemas comuns incluem:

Para mais ajuda com a solução de problemas comuns, consulte Cenários de erros de importação e exportação.

A seguir