是否可以使用没有hadoop依赖的apache mahout?

是否可以使用Apache mahout而不依赖于Hadoop。

我想在单个计算机上使用mahout算法,只在我的Java项目中包含mahout库,但我根本不想使用hadoop,因为无论如何我将在单个节点上运行。

那可能吗?

是。 不是所有的Mahout都依赖于Hadoop,尽管很多。 如果您使用依赖于Hadoop的部分,当然,您需要Hadoop。 但是,例如,有一个不使用Hadoop的实质性推荐引擎代码库。

您可以在Java程序中嵌入本地Hadoop集群/ worker。

当然,是的。 在Mahout Recommender First-Timer FAQ中,他们建议不要从基于Hadoop的实现开始(除非你知道你将相对快速地扩展超过1亿用户偏好)。

您可以相对轻松地以纯Java方式使用Recommender接口的实现。 或者将一个放在您选择的servlet中。

从技术上讲,Mahout对Hadoop 依赖。 但您可以轻松使用没有Hadoop JAR的推荐器。 这在Mahout in Action的前几章中有所描述 – 您可以下载示例源代码并查看它是如何完成的 – 查看文件RecommenderIntro.java

但是,如果您正在使用Maven,则需要手动排除Hadoop – 依赖关系将如下所示:

  org.apache.mahout mahout-core   org.apache.hadoop hadoop-core