Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

SQL-запросы в датафреймах

тоня Ученик (28), на голосовании 1 год назад
Найдите все даты, на которые пришлось более 200 заказов такси за любой период в 30 минут в этот день. Напечатайте на экране количество таких дней, сохранив результат в переменную result.
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")
Голосование за лучший ответ
S.H.I. Оракул (72718) 1 год назад
 result = spark.sql(""" 
SELECT COUNT(DISTINCT date)
FROM (
SELECT date
FROM taxi
WHERE pickups > 200
)
""")
result.show()
Убедитесь, что ваш DataFrame taxi содержит столбцы date и pickups, и что они имеют правильные типы данных. Если ваш DataFrame имеет другую структуру, вам может потребоваться немного изменить этот код, чтобы он работал корректно.
Похожие вопросы