微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Pyspark-java.lang.OutOfMemoryError:写入csv文件时的Java堆空间

如何解决Pyspark-java.lang.OutOfMemoryError:写入csv文件时的Java堆空间

当尝试使用以下代码写入csv文件

DF.coalesce(1).write.option("header","false").option("sep",",").option("escape",'"').option("ignoreTrailingWhiteSpace","false").option("ignoreLeadingWhiteSpace","false").mode("overwrite").csv(filename)

我遇到以下错误

ileFormatWriter.scala:169)
    at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)
    at org.apache.spark.scheduler.Task.run(Task.scala:121)
    at org.apache.spark.executor.Executor$TaskRunner$$anonfun$10.apply(Executor.scala:408)
    at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360)
    at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:414)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    ... 1 more
Caused by: java.lang.OutOfMemoryError: Java heap space

有人可以建议解决方法吗?

解决方法

尝试在提交火花的应用程序中增加executor.memory

类似这样的东西

spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master spark://207.184.161.138:7077 \
  --executor-memory 20G \
  --total-executor-cores 100 \
  /path/to/examples.jar \
  1000

,

对我来说,添加以下spark配置可以解决此问题

spark = SparkSession.builder.master('local[*]').config("spark.driver.memory","15g").appName('sl-app').getOrCreate()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。