No Alibaba Cloud E-MapReduce (EMR), você pode selecione um tipo de armazenamento de metadados — como MySQL integrado, Data Lake Formation (DLF) ou ApsaraDB RDS autogerenciado — ao crie um cluster. Também pode alterar o tipo de armazenamento de metadados após a criação do cluster. Este tópico apresenta o Data Lake Formation e descreve como alternar o tipo de armazenamento de metadados em um cluster EMR.
Informações gerais
O DLF é um service totalmente gerenciado, desenvolvido pela Alibaba Cloud para facilitar a criação e o gerenciamento de um data lake nativo em cloud. Com o DLF, você gerencie metadados e permissões de usuários de forma centralizada, ingere dados em data lakes com facilidade e explora os dados com poucos cliques. Para mais informações, consulte Overview.
O DLF também permite conectar o data lake nativo em cloud a diversos mecanismos de computação. Dessa forma, você elimina silos de dados e obtém insights sobre o valor de negócio dos seus dados.
Pré-requisitos
Ative o service DLF no console do DLF.
Limitações
O armazenamento unificado de metadados do DLF é compatível com Hive 2.x, Hive 3.x, Presto e Spark SQL no EMR.
Apenas o EMR 3.30.0 ou posterior e o EMR 4.5.0 ou posterior oferecem suporte ao armazenamento unificado de metadados do DLF como banco de dados Hive.
A alternância funciona em ambas as direções. Você pode alternar de um metastore MySQL (MySQL integrado, metadatabase unificado ou RDS autogerenciado) para o armazenamento unificado de metadados do DLF, e vice-versa, retornando para um metastore MySQL, também chamado de Hive metastore (HMS).
Alternar o tipo de armazenamento de metadados muda apenas a forma como o Hive acessa os metadados. Os metadados existentes não são migrados automaticamente. Após a alternância, o Hive acessa somente os bancos de dados e tabelas já existentes no metastore de destino. Para manter seus metadados existentes, migre-os antes de alternar.
Procedimento
-
Acesse a página do service Hive.
Faça login no console do E-MapReduce.
Na barra de navegação superior, selecione uma região e um grupo de recursos de acordo com suas necessidades de negócio.
Na página EMR on ECS, localize o cluster desejado e clique em Services na coluna Actions.
Na seção do service Hive, clique em Configure.
-
Na caixa de pesquisa de configuração, insira o nome do parâmetro hive.imetastoreclient.factory.class e clique em no ícone
.-
Para alternar para um metastore MySQL (incluindo MySQL integrado, metadatabase unificado e RDS autogerenciado):
Defina hive.imetastoreclient.factory.class como org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClientFactory.
Se o cluster utiliza atualmente o armazenamento unificado de metadados do DLF, após a alternância o Hive acessará apenas os bancos de dados e tabelas já existentes no banco de dados backend do HMS. Para evitar bancos de dados e tabelas ausentes ou falhas em jobs, conclua os seguintes preparativos antes de alternar:
Suspenda os jobs em execução no cluster.
Compare os metadados entre o DLF e o HMS e grave no banco de dados backend do HMS os bancos de dados e tabelas criados ou modificados após a alternância para o DLF.
Certifique-se de que o banco de dados backend do HMS esteja acessível e de que o schema de metadados do Hive esteja inicializado.
Verifique se o componente HiveMetaStore do service Hive está em execução. Quando o armazenamento unificado de metadados do DLF está em uso, o Hive acessa os metadados diretamente pelo cliente DLF, e o componente HiveMetaStore pode não estar ativo.
NotaA comparação e a gravação retroativa de metadados afetam a consistência dos dados. Recomendamos entrar em contato com o suporte técnico da Alibaba Cloud para obter assistência. Para mais informações, consulte EMR metadata migration notice.
-
Para alternar para o armazenamento unificado de metadados do DLF:
Defina hive.imetastoreclient.factory.class como com.aliyun.datalake.metastore.hive2.DlfMetaStoreClientFactory.
-
-
Salve a configuração.
Na seção Service Configuration da página do service Hive, clique em Save.
Na caixa de diálogo exibida, insira um motivo de execução e clique em Save.
-
Reinicie o service Hive.
Na página do service Hive, escolha no canto superior direito.
Na caixa de diálogo exibida, insira um Execution Reason e clique em OK.
-
Na caixa de diálogo Confirm, clique em OK.
Clique em Operation History no topo da página para acompanhar o progresso da tarefa e aguarde a conclusão.
Após a reinicialização do service Hive, execute SHOW DATABASES e SHOW TABLES para verifique se todos os bancos de dados e tabelas estão disponíveis antes de retomar seus jobs.
Se outros mecanismos no cluster, como Spark e Presto, também estiverem configurados para usar o armazenamento unificado de metadados do DLF, atualize as configurações de metadados desses mecanismos de forma correspondente. Caso contrário, mecanismos diferentes se conectarão a metastores distintos e retornarão bancos de dados e tabelas inconsistentes.