Вычислите среднее количество заказов за каждый час. Затем отсортируйте данные по убыванию. Выведите самые загруженные 10 часов и среднее количество заказов такси в эти часы.
from pyspark.sql import SparkSession
APP_NAME = "DataFrames"
SPARK_URL = "local[*]"
spark = SparkSession.builder.appName(APP_NAME) \
.config('spark.ui.showConsoleProgress', 'false') \
.getOrCreate()
taxi = spark.read.load('/datasets/pickups_terminal_5.csv',
format='csv', header='true', inferSchema='true')
taxi = taxi.fillna(0)
taxi.registerTempTable("taxi")
print(spark.sql("""
SELECT hour,
AVG(pickups)
FROM taxi
GROUP BY hour
ORDER BY AVG(pickups) DESC;
""").show(10))
Результат
| hour | avg(pickups) |
|---|---|
| 8 | 48.98208348725527 |
| 9 | 45.74220335855324 |
| 18 | 45.131967515688444 |
| 19 | 40.18456995201181 |
| 17 | 37.68493909191584 |
| 12 | 36.91678966789668 |
| 10 | 36.391031555637575 |
| 14 | 35.965867158671585 |
| 7 | 35.93711855002774 |
| 13 | 35.34939091915836 |
only showing top 10 rows
None Если вы прилетели ночью, не жалуйтесь: большинству повезло меньше и они едут из аэропорта утром или вечером, а вы в числе избранных.