ПочатиПочніть безкоштовно

Агрегування: 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')))
Редагувати та запускати код