聚合
常见的聚合方法(如 .min()、.max() 和 .count())都是 GroupedData 的方法。通过调用 DataFrame 的 .groupBy() 方法可以创建 GroupedData。接下来几道练习会详细讲解其含义。现在,您只需在 DataFrame 上调用该方法即可使用这些函数。例如,要在 DataFrame df 中查找某一列 col 的最小值,您可以这样写:
df.groupBy().min("col").show()
这会创建一个 GroupedData 对象(从而可以使用 .min() 方法),然后在 col 中找到最小值,并以 DataFrame 形式返回。
现在,您可以开始亲自做一些聚合操作了!
您的工作区中已经有一个名为 spark 的 SparkSession,以及 Spark DataFrame flights。
本练习是课程的一部分
PySpark 基础
练习说明
- 先对
flights进行.filter(),并使用.min()方法,找出从 PDX 起飞、航程(distance)最短的航班长度。请直接引用列进行过滤,不要传入 SQL 字符串。 - 再通过
filter()并使用.max()方法,找出从 SEA 起飞、用时(time)最长的航班长度。请直接引用列进行过滤,不要传入 SQL 字符串。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Find the shortest flight from PDX in terms of distance
flights.filter(____.____ == ____).groupBy().____(____).show()
# Find the longest flight from SEA in terms of air time
flights.filter(____).groupBy().____.show()