教程:使用 Power BI 在 HDInsight 中分析 Spark 数据

了解如何使用 Microsoft Power BI 在 Azure HDInsight 中可视化 Apache Spark 群集中的数据。

本教程介绍如何执行下列操作:

  • 使用 Power BI 可视化 Spark 数据

如果没有 Azure 订阅,可以在开始前创建一个试用帐户

先决条件

验证数据

上一教程中创建的 Jupyter 笔记本包含用于创建 hvac 表的代码。 此表基于在所有 HDInsight Spark 群集上均可用的 CSV 文件(位于 \HdiSamples\HdiSamples\SensorSampleData\hvac\hvac.csv)。 使用以下过程验证数据。

  1. 从 Jupyter 笔记本中,粘贴以下代码,然后按 Shift+Enter。 该代码验证表是否存在。

    %%sql
    SHOW TABLES
    

    输出如下所示:

    在 Spark 中显示表

    如果在开始本教程之前关闭笔记本,这会清除 hvactemptable,使其不包含在输出中。 只有元存储中存储的 Hive 表(由“isTemporary”列下的“False”表示)可从 BI 工具中进行访问。 在本教程中,将连接到创建的 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 中的集群,从集群中加载数据,并根据此数据创建基本的可视化效果。

Note

本文中所示的连接器当前处于预览状态。 通过 Power BI 社区站点或 Power BI Ideas(Power BI 想法)提供反馈。

  1. 打开 Power BI Desktop
  2. 从“开始”选项卡上,单击“获取数据”,然后单击“更多”。

    从 HDInsight Apache Spark 中获取数据到 Power BI Desktop

  3. 在搜索框中输入 Spark,选择 Azure HDInsight Spark (Beta),然后单击“连接”。

    从 Apache Spark BI 中获取数据到 Power BI

  4. 输入群集 URL(格式为 mysparkcluster.azurehdinsight.cn),选择 DirectQuery,然后单击“确定”。

    Spark 可使用任一数据连接模式。 若使用 DirectQuery,则报告中会显示更改,但不刷新整个数据集。 如果导入数据,则必须刷新数据集以查看更改。 若要深入了解如何以及何时使用 DirectQuery,请参阅在 Power BI 中使用 DirectQuery

  5. 输入 HDInsight 登录帐户信息,然后单击“连接”。 默认帐户名为 admin。

  6. 选择 hvac 表,稍后即可看到数据预览,然后单击“加载”。

    Spark 群集用户名和密码

    Power BI Desktop 拥有连接到 Spark 群集和从 hvac 表中加载数据所需的信息。 该表及表中各列显示在“字段”窗格中。 请参阅下面的屏幕截图:

  7. 可视化每栋建筑物的目标温度与实际温度之间的差异:

    1. 在“可视化”窗格中,选择“分区图”。
    2. 将“BuildingID”字段拖到“轴”,并将“ActualTemp”和“TargetTemp”字段拖至“值”。

      使用 Apache Spark BI 创建 Spark 数据可视化效果

      关系图如下所示:

      使用 Apache Spark BI 创建 Spark 数据可视化效果

      默认情况下,可视化效果效果会显示 ActualTempTargetTemp 的总和。 单击“可视化效果”窗格中 ActualTemp 和 TragetTemp 旁边的向下键,可看到已选中“总和”。

    3. 单击“可视化效果”窗格中 ActualTemp 和 TragetTemp 旁边的向下键,选择“平均值”以获得每栋建筑物的实际温度与目标温度的平均值。

      使用 Apache Spark BI 创建 Spark 数据可视化效果

      数据可视化效果应与屏幕截图中类似。 在视觉效果上移动光标可获取相关数据的工具提示。

      使用 Apache Spark BI 创建 Spark 数据可视化效果

  8. 依次单击“文件”和“保存”,再输入文件名 BuildingTemperature.pbix

将报表发布到 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 服务中使用 Power BI Desktop 中创建的视觉对象。

  9. 将游标悬停在可视化效果上,然后单击右上角的固定图标。

    Power BI 服务中的报表

  10. 选择“新的仪表板”,输入名称 Building temperature,再单击“固定”。

    固定到新的仪表板

  11. 在报表中,单击“转到仪表板”。

视觉对象已固定到仪表板 - 可在报表中添加其他视觉对象,并将其固定在同一仪表板上。 有关报表和仪表板的详细信息,请参阅 Power BI 中的报表Power BI 中的仪表板

后续步骤

在本教程中,你已学习了如何执行以下操作:

  • 使用 Power BI 可视化 Spark 数据。

请前进到下一篇文章,了解如何将在 Spark 中注册的数据拉取到 Power BI 等 BI 分析工具中。