SHOW:
|
|
- or go back to the newest paste.
1 | - | --Найдите все даты, на которые пришлось более 200 заказов такси за любой период в 30 минут в этот день. Напечатайте на экране количество таких дней, сохранив результат в переменную result. |
1 | + | --Сгруппируйте записи по месяцам. По каждому месяцу рассчитайте среднее количество заказов. |
2 | Напечатайте на экране таблицу с месяцами и средним количеством заказов по убыванию. | |
3 | ||
4 | from pyspark.sql import SparkSession | |
5 | ||
6 | APP_NAME = "DataFrames" | |
7 | SPARK_URL = "local[*]" | |
8 | ||
9 | spark = SparkSession.builder.appName(APP_NAME) \ | |
10 | .config('spark.ui.showConsoleProgress', 'false') \ | |
11 | .getOrCreate() | |
12 | ||
13 | taxi = spark.read.load('/datasets/pickups_terminal_5.csv', | |
14 | format='csv', header='true', inferSchema='true') | |
15 | ||
16 | taxi = taxi.fillna(0) | |
17 | ||
18 | taxi.registerTempTable("taxi") | |
19 | - | result = spark.sql("SELECT count(distinct(date)) FROM taxi WHERE pickups > 200") |
19 | + | |
20 | - | print(result.show()) |
20 | + | print(spark.sql('SELECT EXTRACT(month FROM date), AVG(pickups) FROM taxi \ |
21 | GROUP BY EXTRACT(month FROM date) ORDER BY AVG(pickups) DESC').show()) |