Migrar metadados do Dataproc Metastore para o metastore do BigLake
Este documento explica como usar a ferramenta de migração do metastore do BigLake, que ajuda a mover metadados de banco de dados, tabela e partição de um serviço do metastore do Dataproc para o metastore do BigLake.
Antes de começar
- Ative o faturamento no projeto Google Cloud . Saiba como verificar se o faturamento está ativado em um projeto.
Ative as APIs BigQuery e Dataflow.
Opcional: saiba mais sobre:
- Entenda como o BigLake Metastore funciona e por que você deve usá-lo.
- Saiba como o Dataflow funciona e como monitorar um job em andamento.
Funções exigidas
Para conseguir as permissões necessárias para executar a ferramenta de migração, peça ao administrador para conceder a você os seguintes papéis do IAM:
-
Crie bancos de dados, tabelas e partições no BigQuery:
Editor de dados do BigQuery (
roles/bigQuery.dataEditor
) na conta de serviço do Dataflow que está executando o job de migração. -
Conceda acesso de leitura aos metadados do Dataproc Metastore em um endpoint gRPC:
Papel de leitor de metadados (
roles/metastore.metadataViewer
) na conta de serviço do Dataflow que está executando o job de migração.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.
Como a ferramenta de migração funciona
A ferramenta de migração inicia um job do Dataflow que extrai metadados do metastore do Dataproc e os ingere no metastore do BigLake.
Não é possível acessar os dados do metastore do Dataproc diretamente do metastore do BigLake. Esse processo é necessário para executar cargas de trabalho ou jobs em metadados atuais. Se você não usar essa ferramenta, será necessário extrair manualmente os metadados do Dataproc Metastore e ingerir no metastore do BigLake.
Considerações
- A ferramenta de migração é compatível com instâncias do Dataproc Metastore que usam o protocolo de endpoint gRPC ou Thrift.
- Cada vez que você executa a ferramenta de migração, o job do Dataflow faz uma cópia completa dos metadados do metastore do Dataproc para o metastore do BigLake.
Limitações
A ferramenta de migração não migra metadados não relacionados a partições de banco de dados e tabelas. Se a ferramenta não conseguir migrar um banco de dados ou uma tabela, ela vai registrar uma mensagem na instância do Cloud Logging do projeto que contém o job do Dataflow.
Depois que o erro é registrado, o job do Dataflow continua processando outras tabelas e bancos de dados no pipeline.
Fazer uma migração com a ferramenta
Para executar uma migração com a ferramenta, crie um job de modelo flexível do Dataflow
executando o seguinte comando gcloud dataflow
flex-template
.
gcloud dataflow flex-template run JOB_NAME" \ --template-file-gcs-location "gs://bigquery-metastore-migration/dpms_to_bqms_migration.json" \ --parameters bigQueryMetastoreProjectId="DESTINATION_BIGQUERY_PROJECT_ID" \ --parameters endpointUri="METASTORE_URI" \ --parameters bigQueryMetastoreDatabaseLocation=DATABASE_LOCATION \ [--network=NETWORK] \ [--subnetwork=SUBNETWORK]
Substitua:
JOB_NAME
: o nome do job do Dataflow para executar a migração.DESTINATION_BIGQUERY_PROJECT_ID
: o ID do projeto do BigQuery em que o job do Dataflow grava dados.METASTORE_URI
: o URI do serviço do Dataproc Metastore.DATABASE_LOCATION
: o local em que o metastore do BigLake grava dados. Por exemplo, se você definir esse valor comoUS
, todos os recursos do BigQuery criados pela ferramenta serão armazenados nesse local.NETWORK
: opcional: a rede para executar o job do Dataflow. Necessário apenas para serviços do metastore do Dataproc que usam um endpoint Thrift.SUBNETWORK
(opcional): a sub-rede para executar o job do Dataflow. Necessário apenas para serviços do metastore do Dataproc que usam um endpoint Thrift.