PySpark 的 groupby
您已经学习了如何使用 dask 框架及其 DataFrame 抽象来进行一些计算。不过,正如视频中所示,在大数据领域,Spark 可能是更常见的数据处理选择。
在本练习中,您将使用 PySpark 包来处理一个 Spark DataFrame。数据与之前练习相同:1896 年至 2016 年间参加奥运会的运动员。
Spark DataFrame athlete_events_spark 已在您的工作区中可用。
本练习将用到以下方法:
.printSchema():打印 Spark DataFrame 的架构。.groupBy():为聚合进行分组。.mean():对每个分组取平均值。.show():显示结果。
本练习是课程的一部分
Data Engineering 入门
练习说明
- 查看
athlete_events_spark的类型。 - 查看
athlete_events_spark的架构。 - 打印按年份分组的奥运选手平均年龄。注意,Spark 此时尚未真正计算结果。这称为惰性求值(lazy evaluation)。
- 在上一步结果上调用
.show(),以实际计算并显示平均年龄。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Print the type of athlete_events_spark
print(____(athlete_events_spark))
# Print the schema of athlete_events_spark
print(athlete_events_spark.____())
# Group by the Year, and find the mean Age
print(athlete_events_spark.____('Year').mean(____))
# Group by the Year, and find the mean Age
print(athlete_events_spark.____('Year').mean(____).____())