是否可以使用没有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
- 在hadoop上解析Stackoverflow`s posts.xml
- 使用hadoop和java命令执行map-reduce作业之间有什么区别
- 为什么YARN java堆空间内存错误?
- Hadoop Basics的MapReduce程序中的java.lang.NoClassDefFoundError
- 来自hbase / filesystem的hadoop namenode连接中EOFexception的含义是什么?
- Hadoop ClassNotFoundException
- 如何构建/运行这个简单的Mahout程序而不会出现exception?
- 在Hadoop中传播自定义配置值
- 使用Java连接到远程HBase服务