在Spark中:MatrixFactorizationModel.scala"recommendedProductsForUsers"函数需要很长时间才能完成

Ren*_*ien 5 recommendation-engine machine-learning apache-spark-mllib data-science

我有9个节点集群,每个节点都有以下配置,

在此输入图像描述

在此输入图像描述

我正在尝试使用" recommendedProductsForUsers "函数为MatrixFactorizationModel中的所有用户生成建议.看起来需要很长时间才能完成(例如:1个月的数据需要大约34个小时).是否由于在矩阵上多次迭代?

如何减少执行时间?

这些是我的spark-submit配置:

spark-submit --jars $ JAR_LOC --class com.collaborativefiltering.CustomerCollaborativeJob --driver-memory 5G --num-executors 7 --executor-cores 2 --executor-memory 20G --master yarn-client cust_rec/cust- rec.jar --period 1month --out/PATH --rank 50 --numIterations 2 --lambda 0.25 --alpha 300 --topK 20

非常感谢你提前.

Ren*_*ien 0

我发现在 MatrixFactorizationModel 中,recommendProductsForUsers 运行多次迭代,因此计算时间很长。一旦我开始在云中运行我的作业,我就通过增加节点和 Spark 执行器来测试作业。它确实有效!我能够在 4 小时内运行并完成这项工作。