View a markdown version of this page

Acessar tabelas do HBase usando o Hive - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Acessar tabelas do HBase usando o Hive

O HBase e o Apache Hive são totalmente integrados, permitindo que você execute workloads de processamento paralelo de maneira massiva, diretamente nos dados armazenados no HBase. Para usar o Hive com o HBase, geralmente você pode executá-los no mesmo cluster. Porém, é possível executar o Hive e o HBase em clusters separados. A execução do HBase e do Hive em diferentes clusters pode melhorar o desempenho, pois permite que cada aplicativo use recursos de cluster de forma mais eficiente.

Os procedimentos a seguir mostram como se conectar ao HBase em um cluster usando o Hive.

nota

Você só pode conectar um cluster Hive a um cluster HBase.

Para conectar o Hive ao HBase
  1. Crie clusters separados com o Hive e o HBase instalados ou crie um único cluster com o HBase e o Hive instalados.

  2. Se você estiver usando clusters separados, modifique seus grupos de segurança para que as portas do HBase e do Hive fiquem abertas entre esses dois nós primários.

  3. Use o SSH para se conectar ao nó central do cluster com o Hive instalado. Para obter mais informações, consulte Connect to the primary node using SSH no Guia de gerenciamento do Amazon EMR.

  4. Execute o shell do Hive com o comando a seguir.

    hive
  5. (Opcional) Você não precisará fazer isso se o HBase e o Hive estiverem localizados no mesmo cluster. Conecte o cliente HBase no cluster Hive ao cluster HBase que contém seus dados. No exemplo a seguir, public-DNS-name é substituído pelo nome DNS público do nó primário do cluster HBase, por exemplo:. ec2-50-19-76-67.compute-1.amazonaws.com

    set hbase.zookeeper.quorum=public-DNS-name;
  6. Continue a executar consultas do Hive nos seus dados do HBase conforme desejado ou consulte o próximo procedimento.

Para acessar dados do HBase a partir do Hive
  • Uma vez estabelecida a conexão entre os clusters Hive e HBase (conforme mostrado no procedimento anterior), você pode acessar os dados armazenados no cluster HBase, criando uma tabela externa no Hive.

    O exemplo a seguir, quando executado no prompt do Hive no nó primário, cria uma tabela externa que faz referência a dados armazenados em uma tabela do HBase chamada inputTable. Você pode fazer referência a inputTable em instruções do Hive para consultar e modificar dados armazenados no cluster HBase.

    set hbase.zookeeper.quorum=ec2-107-21-163-157.compute-1.amazonaws.com; create external table inputTable (key string, value string) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties ("hbase.columns.mapping" = ":key,f1:col1") tblproperties ("hbase.table.name" = "t1"); select count(key) from inputTable ;

Para um caso de uso mais avançado e um exemplo de combinação do HBase e do Hive, consulte a postagem do blog sobre AWS Big Data, Combine NoSQL e análises paralelas massivas usando o Apache HBase e o Apache Hive no Amazon EMR.