https://github.com/cloudera/oryx 在这里的readme.md文件中能看到有哪些jar包。
很惊讶的是这些jar包竟然不能在search.maven.org中找到。
于是决定到git里下载oryx源代码。
通过一下代码安装 其实安装oryx也要看相应的hadoop版本的,如果是hadoop2.3.0以前的版本的话,可以参照https://github.com/cloudera/oryx/wiki/Building-from-Source里面的方法安装,其实和安装mahout有点类似。
mvn -DskipTests install
探索的最后结果是这个oryx其实不是一个library,这其实是一个写好的产品,能够直接发布的推荐引擎。他支持collaborative filtering / recommendation, classification / regression, and clustering这几种推荐。用户能够直接通过rest ful接口得到推荐结果。
oryx 90%的代码是来自Myrrix,Myrrix其实是Mahout的一个改进。
Mahout是一个Library。
这个是如何使用oryx的使用说明,https://github.com/halida9cxm/workbench/wiki/oryx-quickstart-guide
例如:
以下是文件的存放位置
在/home/training/oryx_test下放:
example(文件夹), oryx.config(文件), oryx-computation-1.0.0.jar, oryx-serving-1.0.0.jar
然后执行
java -Dconfig.file=oryx.config -jar oryx-computation-1.0.0.jar
sudo java -Dconfig.file=oryx.config -jar oryx-serving-1.0.0.jar //因为80端口必须要有root权限才能使用
oryx.config的文件的设置:
model=${als-model}
model.instance-dir=/home/training/oryx-test/example
model.local-computation=true
model.local-data=true
model.features=25
model.lambda=0.065
目前,oryx只写了聚类(kmeans),分类(rdf)和协同过滤(als)三个方面的算法,另外也不能进行分布式计算,只能将这些jar包发布到装有hadoop的机子上,才能正常运行起来。并不能将oryx包和hadoop分开在不同的机子上面。虽然说代码中貌似有涉及进行分布式计算,但是config文件里并没有明确提出来怎么区分这两种状态。所以仍然认为只能进行单击计算。