有没有可能在没有hadoop依赖的情况下使用apache mahout?
2022-09-04 01:37:21
是否可以使用Apache mahout而不依赖于Hadoop。
我想在一台计算机上使用mahout算法,只在我的Java项目中包含mahout库,但我根本不想使用hadoop,因为我无论如何都会在单个节点上运行。
这可能吗?
是否可以使用Apache mahout而不依赖于Hadoop。
我想在一台计算机上使用mahout算法,只在我的Java项目中包含mahout库,但我根本不想使用hadoop,因为我无论如何都会在单个节点上运行。
这可能吗?
是的。并非所有的Mahout都依赖于Hadoop,尽管很多事情都依赖于Hadoop。如果你使用依赖于Hadoop的作品,当然,你需要Hadoop。但是,例如,有一个大量不使用Hadoop的推荐器引擎代码库。
您可以在 Java 程序中嵌入本地 Hadoop 集群/工作线程。
当然,是的。在Mahout推荐器First-Timer常见问题解答中,他们建议不要从基于Hadoop的实现开始(除非你知道你将相对快速地扩展到超过1亿个用户偏好)。
您可以相对容易地以纯 Java 方式使用推荐器接口的实现。或者将一个放在您选择的服务包中。
从技术上讲,Mahout对Hadoop有一个Maven依赖。但是,您可以轻松地在没有Hadoop JAR的情况下使用推荐器。这在Mahout in Action的前几章中进行了描述 - 您可以下载示例源代码并查看它是如何完成的 - 查看文件 。RecommenderIntro.java
但是,如果您使用的是 Maven,则需要手动排除 Hadoop - 依赖项如下所示:
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-core</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
</exclusion>
</exclusions>
</dependency>