1. Learn
  2. /
  3. Курси
  4. /
  5. Вступ до Spark SQL у Python

Connected

Вправа

Перетворіть віконну функцію з крапкової нотації на SQL

Ми додамо стовпець до розкладу потягів, щоб у кожному рядку була кількість хвилин, потрібних потягу, щоб дістатися до наступної зупинки.

  • Маємо датафрейм df, де df.columns == ['train_id', 'station', 'time'].
  • df зареєстровано як SQL-таблицю з назвою schedule.
  • Наведений нижче запит із віконною функцією використовує крапкову нотацію. Він повертає новий датафрейм dot_df.
window = Window.partitionBy('train_id').orderBy('time')
dot_df = df.withColumn('diff_min', 
                    (unix_timestamp(lead('time', 1).over(window),'H:m') 
                     - unix_timestamp('time', 'H:m'))/60)

Зверніть увагу на використання функції unix_timestamp, яка є еквівалентом SQL-функції UNIX_TIMESTAMP.

Будь ласка, зважайте на шаблон у зразку коду. Якщо оформите відповідь відповідно до шаблону, ваша відправлена відповідь не буде помилково відхилена через проблеми з форматуванням.

Інструкції

100 XP
  • Створіть SQL-запит, який дає ідентичний результат до dot_df. Відформатуйте запит відповідно до шаблону (тобто з використанням підкреслень-плейсголдерів _____).