数据帧教程

Apache Spark 数据帧 API 提供了一组丰富的功能(选择列、筛选、联接、聚合等),可让你有效地解决常见的数据分析问题。 数据帧还允许通过自定义 Python、SQL、R 和 Scala 代码无缝地混合操作。 本教程模块介绍如何:

我们还提供了一个示例笔记本,你可以导入该笔记本,访问并运行模块中包含的所有代码示例。

加载示例数据

若要开始使用数据帧,最简单的方法是使用 Azure Databricks 工作区中可访问的 /databricks-datasets 文件夹中提供的 Azure Databricks 数据集示例。 若要访问将城市人口与房屋售价中值进行比较的文件,请加载文件 /databricks-datasets/samples/population-vs-price/data_geo.csv

示例笔记本是 SQL 笔记本,因此接下来的几个命令使用 %python magic 命令

# Use the Spark CSV datasource with options specifying:
# - First line of file is a header
# - Automatically infer the schema of the data
%python
data = spark.read.csv("/databricks-datasets/samples/population-vs-price/data_geo.csv", header="true", inferSchema="true")
data.cache() # Cache data for faster reuse
data = data.dropna() # drop rows with missing values

查看数据帧

现在你已创建 data 数据帧,接下来可使用标准 Spark 命令(例如 take())快速访问数据。 例如,可使用命令 data.take(10) 查看 data 数据帧的前 10 行。

%python
data.take(10)

数据帧采用

若要以表格格式查看此数据,可使用 Azure Databricks display() 命令,而不是将数据导出到第三方工具。

%python
display(data)

显示数据帧

<a name="run-sql-queries"> 运行 SQL 查询

发出 SQL 查询之前,必须先将 data 数据帧保存为表或临时视图:

# Register table so it is accessible via SQL Context
%python
data.createOrReplaceTempView(&quot;data_geo")

然后在新单元中指定 SQL 查询,按州列出 2015 年售价中值:

select `State Code`, `2015 median sales price` from data_geo

SQL 查询 1

或者,查询华盛顿州的估算人口:

select City, `2014 Population estimate` from data_geo where `State Code` = 'WA';

SQL 查询 2

直观呈现数据帧

使用 Azure Databricks display() 命令的另一个好处是,可使用许多嵌入式可视化效果快速查看此数据。 单击图表按钮旁边的向下箭头来显示一个可视化效果类型列表:

将数据帧显示为条形图

然后,选择地图图标,创建上一部分的售价 SQL 查询的地图可视化效果:

将数据帧显示为地图

笔记本

若要运行这些代码示例和可视化效果等,请导入以下笔记本。 有关数据帧的详细信息,请参阅数据帧和数据集

Apache Spark 数据帧笔记本

获取笔记本