Ноутбук с PySpark падает с нехваткой памяти на строке toPandas()
df = spark.read.parquet("s3://dwh/events/2026/") # 3 млрд строк
events = df.toPandas()
daily = events.groupby("event_date").user_id.nunique()
Кластер Spark большой, но ноутбук падает с OutOfMemoryError на второй строке. Почему и как правильно?
- toPandas тянет все данные в память драйвера; агрегировать в Spark
- Кластеру не хватает узлов, нужно добавить ещё
- Parquet нужно сначала перевести в CSV
- pandas не поддерживает больше миллиарда строк, нужен numpy
