共用方式為


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

在本教學課程中,了解如何使用 Microsoft Power BI 在 Azure HDInsight 中將 Apache Spark 叢集中的資料視覺化。

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

  • 使用 Power BI 將 Spark 資料視覺化

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

必要條件

驗證資料

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

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

    %%sql
    SHOW TABLES
    

    輸出如下所示:

    顯示 Spark 中資料表的螢幕快照。

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

  2. 將以下程式碼貼入空白儲存格,然後按下 SHIFT + ENTER 鍵。 該程式碼會驗證資料表中的資料。

    %%sql
    SELECT * FROM hvac LIMIT 10
    

    輸出如下所示:

    顯示 Spark 中 hvac 資料表資料列的螢幕快照。

  3. 從 Notebook 的 [檔案] 功能表中,選取 [關閉並終止]。 關閉 Notebook 來釋放資源。

將資料視覺化

在本節中,您會使用 Power BI 從 Spark 叢集資料建立視覺效果、報表及儀表板。

在 Power BI Desktop 中建立報表

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

  1. 開啟 Power BI Desktop。 關閉啟動顯示畫面 (如果它已開啟)。

  2. 從 [首頁] 索引標籤,巡覽至 [取得資料]>[更多...]

    顯示從 HDInsight Apache Spark 取得 Power BI Desktop 數據的螢幕快照。

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

    顯示從 Apache Spark BI 取得 Power BI 數據的螢幕快照。

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

  5. 在 [資料連線模式] 之下,選取 [DirectQuery]。 然後選取確定

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

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

  7. 選取 hvac 資料表,等待查看資料的預覽,然後選取 [載入]

    顯示 Spark 叢集使用者名稱和密碼的螢幕快照。

    Power BI Desktop 擁有連線至 Spark 叢集以及從 hvac 資料表載入資料所需的資訊。 資料表及其資料行會顯示在 [欄位] 窗格中。

  8. 將每棟建築物之目標溫度和實際溫度間的差異視覺化:

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

    2. 將 [BuildingID] 欄位拖曳至 [軸],並將 [ActualTemp] 和 [TargetTemp] 欄位拖曳至 [值]

      顯示加值數據行的螢幕快照。

      圖表看起來如下:

      顯示區域圖表總和的螢幕快照。

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

    3. 在 [視覺效果] 窗格中,選取 [ActualTemp] 與 [TargetTemp] 旁的向下箭頭,選取 [平均值] 以取得每棟建築物之實際溫度與目標溫度的平均值。

      顯示平均值的螢幕快照。

      您的資料視覺效果應該類似於螢幕擷取畫面中的視覺效果。 在視覺效果上移動游標可取得相關資料的工具提示。

      顯示分區圖的螢幕快照

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

將報告發佈至 Power BI 服務 (選用)

Power BI 服務可讓您跨組織共用報表和儀表板。 在本節中,您會首次發佈資料集和報表。 然後,您會將報表釘選到儀表板。 儀表板通常用來專注於報表中的資料子集。 您的報表中只有一個視覺效果,但逐步執行這些步驟仍然很有用。

  1. 開啟 Power BI Desktop。

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

    顯示從 Power BI Desktop 發佈的螢幕快照。

  3. 選取要發佈資料集和報表的目標工作區,然後選取 [選取]。 在下列映像中,已選取預設值 [我的工作區]

    顯示選取要發佈數據集和報表工作區的螢幕快照。

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

    顯示發佈成功的螢幕快照,按兩下以輸入認證。

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

    顯示如何在 Power BI 服務 中輸入認證的螢幕快照。

  6. 選取 [編輯認證]

    顯示 [編輯 Power BI 服務 認證] 的螢幕快照。

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

    顯示登入 Spark 叢集的螢幕快照。

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

    顯示左窗格中報表下所列報表的螢幕快照。

    您也應該會看到 [BuildingTemperature] 列於左側窗格中 [資料集] 底下。

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

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

    顯示 Power BI 服務 中報表的螢幕快照。

  10. 選取 [新的儀表板],輸入名稱 Building temperature,然後選取 [釘選]

    顯示釘選到新儀錶板的螢幕快照。

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

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

清除資源

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

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

下一步

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