`
奔跑的羚羊
  • 浏览: 570208 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Mahout基于hadoop的推荐器(Recommender)

阅读更多
介绍
本页主要描述,怎么在hadoop集群上运行Mahout Taste的推荐器

步骤
在那单个机器上测试
进入事例目录,执行:
mvn -q exec:java -Dexec.mainClass="org.apache.mahout.cf.taste.hadoop.pseudo.RecommenderJob" -Dexec.args="<OPTIONS>" 


在集群上运行
1.进入$MAHOUT_HOME/,编辑jar包(mvn install),将在$MAHOUT_HOME/core/target/生成,并且名称包含版本号。例如当使用Mahout 0.3 release,将生成mahout-core-0.3.jar

2.(可选)启动hadoop:
$HADOOP_HOME/bin/start-all.sh


3.上传数据
$HADOOP_HOME/bin/hadoop fs -put <PATH TO DATA> testdata

4.运行任务:
$HADOOP_HOME/bin/hadoop jar $MAHOUT_HOME/core/target/mahout-core-<MAHOUT VERSION>.job org.apache.mahout.cf.taste.hadoop.<JOB> <OPTIONS>


5.从HDFS得到输出数据,并且查看。使用
bin/hadoop fs -lsr output

查看所有的output文件

命令行选项
在命令行使用"--help" 得到完整的命令行选项摘要信息。或者在javadoc中"Job"类下查看


补充:
运行的完整例子
hadoop jar mahout-core-0.4-job.jar org.apache.mahout.cf.taste.hadoop.pseudo.RecommenderJob -i mahout-testing.txt -o out --recommenderClassName org.apache.mahout.cf.taste.impl.recommender.slopeone.SlopeOneRecommender 



原文地址:https://cwiki.apache.org/confluence/display/MAHOUT/TasteCommandLine
分享到:
评论
2 楼 奔跑的羚羊 2011-10-08  
内存的问题,换个大点的内存,或者调整内存使用参数
1 楼 wingmzy 2011-09-22  
贴主,我也是根据你的步骤,让 mahout在hadoop上运行,想计算用户之间相近的品位,具体如下:
/usr/local/hadoop/bin/hadoop jar mahout-core-0.5-job.jar org.apache.mahout.cf.taste.hadoop.pseudo.RecommenderJob
   --input /user/mzy/recommend-out/report/20110920/xxxliking/part-00000
   --output /user/mzy/recommend-out/report/20110920/test/
   --recommenderClassName         org.apache.mahout.cf.taste.impl.recommender.slopeone.SlopeOneRecommender

文件part-00000是输入文件, 数据大约是150万的用户,每个用户大约100个item,文件大小 约160MB,数据格式:
userId,itemId,value

但是总是在reducer阶段66% 的时候
java.lang.IllegalStateException: java.lang.OutOfMemoryError: GC overhead limit exceeded

让我好抓狂,贴主什么建议?

另外还有个问题,maven 需要在其他hadoop的datanode部署吗?

相关推荐

Global site tag (gtag.js) - Google Analytics