使用 Apache Zeppelin 在 Azure HDInsight 中透過 Apache HBase 執行 Apache Phoenix 查詢
Apache Phoenix 是以 HBase 為基礎的 開放原始碼 大規模平行關係資料庫層。 Phoenix 可讓您使用 SQL,例如透過 HBase 的查詢。 Phoenix 使用下方的 JDBC 驅動程式,讓您能夠建立、刪除、改變 SQL 資料表、索引、檢視和序列。 您也可以使用 Phoenix 個別和大量更新資料列。 Phoenix 會使用 NOSQL 原生編譯,而不是使用 MapReduce 來編譯查詢,以在 HBase 上建立低延遲的應用程式。
Apache Zeppelin 是一種 開放原始碼 Web 型筆記本,可讓您使用互動式數據分析和 SQL 和 Scala 等語言來建立數據驅動、共同作業檔。 它可協助數據開發人員和數據科學家開發、組織、執行及共享數據操作的程式碼。 它可讓您在不參考命令行或需要叢集詳細數據的情況下,將結果可視化。
HDInsight 使用者可以使用 Apache Zeppelin 來查詢 Phoenix 數據表。 Apache Zeppelin 已與 HDInsight 叢集整合,而且沒有其他步驟可使用。 使用 JDBC 解釋器建立 Zeppelin Notebook,並開始撰寫 Phoenix SQL 查詢
必要條件
HDInsight 上的 Apache HBase 叢集。 請參閱 開始使用 Apache HBase。
建立 Apache Zeppelin 記事
在下列 URL (
https://CLUSTERNAME.azurehdinsight.net/zeppelin
) 中,將CLUSTERNAME
取代為您的叢集名稱。 在網頁瀏覽器中輸入該 URL。 輸入您的叢集登入使用者名稱與密碼。從 Zeppelin 頁面,選取 [ 建立新附注]。
從 [建立新記事] 對話方塊,輸入或選取下列值:
- 記事名稱:輸入記事的名稱。
- 預設解譯器:從下拉式清單中選取 [jdbc]。
然後選取 [ 建立附注]。
確定筆記本標頭會顯示連線狀態。 其以右上角的綠色點表示。
建立 HBase 資料表。 輸入下列命令,然後按 Shift + Enter:
%jdbc(phoenix) CREATE TABLE Company ( company_id INTEGER PRIMARY KEY, name VARCHAR(225) );
前線的 %jdbc(phoenix) 語句會告訴筆記本使用 Phoenix JDBC 解釋器。
檢視已建立的數據表。
%jdbc(phoenix) SELECT DISTINCT table_name FROM SYSTEM.CATALOG WHERE table_schem is null or table_schem <> 'SYSTEM';
將值插入資料表。
%jdbc(phoenix) UPSERT INTO Company VALUES(1, 'Microsoft'); UPSERT INTO Company (name, company_id) VALUES('Apache', 2);
查詢資料表。
%jdbc(phoenix) SELECT * FROM Company;
刪除記錄。
%jdbc(phoenix) DELETE FROM Company WHERE COMPANY_ID=1;
卸除資料表。
%jdbc(phoenix) DROP TABLE Company;