Вступить в клуб →
лёгкаявопросХранилища и распределённая обработка

PySpark-скрипт отработал мгновенно и ничего не посчитал

Скрипт должен обработать 300 ГБ событий, но завершается за пару секунд, в Spark UI ни одной задачи, ошибок нет:

df = spark.read.parquet("s3a://raw/events/")
df2 = df.filter(F.col("event_type") == "purchase")
df3 = df2.withColumn("amount_rub", F.col("amount") * 90)
print("обработка завершена")

Почему так происходит?

  • Каталог пуст или путь указан неверно: при корректном пути уже filter запустил бы вычисления, и задачи появились бы в Spark UI немедленно.
  • Spark выполнил обработку в памяти драйвера и не показал её в UI, потому что после фильтра объём данных оказался мал и распределять было нечего.
  • filter и withColumn — трансформации, они лишь достраивают план вычислений; работа начнётся только после действия (write, count, collect).
  • Результат остался в кэше от предыдущего запуска, поэтому Spark переиспользовал готовые файлы и не создавал новых задач.

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела