Rychlý start: Dotazování Apache HBase ve službě Azure HDInsight pomocí Apache Phoenixu

V tomto rychlém startu se naučíte používat Apache Phoenix ke spouštění dotazů HBase ve službě Azure HDInsight. Apache Phoenix je dotazovací modul SQL pro Apache HBase. Je přístupný jako ovladač JDBC a umožňuje dotazování a správu tabulek HBase pomocí SQL. SQLLine je nástroj příkazového řádku pro spuštění SQL.

Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Požadavky

Identifikace uzlu ZooKeeperu

Když se připojujete ke clusteru HBase, musíte se připojit k jednomu z uzlů Apache ZooKeeper. Každý cluster HDInsight má tři uzly ZooKeeper. Curl se dá použít k rychlé identifikaci uzlu ZooKeeperu. Upravte níže uvedený příkaz curl tak, že nahraďte PASSWORD a CLUSTERNAME příslušnými hodnotami a pak na příkazovém řádku zadejte příkaz:

curl -u admin:PASSWORD -sS -G https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/services/ZOOKEEPER/components/ZOOKEEPER_SERVER

Část výstupu bude vypadat přibližně takto:

    {
      "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"
      }

Poznamenejte si hodnotu pro host_name pro pozdější použití.

Vytvoření tabulky a manipulace s daty

Pomocí SSH se můžete připojit ke clusterům HBase a pak pomocí Apache Phoenixu vytvářet tabulky HBase, vkládat data a dotazovat se na data.

  1. Pomocí ssh příkazu se připojte ke clusteru HBase. Upravte následující příkaz tak, že nahradíte CLUSTERNAME názvem clusteru a pak zadejte příkaz:

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. Změňte adresář na klienta Phoenix. Zadejte následující příkaz:

    cd /usr/hdp/current/phoenix-client/bin
    
  3. Spusťte SQLLine. Upravte níže uvedený příkaz tak, že nahradíte ZOOKEEPER uzlem ZooKeeper, který jste identifikovali dříve, a pak zadejte příkaz:

    ./sqlline.py ZOOKEEPER:2181:/hbase-unsecure
    
  4. Vytvořte tabulku HBase. Zadejte následující příkaz:

    CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));
    
  5. Pomocí příkazu SQLLine !tables zobrazte seznam všech tabulek v HBase. Zadejte následující příkaz:

    !tables
    
  6. Vložte hodnoty do tabulky. Zadejte následující příkaz:

    UPSERT INTO Company VALUES(1, 'Microsoft');
    UPSERT INTO Company VALUES(2, 'Apache');
    
  7. Zadejte dotaz na tabulku. Zadejte následující příkaz:

    SELECT * FROM Company;
    
  8. Odstranění záznamu Zadejte následující příkaz:

    DELETE FROM Company WHERE COMPANY_ID=1;
    
  9. Vypusťte tabulku. Zadejte následující příkaz:

    DROP TABLE Company;
    
  10. Pomocí příkazu SQLLine !quit ukončete sqlLine. Zadejte následující příkaz:

    !quit
    

Vyčištění prostředků

Po dokončení tohoto rychlého startu můžete cluster odstranit. Pomocí HDInsight jsou vaše data uložena v Azure Storage, takže můžete clusteru bezpečně odstranit, pokud není používán. Za cluster služby HDInsight se účtují poplatky, i když se nepoužívá. Vzhledem k tomu, že poplatky za cluster představují několikanásobek poplatků za úložiště, dává ekonomický smysl odstraňovat clustery, které nejsou používány.

Pokud chcete odstranit cluster, přečtěte si téma Odstranění clusteru HDInsight pomocí prohlížeče, PowerShellu nebo Azure CLI.

Další kroky

V tomto rychlém startu jste zjistili, jak používat Apache Phoenix ke spouštění dotazů HBase ve službě Azure HDInsight. Další informace o Apache Phoenixu najdete v dalším článku.