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
-
Crie clusters separados com o Hive e o HBase instalados ou crie um único cluster com o HBase e o Hive instalados.
-
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.
-
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.
-
Execute o shell do Hive com o comando a seguir.
hive -
(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.rproxy.goskope.comset hbase.zookeeper.quorum=public-DNS-name; -
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 ainputTableem 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