【摘要】:下面我们来了解上述解决方案的实现效果。在方案实现过程中,测试数据集包含200万用户和50万艺术家,所有的Job使用40个潜在变量,Spark的Job使用8GB的容器执行200个Executor。Hadoop Job使用1000个mapper和300个reducer。表9-2 ALS在Hadoop和Spark平台运行时间对比表中halfgridify是算法的改进版,同样是在Spark上运行。
上述解决方案提到在迭代次数较多的模型中,Spark架构的处理效率相比Hadoop架构来说更加高效。下面我们来了解上述解决方案的实现效果。这里只针对ALS算法的运行时间来对比Spark平台和Hadoop平台。
在方案实现过程中,测试数据集包含200万用户和50万艺术家,所有的Job使用40个潜在变量,Spark的Job使用8GB的容器执行200个Executor。Hadoop Job使用1000个mapper和300个reducer。
不同平台上运行ALS算法的时间对比如表9-2所示。由表中看出,在Spark平台运行相同的算法,运行时间大约是Hadoop运行时间的1/3。
表9-2 ALS在Hadoop和Spark平台运行时间对比
(www.xing528.com)
表中halfgridify是算法的改进版,同样是在Spark上运行。
表9-3是在Hadoop和Spark平台运行ALS算法的运行时间,从中可以看出,在相同集群条件下,Spark上运行的MLlib算法比Mahout[4]上运行相同算法有数量级的速度提升,相比在GraphLab[5]上的运行时间要慢1倍左右。
表9-3 ALS(交替最小二乘法)在不同平台的运行时间
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。