Сбой Pyspark из-за OOM исполнителя драйвера - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть один фрейм данных, и он «сбивается» из-за OOM драйвера:

Фрейм данных выглядит следующим образом:

df2=df1.withColumnRename()
       .withColumn(...)
       .withColumn(...)

после списка Преобразования, а затем я выберите:

df3=df2.select ()

, затем примените «windows function»:

window = Window.partitionBy(col("PK")).orderBy(col("create_ts").desc())
df5=df3.withColumn("rn",row_number().over(window)).where(col("rn") == 1).drop("rn")

В конце концов задание не выполнится из-за OOM водителя.

однако, если я перееду «df3 = df2.select ()» после df5, тогда это будет go прочь. или если я сделаю: df3.cache (), эта проблема также исчезнет go, но я не понимаю причину, потому что «select» - это преобразование, а не действие, поэтому оно вообще не вычисляется, тогда зачем эта ошибка?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...