Compartilhar via


Início Rápido: Consultar o Apache HBase no Azure HDInsight com o Apache Phoenix

Neste início rápido, você aprenderá a usar o Apache Phoenix para executar consultas HBase no Azure HDInsight. O Apache Phoenix é um mecanismo de consulta SQL para Apache HBase. Ele é acessado como um driver JDBC e permite consultar e gerenciar tabelas HBase usando SQL. O 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

Identificar um nó do ZooKeeper

Quando você se conecta a um cluster HBase, precisa se conectar a um dos nós do Apache ZooKeeper. Cada cluster HDInsight tem três nós do ZooKeeper. Curl pode ser usado para identificar rapidamente um nó ZooKeeper. Edite o comando curl abaixo substituindo PASSWORD e CLUSTERNAME com os valores relevantes e insira 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 HBase, inserir dados e consultar dados.

  1. Use o comando ssh para se conectar ao cluster HBase. Edite o comando abaixo substituindo CLUSTERNAME pelo nome do cluster e então insira o comando:

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. Altere o diretório para o cliente Phoenix. Insira o seguinte comando:

    cd /usr/hdp/current/phoenix-client/bin
    
  3. Inicie SQLLine. Edite o comando abaixo substituindo ZOOKEEPER pelo nó ZooKeeper identificado anteriormente e, então, insira o comando:

    ./sqlline.py ZOOKEEPER:2181:/hbase-unsecure
    
  4. Crie uma tabela HBase. Insira o seguinte comando:

    CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));
    
  5. Use o comando SQLLine !tables para listar todas as tabelas no HBase. Insira o seguinte comando:

    !tables
    
  6. Insira valores na tabela. Insira o seguinte comando:

    UPSERT INTO Company VALUES(1, 'Microsoft');
    UPSERT INTO Company VALUES(2, 'Apache');
    
  7. Consulte a tabela. Insira o seguinte comando:

    SELECT * FROM Company;
    
  8. Exclua um registro. Insira o seguinte comando:

    DELETE FROM Company WHERE COMPANY_ID=1;
    
  9. Descarte a tabela. Insira o seguinte comando:

    DROP TABLE Company;
    
  10. Use o comando SQLLine !quit para sair do SQLLine. Insira 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, para que você possa 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 mais do que os encargos para o armazenamento, faz sentido econômico excluir clusters quando eles não estão em uso.

Para excluir um cluster, consulte 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 HBase no Azure HDInsight. Para saber mais sobre o Apache Phoenix, o próximo artigo fornecerá um exame mais aprofundado.