问题描述:使用Spark ALS.train()做协同过滤的模型训练时,迭代次数过多(iteration>=30)可能导致java.lang.StackOverflowError的错误。 解决方案:一般情况下ALS收敛是非常快的,将iteration设置为<30的数字就可以了,绝大多数情况下,设置为15就行。次数过多的情况下就会出现:java.lang.StackOverflowError。当然,也可也通过设置checkpoint来解决。 附问题的原始回答:
原始问题报告详见: https://issues.apache.org/jira/browse/SPARK-3370 |