使用 Apache Zeppelin 在 Azure HDInsight 中透過 Apache HBase 執行 Apache Phoenix 查詢

Apache Phoenix 是一個建置在 HBase 上且具有開放原始碼的大規模平行關聯式資料庫層。 Phoenix 可讓您使用類似于 HBase 的 SQL 查詢。 Phoenix 使用下的 JDBC 驅動程式,可讓您建立、刪除、變更 SQL 資料表、索引、視圖和序列。 您也可以使用 Phoenix 來個別且大量地更新資料列。 Phoenix 使用 NOSQL 原生編譯,而不是使用 MapReduce 來編譯查詢,讓您能夠在 HBase 之上建立低延遲的應用程式。

Apache Zeppelin 是開放原始碼的 web 型筆記本,可讓您使用互動式資料分析和 SQL 和 Scala 等語言來建立資料驅動的共同作業檔。 它可協助資料開發人員 & 資料科學家開發、組織、執行和共用資料操作的程式碼。 它可讓您在不參考命令列或需要叢集詳細資料的情況下,將結果視覺化。

HDInsight 使用者可以使用 Apache Zeppelin 來查詢 Phoenix 資料表。 Apache Zeppelin 已與 HDInsight 叢集整合,不需要額外的步驟就能使用它。 只要使用 JDBC 解譯器建立 Zeppelin 筆記本並開始撰寫您的 Phoenix SQL 查詢

必要條件

HDInsight 上的 Apache HBase 叢集。 請參閱 開始使用 Apache HBase

建立 Apache Zeppelin 記事

  1. 在下列 URL (https://CLUSTERNAME.azurehdinsight.net/zeppelin) 中,將 CLUSTERNAME 取代為您的叢集名稱。 在網頁瀏覽器中輸入該 URL。 輸入您的叢集登入使用者名稱與密碼。

  2. 在 [Zeppelin] 頁面中,選取 [ 建立新筆記]。

    HDInsight 互動式查詢 Zeppelin

  3. 從 [建立新記事] 對話方塊,輸入或選取下列值:

    • 附注名稱:輸入附注的名稱。
    • 預設解譯器:從下拉式清單中選取 [ jdbc ]。

    然後選取 [ 建立備註]。

  4. 確定筆記本標頭顯示已線上狀態。 它是由右上角的綠點表示。

    Zeppelin Notebook 狀態

  5. 建立 HBase 資料表。 輸入下列命令,然後按 Shift + enter

    %jdbc(phoenix)
    CREATE TABLE Company (
        company_id INTEGER PRIMARY KEY,
        name VARCHAR(225)
    );
    

    第一行中的 % jdbc (phoenix) 語句告訴筆記本使用 phoenix jdbc 解譯器。

  6. 查看建立的資料表。

    %jdbc(phoenix)
    SELECT DISTINCT table_name
    FROM SYSTEM.CATALOG
    WHERE table_schem is null or table_schem <> 'SYSTEM';
    
  7. 將值插入資料表。

    %jdbc(phoenix)
    UPSERT INTO dbo.Company VALUES(1, 'Microsoft');
    UPSERT INTO dbo.Company (name, company_id) VALUES('Apache', 2);
    
  8. 查詢資料表。

    %jdbc(phoenix)
    SELECT * FROM dbo.Company;
    
  9. 刪除記錄。

    %jdbc(phoenix)
    DELETE FROM dbo.Company WHERE COMPANY_ID=1;
    
  10. 卸除資料表。

    %jdbc(phoenix)
    DROP TABLE dbo.Company;
    

下一步