我正在开发一个基于Java的应用程序,我决定使用Mahout库中实现的机器学习算法。我的应用程序将在没有Hadoop的情况下在单机上运行。
我想问一下,单节点Mahout是否也有开销,就像分布式一样?我在一本书中读到了Mahout in action,然后多集群Mahout有一些开销(初始化,传输数据等)。但是如果我们使用没有MapReduce范型的Mahout算法,应该不会有开销,对吧?
发布于 2013-09-12 19:13:54
无论是在单台计算机上运行还是在包含1000个节点的集群中运行,都没有区别。Hadoop序列化所有中间数据(MAP的键值输出),并将其持久化到磁盘上。在reduce阶段,它将键值对重新加载到内存中。因此,它具有巨大的处理和磁盘访问开销。
基本上,如果你的机器很少(例如<7台),hadoop可能不是一个好的选择,特别是对于加速分析。在这种情况下,在将代码部署到较大的环境之前,您可以使用小型集群来检查代码的逻辑。
https://stackoverflow.com/questions/18570373
复制相似问题