Sincronizar o Servidor de Consulta com o Hive
Você pode sincronizar o Servidor de Consulta do Oracle Cloud SQL com os bancos de dados Hive que você especificou usando o Apache Ambari ou Cloudera Manager ou a API PL/SQL dbms_bdsqs.sync_hive_databases
Use um dos seguintes métodos para sincronizar o Servidor de Consulta com os bancos de dados do Hive no metastore:
- Execute o comando Reiniciar este Servidor de Consulta do Cloud SQL no Apache Ambari ou Cloudera Manager.
- Execute o comando Sincronizar Bancos de Dados Hive no Apache Ambari ou no Cloudera Manager.
- Chame a API PL/SQL
dbms_bdsqs.sync_hive_databases
localmente no nó de borda.
A API PL/SQL
dbms_bdsqs.sync_hive_databases
só atualiza as definições de tabela do Hive para os bancos de dados Hive que já foram sincronizados por meio de outros dois métodos.Sincronizando o Servidor de Consulta com a API PL/SQL
Você pode sincronizar o Servidor de Consulta do Oracle Cloud SQL com os bancos de dados do Hive que você especificou usando a API PL/SQL.
Para isso, chame a API PL/SQL dbms_bdsqs.sync_hive_databases
localmente no nó de borda em que o Servidor de Consulta está instalado.
O procedimento não contém parâmetros. Ele sincroniza todos os bancos de dados do Hive que já estão no Servidor de Consulta. A API atualiza o Servidor de Consulta apenas com os bancos de dados do Hive listados no parâmetro de configuração sync_hive_db_list
. Cada sincronização sucessiva (também conhecida como atualização) processa alterações desde a última atualização de metadados do Servidor de Consulta.
Uma sincronização captura todas as tabelas que foram adicionadas ou eliminadas no metastore do Hive desde a última atualização. Isso também inclui qualquer tabela cujos esquemas possam ter sido alterados.
Ativando a Sincronização Completa do Servidor de Consulta
Você pode especificar se o Servidor de Consulta do Oracle Cloud SQL executa uma sincronização delta (padrão) ou completa.
Quando o Servidor de Consulta é iniciado pela primeira vez, uma sincronização completa de todos os bancos de dados é executada. Um esquema do Oracle Database é criado para cada banco de dados hive e uma tabela externa é criada para cada tabela Hive nesses esquemas. Após essa primeira inicialização, você pode usar o Apache Ambari ou o Cloudera Manager para especificar a lista de bancos de dados Hive a serem sincronizados.
Você pode controlar se o Servidor de Consulta executa uma sincronização completa ou delta usando o parâmetro de configuração Ativar sincronização completa no Apache Ambari ou no Cloudera Manager. Este parâmetro de configuração é desmarcado por padrão. Para permitir que o Servidor de Consulta execute uma sincronização completa, marque essa caixa de seleção no Apache Ambari ou no Cloudera Manager.
Você pode usar o Apache Ambari para permitir que o Servidor de Consulta execute uma sincronização completa durante uma reinicialização ou uma sincronização manual da seguinte forma.
-
Faça log-in no Apache Ambari usando suas credenciais de log-in.
-
No Apache Ambari, clique em Cloud SQL em Serviços na barra de ferramentas lateral.
-
Clique na guia Configurações.
-
Expanda a guia Sincronização de metadados Avançada.
-
Marque a caixa de seleção Ativar sincronização completa.
-
Clique em Salvar.
Você pode usar o Cloudera Manager para permitir que o Servidor de Consulta execute uma sincronização completa durante uma reinicialização ou uma sincronização manual da seguinte forma.
-
Faça log-in no Cloudera Manager usando suas credenciais de log-in.
-
No Cloudera Manager, use o campo Pesquisar para procurar o parâmetro de configuração Ativar sincronização completa. Informe Ativar sincronização completa (ou informe parte do nome até que ele seja exibido na lista) no campo Pesquisar e pressione Enter.
-
Clique em Cloud SQL: Ativar sincronização completa. A caixa de seleção está desmarcada por padrão. Isso indica que o Servidor de Consulta executará uma sincronização delta.
-
Para ativar a sincronização completa, marque a caixa de seleção e clique em Salvar Alterações.
Uma sincronização completa elimina todos os esquemas existentes e tabelas externas do Servidor de Consulta e, em seguida, recria novos esquemas e novas tabelas externas com base na lista de bancos de dados Hive especificada nos parâmetros de configuração no Apache Ambari ou no Cloudera Manager.
Por default, o Servidor de Consulta executa uma sincronização delta entre os bancos de dados Hive no metastore que você especifica e o Servidor de Consulta. Quaisquer alterações nos bancos de dados Hive, como eliminação ou adição de tabelas, serão refletidas no Servidor de Consulta. No entanto, quando você inicia o Servidor de Consulta pela primeira vez, ele cria esquemas Oracle com base nos bancos de dados Hive que você especifica no parâmetro de configuração no Apache Ambari ou no Cloudera Manager.
Na primeira vez que o Servidor de Consulta for sincronizado com o Hive, o processo será mais lento do que o normal. Isso ocorre porque o Servidor de Consulta está importando todas as tabelas dos bancos de dados especificados (configurados no Apache Ambari ou Cloudera Manager) no cluster do Hadoop. As atualizações subsequentes devem ser muito mais rápidas, pois o Servidor de Consulta só atualiza as alterações feitas nos metadados Hive, como as adições de novas tabelas. Durante uma importação delta, o Servidor de Consulta também coleta novas estatísticas para tabelas que foram adicionadas ou modificadas.