火花:MatrixFactorizationModel.scala“recommendProductsForUsers”功能需要很长的时间才能完成

火花:MatrixFactorizationModel.scala“recommendProductsForUsers”功能需要很长的时间才能完成

问题描述:

我有9个节点群集,每个节点都具有以下配置,火花:MatrixFactorizationModel.scala“recommendProductsForUsers”功能需要很长的时间才能完成

enter image description here

enter image description here

我想使用'recommendProductsForUsers'函数为MatrixFactorizationModel中的所有用户生成推荐。看起来需要很长时间才能完成(例如:对于1个月的数据,大约需要34小时左右)。是否由于矩阵多次迭代?

我该如何缩短执行时间?

这是我的火花提交配置:

火花提交--jars $ JAR_LOC --class com.collaborativefiltering.CustomerCollaborativeJob --driver内存5G --num执行人7 - 执行者核心2 - 执行者 - 内存20G - 主纱客户端cust_rec/cust-rec.jar - 期限1月 - 出/ PATH - 销售代码 50 - 数量2 - 净值0.25 - -topK 20

非常感谢您提前。

我在MatrixFactorizationModel中找到了RecommendedProductsForUsers运行多次迭代,所以计算时间很长。一旦我开始在云中运行我的工作,我通过增加节点和火花执行器来测试工作。它实际上工作!我能够在4小时内完成工作。