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
Apache HBase kümesi. Bkz. HDInsight kümesi oluşturmak için küme oluşturma . HBase küme türünü seçtiğinizden emin olun.
Bir SSH istemcisi. Daha fazla bilgi için bkz. SSH kullanarak HDInsight'a (Apache Hadoop) bağlanma.
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 PASSWORD
CLUSTERNAME
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.
HBase kümenize bağlanmak için komutunu kullanın
ssh
. öğesini kümenizin adıyla değiştirerekCLUSTERNAME
aşağıdaki komutu düzenleyin ve ardından komutunu girin:ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Dizini Phoenix istemcisi olarak değiştirin. Aşağıdaki komutu girin:
cd /usr/hdp/current/phoenix-client/bin
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
HBase tablosu oluşturun. Aşağıdaki komutu girin:
CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));
HBase'deki tüm tabloları listelemek için SQLLine
!tables
komutunu kullanın. Aşağıdaki komutu girin:!tables
Tabloya değer ekleyin. Aşağıdaki komutu girin:
UPSERT INTO Company VALUES(1, 'Microsoft'); UPSERT INTO Company VALUES(2, 'Apache');
Tabloyu sorgula. Aşağıdaki komutu girin:
SELECT * FROM Company;
Kaydı silme. Aşağıdaki komutu girin:
DELETE FROM Company WHERE COMPANY_ID=1;
Tabloyu bırakın. Aşağıdaki komutu girin:
DROP TABLE Company;
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.