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
LEADmemiliki fungsi yang setara dipyspark.sql.functions. - Klausa
PARTITION BYdanORDER BYmasing-masing memiliki fungsi notasi titik yang dipanggil pada objekWindow. - 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
Petunjuk latihan
- Buat sebuah dataframe bernama
dot_dfyang menghasilkan hasil identik dengandf, 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')))