你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在本教程中,了解如何使用 Microsoft Power BI 在 Azure HDInsight 中直观显示 Apache Spark 群集中的数据。
在本教程中,你将了解如何执行以下操作:
- 使用 Power BI 可视化 Spark 数据
如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
先决条件
验证数据
上一教程中创建的 Jupyter Notebook 包含用于创建 hvac 表的代码。 此表基于在所有 HDInsight Spark 群集上均可用的 CSV 文件(位于 \HdiSamples\HdiSamples\SensorSampleData\hvac\hvac.csv)。 使用以下过程验证数据。
从 Jupyter Notebook 中,粘贴以下代码,然后按 SHIFT + ENTER。 该代码验证表是否存在。
%%sql SHOW TABLES输出如下所示:
如果在开始本教程之前关闭笔记本,这会清除
hvactemptable,使其不包含在输出中。 只有元存储中存储的 Hive 表(由“isTemporary”列下的“False”表示)可从 BI 工具中进行访问 。 在本教程中,将连接到创建的 hvac 表。将以下代码粘贴到空白单元格中,然后按 Shift+Enter。 该代码验证表中的数据。
%%sql SELECT * FROM hvac LIMIT 10输出如下所示:
请在 Notebook 的“文件”菜单中选择“关闭并停止” 。 关闭 Notebook 以释放资源。
可视化数据
在本部分,将使用 Power BI 从 Spark 群集数据创建可视化效果、报表和仪表板。
在 Power BI Desktop 中创建报表
使用 Spark 的前几步是连接到 Power BI Desktop 中的集群,从集群中加载数据,并根据此数据创建基本的可视化效果。
打开 Power BI Desktop。 关闭启动初始屏幕(如果已打开)。
从“主页”选项卡,导航到“获取数据”“更多...”。
在搜索框中输入
Spark,选择 Azure HDInsight Spark,然后选择“连接” 。
在“服务器”文本框中输入群集 URL(形式为
mysparkcluster.azurehdinsight.net)。在“数据连接模式”下,择“DirectQuery”。 然后选择“确定”。
Spark 可使用任一数据连接模式。 若使用 DirectQuery,则报告中会显示更改,但不刷新整个数据集。 如果导入数据,则必须刷新数据集以查看更改。 若要深入了解如何以及何时使用 DirectQuery,请参阅在 Power BI 中使用 DirectQuery。
输入 HDInsight 登录帐户信息,然后选择“连接”。 默认帐户名为 admin。
选择
hvac表,稍后即可看到数据预览,然后选择“加载”。
Power BI Desktop 拥有连接到 Spark 群集和从
hvac表中加载数据所需的信息。 该表及表中各列显示在“字段”窗格中。可视化每栋建筑物的目标温度与实际温度之间的差异:
在“可视化”窗格中,选择“分区图” 。
将“BuildingID”字段拖到“轴”,并将“ActualTemp”和“TargetTemp”字段拖至“值” 。
关系图如下所示:
默认情况下,可视化效果效果会显示 ActualTemp 和 TargetTemp 的总和。 选择“可视化效果”窗格中 ActualTemp 和 TargetTemp 旁边的向下键,可看到已选中“总和”。
选择“可视化效果”窗格中 ActualTemp 和 TargetTemp 旁边的向下键,选择“平均值”,以获得每栋建筑物的实际温度与目标温度的平均值。
数据可视化效果应与屏幕截图中类似。 在视觉效果上移动光标可获取相关数据的工具提示。
导航到“文件”“保存”,为文件输入名称 >,然后选择“保存”。
将报表发布到 Power BI 服务(可选)
Power BI 服务允许在整个组织中共享报表和仪表板。 在本部分,首先发布数据集和报表。 然后,将报表固定到仪表板。 仪表板通常用于关注报表中的数据子集。 报表中只有一个可视化效果,但完成这些步骤仍然很有用。
打开 Power BI Desktop。
在“主页”选项卡上,选择“发布” 。
选择要将数据集和报表发布到的工作区,然后选择“选择”。 在下图中,默认选择“我的工作区”。
发布成功后,选择“在 Power BI 中打开 BuildingTemperature.pbix”。
在 Power BI 服务中,选择“输入凭据”。
选择“编辑凭据”。
输入 HDInsight 登录帐户信息,然后选择“登录”。 默认帐户名为 admin。
在左侧窗格中,转到“工作区”“我的工作区”>“报表”,然后选择“BuildingTemperature” 。
还可在左窗格中的“数据集”下找到 BuildingTemperature 。
现可在 Power BI 服务中使用 Power BI Desktop 中创建的视觉对象。
将光标悬停在可视化效果上,然后选择右上角的“固定”图标。
选择“新建仪表板”,输入名称
Building temperature,再选择“固定”。
在报表中,选择“转到仪表板”。
视觉对象已固定到仪表板 - 可在报表中添加其他视觉对象,并将其固定在同一仪表板上。 有关报表和仪表板的详细信息,请参阅 Power BI 中的报表和 Power BI 中的仪表板。
清理资源
完成本教程后,可以删除群集。 有了 HDInsight,便可以将数据存储在 Azure 存储中,因此可以在群集不用时安全地删除群集。 此外,还需要为 HDInsight 群集付费,即使不用也是如此。 由于群集费用数倍于存储空间费用,因此在群集不用时删除群集可以节省费用。
若要删除群集,请参阅使用浏览器、PowerShell 或 Azure CLI 删除 HDInsight 群集。
后续步骤
在本教程中,你已了解了如何使用 Microsoft Power BI 在 Azure HDInsight 中直观显示 Apache Spark 群集中的数据。 请继续学习下一篇文章,试着创建一个机器学习应用程序。