0

我正在开发一个基于 Java 的应用程序,我决定使用 Mahout 库中实现的机器学习算法。我的应用程序将在没有 Hadoop 的单机上运行。

我想问一下,如果单节点 Mahout 也有开销,比如分布式的?我在一本书中读到 Mahout in action,多集群 Mahout 有一些开销(初始化、传输数据等)。但是如果我们使用没有 MapReduce 范式的 Mahout 算法,应该没有开销,对吧?

4

1 回答 1

0

无论您在单机还是 1000 节点集群中运行它都没有区别。Hadoop 将所有中间数据(MAP 的键值输出)序列化,并将其持久化到磁盘上。在 reduce 阶段,它将键值对加载回内存中。因此,它具有巨大的处理和磁盘访问开销。

基本上,如果你的机器很少(例如<7 台机器),hadoop 可能不是一个好的选择,特别是对于加速分析。在这种情况下,您可以只使用小型集群来检查代码的逻辑,然后再将其部署到更大的环境中。

于 2013-09-12T11:13:54.410 回答