使用窗口函数 SQL 计算运行和
窗口函数类似于聚合函数,但它会为数据集中的每一行返回一个输出,而不是每个分组只返回一行。
您可以将聚合与窗口函数结合使用。使用窗口函数计算运行和比用连接实现更简单,查询执行时间也可能更快。
已为您提供名为 schedule 的表,包含列 train_id、station、time 和 diff_min。其中 diff_min 列给出了当前站与线路中下一站之间的时间差(分钟)。
本练习是课程的一部分
Python 中的 Spark SQL 入门
练习说明
- 运行一个查询,为此数据集中的记录新增一列
running_total。该列通过对diff_min列给出的站点时间差执行SUM()来计算运行和。 - 运行查询并显示结果。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Add col running_total that sums diff_min col in each group
query = """
SELECT train_id, station, time, diff_min,
____(____) OVER (PARTITION BY ____ ORDER BY ____) AS running_total
FROM schedule
"""
# Run the query and display the result
spark.____(query).show()