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

Наростальні суми за допомогою SQL із віконною функцією

Віконна функція подібна до агрегатної, але повертає результат для кожного рядка набору даних, а не один рядок на групу.

Агрегування можна поєднувати з віконними функціями. Наростальна сума за допомогою віконної функції простіша, ніж реалізація через JOIN. Також тривалість запиту може бути значно меншою.

Для вас підготовлено таблицю schedule зі стовпцями train_id, station, time і diff_min. Стовпець diff_min показує, скільки часу минуло між поточною станцією та наступною на лінії.

Ця вправа є частиною курсу

Вступ до Spark SQL у Python

Переглянути курс

Інструкції до вправи

  • Запустіть запит, який додає до записів у цьому наборі даних додатковий стовпець running_total. У стовпці running_total застосуйте SUM() до різниці між часом станцій, що задана у стовпці diff_min.
  • Запустіть запит і відобразіть результат.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Add col running_total that sums diff_min col in each group
query = """
SELECT train_id, station, time, diff_min,
____(____) OVER (PARTITION BY ____ ORDER BY ____) AS running_total
FROM schedule
"""

# Run the query and display the result
spark.____(query).show()
Редагувати та запускати код