【问题标题】:In Spark: MatrixFactorizationModel.scala “recommendProductsForUsers” function takes very long time to complete在 Spark 中:MatrixFactorizationModel.scala “recommendProductsForUsers” 函数需要很长时间才能完成
【发布时间】:2017-05-16 09:55:01
【问题描述】:

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

我正在尝试使用 'recommendProductsForUsers' 函数为 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

非常感谢您。

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2018-02-07
      • 2016-07-30
      • 2013-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多