Agregacja: notacja z kropką a SQL
Poniższy kod używa SQL do ustawienia wartości ramki danych df.
df = spark.sql("""
SELECT *,
LEAD(time,1) OVER(PARTITION BY train_id ORDER BY time) AS time_next
FROM schedule
""")
- Klauzula
LEADma swój odpowiednik w postaci funkcji z modułupyspark.sql.functions. - Klauzule
PARTITION BYiORDER BYmają swoje odpowiedniki w notacji z kropką – są to metody wywoływane na obiekcieWindow. - Dostępne są następujące importy:
- from pyspark.sql import Window
- from pyspark.sql.functions import lead
To ćwiczenie jest częścią kursu
Wprowadzenie do Spark SQL w Pythonie
Instrukcje do ćwiczenia
- Utwórz ramkę danych o nazwie
dot_df, która zwraca identyczny wynik codf, ale z użyciem notacji z kropką zamiast SQL.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Obtain the identical result using dot notation
dot_df = df.withColumn('time_next', ____('time', 1)
.over(____.____('train_id')
.____('time')))