开始使用免费开始使用

聚合的点式 SQL

下面的代码使用 SQL 设置名为 df 的 dataframe:

df = spark.sql("""
SELECT *, 
LEAD(time,1) OVER(PARTITION BY train_id ORDER BY time) AS time_next 
FROM schedule
""")
  • LEAD 子句在 pyspark.sql.functions 中有等价函数。
  • PARTITION BYORDER BY 子句在 Window 对象上各有等价的点式调用函数。
  • 可用的导入如下:
    • from pyspark.sql import Window
    • from pyspark.sql.functions import lead

本练习是课程的一部分

Python 中的 Spark SQL 入门

查看课程

练习说明

  • 使用点式调用替代 SQL,创建一个名为 dot_df 的 dataframe,使其结果与 df 完全一致。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Obtain the identical result using dot notation 
dot_df = df.withColumn('time_next', ____('time', 1)
        .over(____.____('train_id')
        .____('time')))
编辑并运行代码