MulaiMulai sekarang secara gratis

Agregasi SQL dengan notasi titik

Kode berikut menggunakan SQL untuk menetapkan nilai sebuah dataframe bernama df.

df = spark.sql("""
SELECT *, 
LEAD(time,1) OVER(PARTITION BY train_id ORDER BY time) AS time_next 
FROM schedule
""")
  • Klausa LEAD memiliki fungsi yang setara di pyspark.sql.functions.
  • Klausa PARTITION BY dan ORDER BY masing-masing memiliki fungsi notasi titik yang dipanggil pada objek Window.
  • Impor berikut tersedia:
    • from pyspark.sql import Window
    • from pyspark.sql.functions import lead

Latihan ini adalah bagian dari kursus

Pengantar Spark SQL dalam Python

Lihat Kursus

Petunjuk latihan

  • Buat sebuah dataframe bernama dot_df yang menghasilkan hasil identik dengan df, menggunakan notasi titik alih-alih SQL.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Obtain the identical result using dot notation 
dot_df = df.withColumn('time_next', ____('time', 1)
        .over(____.____('train_id')
        .____('time')))
Edit dan Jalankan Kode