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

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.

  1. Utilize o ssh comando para ligar ao cluster do HBase. Edite o comando abaixo ao substituir CLUSTERNAME pelo nome do cluster e, em seguida, introduza o comando:

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

    cd /usr/hdp/current/phoenix-client/bin
    
  3. 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
    
  4. Criar uma tabela HBase. Introduza o seguinte comando:

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

    !tables
    
  6. Inserir valores na tabela. Introduza o seguinte comando:

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

    SELECT * FROM Company;
    
  8. Eliminar um registo. Introduza o seguinte comando:

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

    DROP TABLE Company;
    
  10. 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.