Sdílet prostřednictvím


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

V tomto rychlém startu se dozvíte, jak pomocí Apache Phoenixu spouštět dotazy HBase ve službě Azure HDInsight. Apache Phoenix je dotazovací stroj 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

Identifikujte uzel ZooKeeper

Když se připojíte 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 ZooKeeper. Upravte níže uvedený příkaz curl tak, že nahradíte PASSWORD a CLUSTERNAME příslušnými hodnotami, a poté zadejte příkaz do příkazového řádku.

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

Část výstupu bude vypadat nějak 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 host_name pro pozdější použití.

Vytvoření tabulky a manipulace s daty

SSH můžete použít pro připojení ke clusterům HBase a následné použití Apache Phoenixu k vytváření tabulek HBase, vkládání dat a dotazování dat.

  1. Pomocí ssh příkazu se připojte ke clusteru HBase. Upravte následující příkaz nahrazením CLUSTERNAME názvu clusteru a zadáním příkazu:

    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ásledující příkaz nahrazením ZOOKEEPER uzlu 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 zobrazíte seznam všech tabulek v HBase. Zadejte následující příkaz:

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

    UPSERT INTO Company VALUES(1, 'Microsoft');
    UPSERT INTO Company VALUES(2, 'Apache');
    
  7. Proveďte 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. Odstraňte tabulku. Zadejte následující příkaz:

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

    !quit
    

Čištění zdrojů

Po dokončení rychlého startu možná budete chtít cluster odstranit. Ve službě HDInsight se vaše data ukládají ve službě Azure Storage, takže můžete cluster bezpečně odstranit, když se nepoužívá. Za cluster HDInsight se vám také účtují poplatky, i když se nepoužívá. Vzhledem k tomu, že poplatky za cluster jsou mnohokrát větší než poplatky za úložiště, dává smysl odstranit clustery, když se nepoužívají.

Pokud chcete cluster odstranit, 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 pomocí Apache Phoenixu spouštět dotazy HBase ve službě Azure HDInsight. Další informace o Apache Phoenixu najdete v dalším článku.