Sincronizando automaticamente o catálogo do Db2 Big SQL e o metastore Hive

É possível manter o catálogo do Db2 Big SQL atualizado automaticamente com o servidor de metastore Hive do cluster Hadoop remoto ao qual ele está conectado.

Antes de iniciar

Um subdiretório em HDFS deve primeiro ser criado. Para obter mais informações, consulte Preparando para provisionar uma instância do Db2 Big SQL.

Sobre esta tarefa

Quando a sincronização automática do catálogo do Db2 Big SQL e do metastore Hive é ativada, as tabelas que são criadas pelo Hive ou outros serviços dentro dele são importadas automaticamente no Db2 Big SQLe podem ser consultadas a partir daí.

Melhor Prática: É possível executar os comandos nesta tarefa exatamente conforme gravados se você configurar variáveis de ambiente. Para obter instruções, consulte Configurando variáveis de ambiente de instalação..

Certifique-se de originar as variáveis de ambiente antes de executar os comandos nesta tarefa.

Procedimento

  1. Se a personificação Db2 Big SQL não estiver ativada, forneça Db2 Big SQL acesso ao diretório do warehouse Hive .
    Para obter detalhes, consulte Configurar o sistema de arquivos remoto..
  2. Efetue login no Red Hat® OpenShift® Container Platform como um administrador de instância.
    ${OC_LOGIN}
    Lembre-se: OC_LOGIN é um alias para o comando oc login .
  3. Mude para o projeto em que o " IBM Software Hub " control plane está instalado:
    oc project ${PROJECT_CPD_INST_OPERANDS}
  4. Identificar o ID da instância do Db2 Big SQL :
    oc get cm -l component=db2bigsql -o custom-columns="Instance Id:{.data.instance_id},Instance Name:{.data.instance_name},Created:{.metadata.creationTimestamp}"
  5. Obter o nome do Db2 Big SQL pod principal:
    head_pod=$(oc get pod -l app=bigsql-<instance_id>,name=dashmpp-head-0 --no-headers=true -o=custom-columns=NAME:.metadata.name)
  6. Copie o arquivo bigsql-sync.jar de um contêiner Db2 Big SQL em execução para seu cluster remoto.
    No exemplo a seguir, um metastore Hive existe no cluster Cloudera Data Platform (CDP) remoto, no host <server>.com. Se existirem vários metastores Hive você deve copiar o arquivo bigsql-sync.jar para cada host de metastore Hive .
    oc rsh $head_pod
    su - db2inst1
    cd /usr/ibmpacks/current/bigsql/bigsql/lib/java
    scp bigsql-sync.jar root@<server>.com:/opt/cloudera/parcels/CDH/lib/hive/lib/
    ssh root@<server>.com
    chmod 644 /opt/cloudera/parcels/CDH/lib/hive/lib/bigsql-sync.jar
  7. Configure as seguintes propriedades no Cloudera Manager, em Hive Service Advanced Configuration Snippet (Safety Valve) for hive-site.xml:
    hive.metastore.event.listeners=com.ibm.biginsights.bigsql.sync.BIEventListener
    bigsql.catalog.sync.sleep=30
    bigsql.catalog.sync.events=/user/db2inst1/sync
  8. Reinicie o serviço Hive.
  9. Crie uma tabela no Hive, em um banco de dados diferente do padrão (que não é sincronizado) e confirme se ele sincroniza automaticamente com o serviço Db2 Big SQL .
    Nota: tabelas transacionais não são sincronizadas com Db2 Big SQL.