在 Spark 中:MatrixFactorizationModel.scala “recommendProductsForUsers” 函数需要很长时间才能完成
In Spark: MatrixFactorizationModel.scala “recommendProductsForUsers” function takes very long time to complete
我有 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
非常感谢您。
我在 MatrixFactorizationModel 中通过多次迭代发现 recommendProductsForUsers 运行s,因此计算时间很高。一旦我开始 运行 我在云中的工作,我就通过增加节点和 spark-executors 来测试工作。它确实有效!我能够 运行 并在 4 小时内完成工作。
我有 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
非常感谢您。
我在 MatrixFactorizationModel 中通过多次迭代发现 recommendProductsForUsers 运行s,因此计算时间很高。一旦我开始 运行 我在云中的工作,我就通过增加节点和 spark-executors 来测试工作。它确实有效!我能够 运行 并在 4 小时内完成工作。