如何在Azure Databricks中用仪表盘实现数据可视化

208 阅读7分钟

在本文中,我们将学习如何使用Azure Databricks中通常使用笔记本处理的数据来创建仪表盘。

简介

在这篇文章中,我们将学习如何使用通常在Azure Databricks中使用笔记本处理的数据来创建仪表盘。Databricks是一个数据平台,为数据工程、数据科学、机器学习和其他数据需求提供功能。在为任何类型的工作负载处理数据后,一个常见的需求是将数据可视化。从分析数据到向终端用户报告数据,数据可视化是在处理过程中以及处理后消费数据的一种常见方式。来自各种存储库的数据被输入到Azure数据砖中,通常使用带有Python、SQL和其他此类运行时的笔记本进行处理。我们将探索Azure Databricks笔记本中可用的不同类型的可视化,并使用一些可用的可视化创建一个仪表板。

Azure Databricks的设置

作为遵循本文解释的练习的前提条件,我们需要创建一些初始设置,以便我们能够专注于练习。我们需要一个具有所需权限的Azure账户来访问和管理Azure Databricks服务。假设这样的账户已经存在了。导航到Databricks服务仪表板,创建一个新的工作区。一旦创建了工作区,导航到仪表板,并点击启动按钮来启动工作区门户。它将打开一个新的窗口,主页如下图所示。

image.png

我们还需要创建一个新的集群,因为我们打算处理可能来自各种来源的数据。点击创建菜单项,选择集群菜单项。这将打开一个新的页面,我们可以提供创建新集群的细节,如下图所示。在这个练习中,我们可以使用下面显示的配置设置创建一个小型的单节点集群。

image.png

一旦创建了集群,我们就有了必要的前提条件,可以开始专注于练习,使用各种可视化的数据来源和可视化的数据。

在Azure Databricks中实现数据的可视化

我们可以先创建一个新的笔记本,作为我们的控制台,执行我们的代码来处理和可视化数据。点击左侧的创建菜单图标,选择笔记本菜单项。它将提供一个提示来选择运行时间和笔记本的名称。我们将使用Python运行时,它应该在运行时列表中已经被默认选择。为笔记本提供一个适当的名称,然后点击创建按钮,它将创建一个新的空白笔记本,如下图所示。

image.png

我们需要做的第一件事是从数据存储库中获取一些样本数据。我们可以从DFBS上传的任何数据文件中获取数据,也可以创建一个数据管道,从Azure数据湖存储、Azure Blob存储、Azure SQL数据库等数据源获取数据。但为了使我们的练习重点放在数据可视化上,我们将从Azure Databricks本身提供的一些内置数据集中获取数据,所以我们不必在获取数据上花时间。在我们开始采购数据之前,由于我们要创建一个仪表盘,我们可以使用一个简单的HTML仪表盘为仪表盘创建一个标题,如下所示。

image.png

displayHTML(“””<font size=”6″ color=”red” face=”sans-serif”><center>Dashboard Demo</center></font>”””)

一旦代码被执行,结果出现,它将如上所示。我们可以通过点击右上角菜单上的图形图标,并选择添加到新的仪表盘菜单项,立即将这个结果添加到一个新的仪表盘上。这将打开一个新的仪表盘,如下图所示。为仪表盘提供一个适当的名称,如下图所示。

image.png

我们可以通过点击 "呈现仪表板 "按钮来查看这个仪表板。它将打开一个新的页面,如下图所示。这就是我们如何通过执行不同的代码,创建数据可视化,并将其逐一添加到这个仪表盘中,从而部分地创建仪表盘。

image.png

导航回笔记本,并输入下图所示的代码。使用这段代码,我们正在获取BikeShare数据集,这是Azure Databricks的DBFS上的一个内置数据集。我们在名为df的数据框变量中读取这些数据。在接下来的代码中,我们将注册一个名为 "bikeshare "的临时表。

df = spark.read.format(“csv”).option(“inferSchema”, “true”).option(“header”, “true”).load(“dbfs:/databricks-datasets/bikeSharing/data-001/day.csv”) df.registerTempTable(“bikeshare”)

一旦代码执行成功,它将看起来如下所示。我们可以在执行输出中查看结果数据集的模式。

image.png

在下一步,我们可以开始对数据进行可视化。执行下面的查询,按季节汇总温度、湿度和风速等字段的数据。

display(spark.sql(“SELECT season, MAX(temp) as temperature, MAX(hum) as humidity, MAX(windspeed) as windspeed FROM bikeshare GROUP BY season ORDER BY SEASON”))

一旦代码执行成功,结果将如下所示。默认情况下,可视化的类型是数据网格或表格视图,所以结果会以表格的形式出现,如下图所示。

image.png

我们打算用图表或图形来可视化数据。点击结果下方的图表图标展开,我们应该可以看到Azure Databricks支持的图表列表,如下图所示。这里非常支持一些最常用的图表,如条形图、散点图、地图、线形图、面积图、饼图等。数据科学和探索性数据分析专用的图表也可用,如量化图、直方图、箱形图、量化-量化(Q-Q)图和可透视图表。

image.png

默认情况下,数据将以柱状图的形式进行可视化,因为数据的性质适合这种图表,如上图所示。在大多数情况下,数据不够简单,不能用简单的柱状图来显示。人们需要条形图的变化,如堆叠条形图、分组条形图等。此外,人们还需要编辑其他选项,如需要在不同轴上显示的值、系列和其他项目。点击 "绘图选项 "按钮来定制这个图表。它将打开一个新的弹出窗口,有如下图所示的图表定制选项。

image.png

改变键、系列和值部分的配置,如下图所示。另外,将聚合函数的值改为MAX,而不是使用SUM,因为我们已经使用SUM函数得出了我们的查询结果。我们还可以根据用户的喜好,将柱状图的类型改为堆叠式,甚至是100%堆叠式。

image.png

点击 "应用 "按钮,查看笔记本中可视化的变化。再次,点击单元格右上方菜单上的图表图标,将其添加到我们之前创建的仪表盘上。选择我们之前创建的仪表盘,这个图形将被添加到仪表盘中。

image.png 打开仪表盘,它现在看起来如下所示。我们现在有了仪表盘的标题,以及作为仪表盘元素添加的图表。

image.png

点击 "呈现仪表板",仪表板的最终视图将如下图所示。

image.png

这样,我们就可以将Azure Databricks中的数据可视化,并从笔记本中轻松创建仪表盘。

总结

在这篇文章中,我们创建了一个带有集群的Databricks工作空间实例。我们创建了一个新的笔记本,导入了样本数据,创建了新的可视化,并将其添加到一个新的仪表盘中。我们还探索了Azure Databricks所支持的各种可视化,以及定制这些可视化的方法。