stackoverflow错误

ALS算法迭代20次,爆栈错误:

spark在迭代计算的过程中(迭代次数太多),也就是函数调用层级过多导致,所需的栈空间也急剧上升,线程的栈满了,最终爆栈了。。

解决方法:

1. 减少迭代次数

ALS收敛很快(15次以内),实测把20次改为10次程序可以正常运行

2. checkpoint()

sc.setCheckpointDir("hdfs://hadoop01:9000/checkpoint")

把路径加到checkpoint,迭代30次都不会爆栈

猜你喜欢

转载自blog.csdn.net/weixin_42490528/article/details/86047001