Zacznij terazZacznij za darmo

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 LEAD ma swój odpowiednik w postaci funkcji z modułu pyspark.sql.functions.
  • Klauzule PARTITION BY i ORDER BY mają swoje odpowiedniki w notacji z kropką – są to metody wywoływane na obiekcie Window.
  • 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

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz ramkę danych o nazwie dot_df, która zwraca identyczny wynik co df, 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')))
Edytuj i uruchom kod