spark als java,Spark ALS:java堆空间不足:java.lang.OutOfMemoryError:Java堆sp

在尝试使用Spark的ALS算法训练大规模推荐系统模型时,遇到了内存溢出错误。当前配置为24核,48G内存,20个执行器,每个执行器4G内存,但在训练700万用户和150万个项目的模型时,4.4亿条操作数据导致了Java堆空间不足。已经尝试调整执行器和驱动程序内存分配,但问题依然存在。寻求解决Spark ALS训练过程中的内存管理策略或优化方案。
摘要由CSDN通过智能技术生成

我在一台机器上运行spark,24核,48G内存。在

我能够训练一个拥有600万用户、120万个项目、2.16亿个操作(浏览/购买)的隐式模型

现在,我正在尝试运行700万用户和150万个项目的建议,以及4.4亿个用户对项目的操作。在

我使用20个执行器,驱动程序内存15G,执行器内存4G

8级训练,15次迭代。在

我在使用ALS.训练隐式. 在model = ALS.trainImplicit(training_RDD, rank, seed=seed, iterations=iterations, lambda_=regularization_parameter, alpha=config.alpha)

File "/usr/local/spark/python/lib/pyspark.zip/pyspark/mllib/recommendation.py", line 314, in trainImplicit

File "/usr/local/spark/python/lib/pyspark.zip/pyspark/mllib/common.py", line 130, in callMLlibFunc

File "/usr/local/spark/python/lib/pyspark.zip/pyspark/mllib/common.py", line 123, in callJavaFunc

File "/usr/local/spark/python/lib/py4j-0.10.4-src.zip/py4j/java_gateway.py", line 1133, in __call__

File "/usr/local/spark/python/lib/pyspark.zip/pyspark/sql/utils.py", line 63, in deco

File "/usr/local/spark/python/lib/py4j-0.10.4-src.zip/py4j/protocol.py", line 319, in get_return_value

py4j.protocol.Py4JJavaError: An error occurred while calling o86.trainImplicitALSModel.

: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 4.0 failed 1 times, most recent failure: Lost task 0.0 in stage 4.0 (TID 44, localhost, executor driver): java.lang.OutOfMemoryError: Java heap space

at scala.collection.mutable.ArrayBuilder$ofInt.mkArray(ArrayBuilder.scala:323)

我不知道如何纠正这个错误。

来自错误:阶段4.0中的任务0.0丢失(TID 44,本地主机,执行器驱动程序):java.lang.OutOfMemoryError:Java堆空间,我可以知道执行器内存不足。在

我试过增加执行器内存,减少驱动程序内存,但是没有用,我仍然得到同样的错误。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值