Hızlı Başlangıç: Apache Phoenix ile Azure HDInsight'ta Apache HBase sorgulama

Bu hızlı başlangıçta Apache Phoenix kullanarak Azure HDInsight'ta HBase sorgularını çalıştırmayı öğreneceksiniz. Apache Phoenix, Apache HBase için bir SQL sorgu altyapısıdır. Buna JDBC sürücüsü olarak erişilir ve bu SQL kullanarak HBase tablolarını sorgulamayı ve yönetmeyi sağlar. SQLLine, SQL'i yürütmek için kullanılan bir komut satırı yardımcı programıdır.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Önkoşullar

ZooKeeper düğümünü tanımlama

Bir HBase kümesine bağlandığınızda Apache ZooKeeper düğümlerinden birine bağlanmanız gerekir. Her HDInsight kümesinin üç ZooKeeper düğümü vardır. Curl, bir ZooKeeper düğümünü hızla tanımlamak için kullanılabilir. ve değerlerini ilgili değerlerle değiştirerek PASSWORDCLUSTERNAME aşağıdaki curl komutunu düzenleyin ve komutu bir komut istemine girin:

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

Çıkışın bir bölümü şuna benzer olacaktır:

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

Daha sonra kullanmak üzere değerini host_name not edin.

Tablo oluşturma ve verileri işleme

HBase kümelerine bağlanmak için SSH kullanabilir ve ardından Apache Phoenix kullanarak HBase tabloları oluşturabilir, veri ekleyebilir ve verileri sorgulayabilirsiniz.

  1. HBase kümenize bağlanmak için komutunu kullanın ssh . öğesini kümenizin adıyla değiştirerek CLUSTERNAME aşağıdaki komutu düzenleyin ve ardından komutunu girin:

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. Dizini Phoenix istemcisi olarak değiştirin. Aşağıdaki komutu girin:

    cd /usr/hdp/current/phoenix-client/bin
    
  3. SQLLine'ı başlatın. öğesini daha önce tanımlanan ZooKeeper düğümüyle değiştirerek ZOOKEEPER aşağıdaki komutu düzenleyin ve komutunu girin:

    ./sqlline.py ZOOKEEPER:2181:/hbase-unsecure
    
  4. HBase tablosu oluşturun. Aşağıdaki komutu girin:

    CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));
    
  5. HBase'deki tüm tabloları listelemek için SQLLine !tables komutunu kullanın. Aşağıdaki komutu girin:

    !tables
    
  6. Tabloya değer ekleyin. Aşağıdaki komutu girin:

    UPSERT INTO Company VALUES(1, 'Microsoft');
    UPSERT INTO Company VALUES(2, 'Apache');
    
  7. Tabloyu sorgula. Aşağıdaki komutu girin:

    SELECT * FROM Company;
    
  8. Kaydı silme. Aşağıdaki komutu girin:

    DELETE FROM Company WHERE COMPANY_ID=1;
    
  9. Tabloyu bırakın. Aşağıdaki komutu girin:

    DROP TABLE Company;
    
  10. SQLLine'dan !quit çıkmak için SQLLine komutunu kullanın. Aşağıdaki komutu girin:

    !quit
    

Kaynakları temizleme

Hızlı başlangıcı tamamladıktan sonra kümeyi silmek isteyebilirsiniz. HDInsight ile, verileriniz Azure Storage’da depolanır, böylece kullanılmadığında bir kümeyi güvenle silebilirsiniz. Ayrıca, kullanılmıyorken dahi HDInsight kümesi için sizden ücret kesilir. Küme ücretleri depolama ücretlerinin birkaç katı olduğundan, kullanılmadığında kümelerin silinmesi mantıklı olandır.

Kümeyi silmek için bkz. Tarayıcınızı, PowerShell'i veya Azure CLI'yı kullanarak HDInsight kümesini silme.

Sonraki adımlar

Bu hızlı başlangıçta Apache Phoenix kullanarak Azure HDInsight'ta HBase sorgularını çalıştırmayı öğrendiniz. Apache Phoenix hakkında daha fazla bilgi edinmek için sonraki makale daha ayrıntılı bir inceleme sağlayacaktır.