Агрегування: dot SQL
Такий код використовує SQL, щоб встановити значення датафрейму df.
df = spark.sql("""
SELECT *,
LEAD(time,1) OVER(PARTITION BY train_id ORDER BY time) AS time_next
FROM schedule
""")
- Конструкція
LEADмає еквівалентну функцію вpyspark.sql.functions. - Конструкції
PARTITION BYтаORDER BYмають відповідники у вигляді функцій нотації з крапкою, які викликаються для об'єктаWindow. - Доступні такі імпорти:
- from pyspark.sql import Window
- from pyspark.sql.functions import lead
Ця вправа є частиною курсу
Вступ до Spark SQL у Python
Інструкції до вправи
- Створіть датафрейм
dot_df, який міститиме той самий результат, що йdf, але з використанням нотації з крапкою замість SQL.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Obtain the identical result using dot notation
dot_df = df.withColumn('time_next', ____('time', 1)
.over(____.____('train_id')
.____('time')))