教學課程:在 HDInsight 中使用 Power BI 分析 Apache Spark 數據

在本教學課程中,您將瞭解如何使用 Microsoft Power BI,在 Azure HDInsight 中的 Apache Spark 叢集中將數據可視化。

在本教學課程中,您會了解如何:

  • 使用 Power BI 將 Spark 數據可視化

如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

必要條件

確認數據

您在上一個教學課程中建立的 Jupyter Notebook 包含用來建立資料表的程式hvac代碼。 此數據表是以 位於 的所有 HDInsight Spark 叢集 \HdiSamples\HdiSamples\SensorSampleData\hvac\hvac.csv上可用的 CSV 檔案為基礎。 使用下列程式來驗證數據。

  1. 從 Jupyter Notebook 貼上下列程式代碼,然後按 SHIFT + ENTER。 程式代碼會驗證數據表是否存在。

    %%sql
    SHOW TABLES
    

    輸出如下所示:

    Show tables in Spark.

    如果您在開始本教學課程之前關閉筆記本, hvactemptable 則會清除,因此不會包含在輸出中。 只有儲存在中繼存放區中的Hive資料表(在isTemporary資料行下以 False 表示)才能從BI工具存取。 在本教學課程中,您會連線到您所建立的 hvac 數據表。

  2. 將下列程式代碼貼到空白儲存格中,然後按 SHIFT + ENTER。 程式代碼會驗證數據表中的數據。

    %%sql
    SELECT * FROM hvac LIMIT 10
    

    輸出如下所示:

    Show rows from hvac table in Spark.

  3. 從筆記本上的 [ 檔案 ] 功能表中,選取 [關閉] 和 [ 停止]。 關閉筆記本以釋放資源。

將資料視覺化

在本節中,您會使用 Power BI 從 Spark 叢集數據建立視覺效果、報表和儀錶板。

在 Power BI Desktop 中建立報表

使用 Spark 的第一個步驟是連線到 Power BI Desktop 中的叢集、從叢集載入數據,並根據該數據建立基本視覺效果。

  1. 開啟 Power BI Desktop。 如果啟動顯示畫面開啟,請關閉它。

  2. 從 [首頁] 索引標籤,流覽至 [取得數據>更多]。

    Get data into Power BI Desktop from HDInsight Apache Spark.

  3. 在搜尋方塊中輸入Spark,選取 [Azure HDInsight Spark],然後選取 [連線]。

    Get data into Power BI from Apache Spark BI.

  4. 在 [伺服器] 文字框中輸入您的叢集 URL (格式mysparkcluster.azurehdinsight.net)。

  5. 在 [數據連線模式] 底下,選取 [DirectQuery]。 然後選取確定

    您可以使用任一數據連線模式搭配 Spark。 如果您使用 DirectQuery,則變更會反映在報表中,而不會重新整理整個數據集。 如果您匯入數據,則必須重新整理數據集以查看變更。 如需如何使用 DirectQuery 的詳細資訊,請參閱 在 Power BI 中使用 DirectQuery。

  6. 輸入 HDInsight 登入帳戶資訊,然後選取 [連線]。 默認帳戶名稱為 admin

  7. hvac選取數據表,等候查看數據的預覽,然後選取 [載入]。

    Spark cluster user name and password.

    Power BI Desktop 具有連線到 Spark 叢集以及從 hvac 數據表載入資料所需的資訊。 數據表及其數據行會顯示在 [字段 ] 窗格中。

  8. 將每個建築物的目標溫度與實際溫度之間的差異可視化:

    1. 在 [ 視覺效果] 窗格中,選取 [ 分區圖]。

    2. BuildingID 字段拖曳至 [軸],然後將 ActualTempTargetTemp 字段拖曳[值]。

      add value columns.

      圖表看起來如下:

      area graph sum.

      根據預設,視覺效果會顯示 ActualTemp 和 TargetTemp 的總。 在 [視覺效果] 窗格中選取 ActualTempTragetTemp的向下箭號,您可以看到已選取 [總和]。

    3. 在 [視覺效果] 窗格中選取 ActualTempTragetTemp的向下箭號,選取 [平均值] 以取得每個建築物的實際溫度和目標溫度平均值。

      average of values.

      您的數據視覺效果應該類似螢幕快照中的視覺效果。 將游標移至視覺效果上方,以取得相關數據的工具提示。

      area graph .png “ alt-text=”area graph.“ border=”true“::

  9. 流覽至 [檔案>儲存],輸入檔案的名稱BuildingTemperature,然後選取 [儲存]。

將報表發佈至 Power BI 服務(選擇性)

Power BI 服務 可讓您在組織中共用報表和儀錶板。 在本節中,您會先發佈數據集和報表。 然後,您會將報表釘選到儀錶板。 儀錶板通常用來專注於報表中的數據子集。 報表中只有一個視覺效果,但完成這些步驟仍然很有用。

  1. 開啟 Power BI Desktop。

  2. 首頁索引標籤中選取發佈

    Publish from Power BI Desktop. Desktop“ border=”true“:::

  3. 選取要發佈數據集和報表的工作區,然後選取 [ 選取]。 在下圖中,已選取預設 的 [我的工作區 ]。

    Select workspace to publish dataset and report to.

  4. 發行成功之後,選取 [在 Power BI 中開啟 'BuildingTemperature.pbix']。

    Publish success, click to enter credentials.

  5. 在 Power BI 服務 中,選取 [輸入認證]。

    Enter credentials in Power BI service. “ border=”true“:::

  6. 選取 [ 編輯認證]。

    Edit credentials in Power BI service.

  7. 輸入 HDInsight 登入帳戶資訊,然後選取 [ 登入]。 默認帳戶名稱為 admin

    Sign in to Spark cluster. Spark 叢集“border=”true“:::

  8. 在左窗格中,移至 [工作區>我的工作區>報表],然後選取 [BuildingTemperature]。

    Report listed under reports in left pane.

    您也應該會在左窗格中的 [數據集] 底下看到 BuildingTemperature

    您在 Power BI Desktop 中建立的視覺效果現在可在 Power BI 服務 中使用。

  9. 將游標暫留在視覺效果上方,然後選取右上角的釘選圖示。

    Report in the Power BI service.

  10. 選取 [新增儀錶板],輸入名稱 Building temperature,然後選取 [ 釘選]。

    Pin to new dashboard. 至新的儀錶板「border=」true」:::

  11. 在報表中,選取 [移至儀錶板]。

您的視覺效果已釘選到儀錶板 - 您可以將其他視覺效果新增至報表,並將其釘選到相同的儀錶板。 如需報表和儀錶板的詳細資訊,請參閱 Power BI 中的報表和 Power BI 中的儀錶板。

清除資源

完成本教學課程之後,您可能會想要刪除叢集。 利用 HDInsight,您的資料會儲存在 Azure 儲存體中,以便您在未使用叢集時安全地刪除該叢集。 您也需支付 HDInsight 叢集的費用 (即使未使用該叢集)。 由於叢集費用是儲存體費用的許多倍,所以刪除未使用的叢集符合經濟效益。

若要刪除叢集,請參閱使用您的瀏覽器、PowerShell 或 Azure CLI 刪除 HDInsight 叢集

下一步

在本教學課程中,您已瞭解如何使用 Microsoft Power BI,在 Azure HDInsight 中的 Apache Spark 叢集中將數據可視化。 前進到下一篇文章,以查看您可以建立機器學習應用程式。