Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在开发一个基于 Java 的应用程序,我决定使用 Mahout 库中实现的机器学习算法。我的应用程序将在没有 Hadoop 的单机上运行。
我想问一下,如果单节点 Mahout 也有开销,比如分布式的?我在一本书中读到 Mahout in action,多集群 Mahout 有一些开销(初始化、传输数据等)。但是如果我们使用没有 MapReduce 范式的 Mahout 算法,应该没有开销,对吧?
无论您在单机还是 1000 节点集群中运行它都没有区别。Hadoop 将所有中间数据(MAP 的键值输出)序列化,并将其持久化到磁盘上。在 reduce 阶段,它将键值对加载回内存中。因此,它具有巨大的处理和磁盘访问开销。
基本上,如果你的机器很少(例如<7 台机器),hadoop 可能不是一个好的选择,特别是对于加速分析。在这种情况下,您可以只使用小型集群来检查代码的逻辑,然后再将其部署到更大的环境中。