在本快速入門中,您將瞭解如何使用 Apache Phoenix 在 Azure HDInsight 中執行 HBase 查詢。 Apache Phoenix 是 Apache HBase 的 SQL 查詢引擎。 它以 JDBC 驅動程式的形式存取,並允許使用 SQL 查詢和管理 HBase 表格。 SQLLine 是執行 SQL 的命令列公用程式。
如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶。
先決條件
Apache HBase 叢集。 請參閱 建立叢集 以建立 HDInsight 叢集。 請確定您選擇 HBase 叢集類型。
SSH 用戶端。 如需詳細資訊,請參閱使用 SSH 連線到 HDInsight (Apache Hadoop)。
識別 ZooKeeper 節點
當您連線到 HBase 叢集時,您需要連線到其中一個 Apache ZooKeeper 節點。 每個 HDInsight 叢集都有三個 ZooKeeper 節點。 Curl 可用於快速識別 ZooKeeper 節點。 請編輯以下 curl 命令,將PASSWORD和CLUSTERNAME替換為相關的值,然後在命令提示字元中輸入該命令:
curl -u admin:PASSWORD -sS -G https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/services/ZOOKEEPER/components/ZOOKEEPER_SERVER
部分輸出看起來類似:
{
"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"
}
記下值 host_name 以備後用。
建立資料表並操作資料
可以使用SSH連接HBase集群,然後使用Apache Phoenix建立HBase表、插入資料、查詢資料。
請使用
ssh命令連線到您的 HBase 叢集。 透過取代CLUSTERNAME為叢集名稱來編輯下列命令,然後輸入命令:ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net將目錄變更為 Phoenix 用戶端。 輸入下列命令:
cd /usr/hdp/current/phoenix-client/bin啟動 SQLLine。 編輯下面的命令,然後將其中的
ZOOKEEPER替換為之前識別的 ZooKeeper 節點,再輸入該命令:./sqlline.py ZOOKEEPER:2181:/hbase-unsecure建立 HBase 資料表。 輸入下列命令:
CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));使用 SQLLine
!tables命令列出 HBase 中的所有表格。 輸入下列命令:!tables在表格中插入值。 輸入下列命令:
UPSERT INTO Company VALUES(1, 'Microsoft'); UPSERT INTO Company VALUES(2, 'Apache');查詢資料表。 輸入下列命令:
SELECT * FROM Company;刪除記錄。 輸入下列命令:
DELETE FROM Company WHERE COMPANY_ID=1;放下桌子。 輸入下列命令:
DROP TABLE Company;使用 SQLLine
!quit指令來結束 SQLLine。 輸入下列命令:!quit
清理資源
完成此快速入門之後,您可以刪除叢集。 使用 HDInsight,您的資料會儲存在 Azure 儲存體中,因此您可以在叢集未使用時安全地刪除叢集。 您也需要支付 HDInsight 叢集的費用,即使它未在使用中。 由於叢集的費用是儲存體費用的許多倍,因此在叢集不使用時刪除叢集具有經濟意義。
若要刪除叢集,請參閱 使用瀏覽器、PowerShell 或 Azure CLI 刪除 HDInsight 叢集。
後續步驟
在本快速入門中,您已瞭解如何使用 Apache Phoenix 在 Azure HDInsight 中執行 HBase 查詢。 要了解有關 Apache Phoenix 的更多信息,下一篇文章將提供更深入的研究。