Bắt đầu ngayBắt đầu miễn phí

Tổng hợp với dot SQL

Đoạn mã sau dùng SQL để gán giá trị cho một dataframe tên là df.

df = spark.sql("""
SELECT *, 
LEAD(time,1) OVER(PARTITION BY train_id ORDER BY time) AS time_next 
FROM schedule
""")
  • Mệnh đề LEAD có một hàm tương đương trong pyspark.sql.functions.
  • Các mệnh đề PARTITION BYORDER BY đều có hàm dot notation tương đương được gọi trên đối tượng Window.
  • Các import sau đã sẵn có:
    • from pyspark.sql import Window
    • from pyspark.sql.functions import lead

Bài tập này là một phần của khóa học

Nhập môn Spark SQL bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Tạo một dataframe tên dot_df cho ra kết quả giống hệt df, dùng dot notation thay cho SQL.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Obtain the identical result using dot notation 
dot_df = df.withColumn('time_next', ____('time', 1)
        .over(____.____('train_id')
        .____('time')))
Chỉnh sửa và Chạy Mã