Guia de início rápido: consultar o Apache HBase no Azure HDInsight usando o Apache Phoenix
Neste início rápido, você aprenderá a usar o Apache Phoenix para executar consultas do HBase no Azure HDInsight. O Apache Phoenix é um mecanismo de consulta SQL para o Apache HBase. Ele é acessado como um driver JDBC e permite consultar e gerenciar tabelas do HBase utilizando o SQL. SQLLine é um utilitário de linha de comando para executar o SQL.
Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Pré-requisitos
Um cluster do Apache HBase. Confira Criar cluster para criar um cluster HDInsight. Escolha o tipo de cluster HBase.
Um cliente SSH. Para saber mais, confira Conectar-se ao HDInsight (Apache Hadoop) usando SSH.
Identificar um nó do ZooKeeper
Quando se conectar a um cluster HBase, você precisará se conectar a um dos nós do Apache ZooKeeper. Cada cluster HDInsight tem três nós do ZooKeeper. É possível usar o Curl para identificar rapidamente um nó do ZooKeeper. Para editar o comando curl a seguir, substitua PASSWORD
e CLUSTERNAME
pelos valores relevantes e, em seguida, digite o comando em um prompt de comando:
curl -u admin:PASSWORD -sS -G https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/services/ZOOKEEPER/components/ZOOKEEPER_SERVER
Uma parte da saída será semelhante a:
{
"href" : "http://hn*.432dc3rlshou3ocf251eycoapa.bx.internal.cloudapp.net:8080/api/v1/clusters/myCluster/hosts/<zookeepername1>.432dc3rlshou3ocf251eycoapa.bx.internal.cloudapp.net/host_components/ZOOKEEPER_SERVER",
"HostRoles" : {
"cluster_name" : "myCluster",
"component_name" : "ZOOKEEPER_SERVER",
"host_name" : "<zookeepername1>.432dc3rlshou3ocf251eycoapa.bx.internal.cloudapp.net"
}
Anote o valor de host_name
para uso posterior.
Criar uma tabela e manipular dados
Você pode usar o SSH para se conectar a clusters HBase e, em seguida, usar o Apache Phoenix para criar tabelas do HBase, inserir dados e consultar dados.
Use o comando
ssh
para se conectar ao cluster HBase. Edite o comando abaixo substituindoCLUSTERNAME
pelo nome do cluster e, em seguida, digite o comando:ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Altere o diretório para o cliente do Phoenix. Digite o seguinte comando:
cd /usr/hdp/current/phoenix-client/bin
Inicie o SQLLine. Edite o comando abaixo substituindo
ZOOKEEPER
pelo nome do nó do ZooKeeper identificado anteriormente e, em seguida, insira o comando:./sqlline.py ZOOKEEPER:2181:/hbase-unsecure
Crie uma tabela do HBase. Digite o seguinte comando:
CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));
Use o comando
!tables
do SQLLine para listar todas as tabelas no HBase. Digite o seguinte comando:!tables
Insira os valores na tabela. Digite o seguinte comando:
UPSERT INTO Company VALUES(1, 'Microsoft'); UPSERT INTO Company VALUES(2, 'Apache');
Consulte a tabela. Digite o seguinte comando:
SELECT * FROM Company;
Exclua um registro. Digite o seguinte comando:
DELETE FROM Company WHERE COMPANY_ID=1;
Descarte a tabela. Digite o seguinte comando:
DROP TABLE Company;
Use o comando
!quit
do SQLLine para sair do SQLLine. Digite o seguinte comando:!quit
Limpar os recursos
Após concluir o início rápido, poderá ser conveniente excluir o cluster. Com o HDInsight, seus dados são armazenados no Armazenamento do Azure, assim você poderá excluir, com segurança, um cluster quando ele não estiver em uso. Você também é cobrado por um cluster HDInsight, mesmo quando ele não está em uso. Como os encargos para o cluster são muitas vezes maiores do que os encargos para armazenamento, faz sentido, do ponto de vista econômico, excluir os clusters quando não estiverem em uso.
Para excluir um cluster, confira Delete an HDInsight cluster using your browser, PowerShell, or the Azure CLI (Excluir um cluster HDInsight usando o navegador, o PowerShell ou a CLI do Azure).
Próximas etapas
Neste início rápido, você aprendeu a usar o Apache Phoenix para executar consultas do HBase no Azure HDInsight. Para saber mais sobre o Apache Phoenix, o próximo artigo fornecerá uma análise mais detalhada.