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

时间:2017-01-02 09:39:30

标签: machine-learning apache-spark-mllib recommendation-engine data-science

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

enter image description here

enter image description here

我正在尝试使用' recommendProductsForUsers ' http://jackcess.sourceforge.net/ '为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--λ0.25--alpha 300 --topK 20

非常感谢你。

1 个答案:

答案 0 :(得分:0)

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