Início Rápido: Consultar o Apache HBase no Azure HDInsight com o Apache Phoenix
Neste início rápido, irá aprender a utilizar o Apache Phoenix para executar consultas HBase no Azure HDInsight. O Apache Phoenix é um motor de consulta SQL para o Apache HBase. Está acessível como um controlador JDBC e permite a consulta e gestão de tabelas do HBase através de SQL. O SQLLine é um utilitário de linha de comandos para executar o SQL.
Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Pré-requisitos
Um cluster do Apache HBase. Veja Criar cluster para criar um cluster do HDInsight. Certifique-se de que escolhe o tipo de cluster HBase .
Um cliente SSH. Para obter mais informações, veja Ligar ao HDInsight (Apache Hadoop) através de SSH.
Identificar um nó do ZooKeeper
Quando se liga a um cluster do HBase, tem de se ligar a um dos nós do Apache ZooKeeper. Cada cluster do HDInsight tem três nós zooKeeper. O Curl pode ser utilizado para identificar rapidamente um nó ZooKeeper. Edite o comando curl abaixo ao substituir PASSWORD
e CLUSTERNAME
pelos valores relevantes e, em seguida, introduza o comando numa linha de comandos:
curl -u admin:PASSWORD -sS -G https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/services/ZOOKEEPER/components/ZOOKEEPER_SERVER
Uma parte da saída terá um aspeto 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"
}
Tome nota do valor para host_name
utilização posterior.
Criar uma tabela e manipular dados
Pode utilizar o SSH para ligar a clusters HBase e, em seguida, utilizar o Apache Phoenix para criar tabelas HBase, inserir dados e consultar dados.
Utilize o
ssh
comando para ligar ao cluster do HBase. Edite o comando abaixo ao substituirCLUSTERNAME
pelo nome do cluster e, em seguida, introduza o comando:ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Altere o diretório para o cliente Phoenix. Introduza o seguinte comando:
cd /usr/hdp/current/phoenix-client/bin
Inicie o SQLLine. Edite o comando abaixo ao substituir
ZOOKEEPER
pelo nó ZooKeeper identificado anteriormente e, em seguida, introduza o comando:./sqlline.py ZOOKEEPER:2181:/hbase-unsecure
Criar uma tabela HBase. Introduza o seguinte comando:
CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));
Utilize o comando SQLLine
!tables
para listar todas as tabelas no HBase. Introduza o seguinte comando:!tables
Inserir valores na tabela. Introduza o seguinte comando:
UPSERT INTO Company VALUES(1, 'Microsoft'); UPSERT INTO Company VALUES(2, 'Apache');
Consulte a tabela. Introduza o seguinte comando:
SELECT * FROM Company;
Eliminar um registo. Introduza o seguinte comando:
DELETE FROM Company WHERE COMPANY_ID=1;
Largue a tabela. Introduza o seguinte comando:
DROP TABLE Company;
Utilize o comando SQLLine
!quit
para sair do SQLLine. Introduza o seguinte comando:!quit
Limpar os recursos
Depois de concluir o início rápido, poderá querer eliminar o cluster. Com o HDInsight, os dados são armazenados no Storage do Azure, pelo que pode eliminar um cluster em segurança quando este não está a ser utilizado. Também lhe é cobrado o valor de um cluster do HDInsight mesmo quando não o está a utilizar. Uma vez que os custos do cluster são muito superiores aos custos do armazenamento, faz sentido do ponto de vista económico eliminar os clusters quando não estiverem a ser utilizados.
Para eliminar um cluster, veja Eliminar um cluster do HDInsight com o seu browser, o PowerShell ou a CLI do Azure.
Passos seguintes
Neste início rápido, aprendeu a utilizar o Apache Phoenix para executar consultas HBase no Azure HDInsight. Para saber mais sobre o Apache Phoenix, o próximo artigo irá fornecer um exame mais aprofundado.