我必须从springdatahadopp运行以下命令
bin/hadoop jar /home/ubuntu/recommendation.jar
org.apache.mahout.cf.taste.hadoop.item.RecommenderJob
-Dmapred.input.dir=input/testDataFileModel.csv -Dmapred.output.dir=outputItem --usersFile
input/users.txt --booleanData true --similarityClassname
org.apache.mahout.math.hadoop.similarity.cooccurrence.measures.LoglikelihoodSimilarity
所以我用
<jar-runner jar="recommender-engine-mapred-1.0.jar" main-class="org.apache.mahout.cf.taste.hadoop.item.RecommenderJob" run-at-startup="true" pre-action="setupScript" configuration-ref="hadoopConfiguration">
<arg value="-s org.apache.mahout.math.hadoop.similarity.cooccurrence.measures.LoglikelihoodSimilarity"/>
<arg value="-b true"/>
mapred.input.dir=${wordcount.input.path}testDataFileModel.csv
mapred.output.dir=${wordcount.output.path}
</jar-runner>
但我有以下错误message:-
2014-02-11 15:53:07585错误http-bio-8080-exec-5 org.apache.mahout.common.abstractjob.parsearguments:363 - 未指定输入或必须提供-dmapred.input.dir才能指定输入目录
如何在spring hadoop job runner中传递系统参数。
3条答案
按热度按时间eh57zj3b1#
请尝试以下操作:
这就是传递参数()的方式。注意不要在'-b、-s、-i、-o'字符后面加空格,因为我发现有空格和没有空格是有区别的(只有没有空格的情况下才有效)。
jhiyze9q2#
您确定要指定文件名而不是目录名吗?
这对我来说毫无意义:
尝试将-dmapred.input.dir设置为文件所在的实际目录。
hadoop足够聪明,可以遍历目录中的所有文件(不是递归的,您必须配置它才能这样做)。
flvtvl503#
我可以用下面的方式运行它。
我创建了使用toolrunner调用此作业的主函数。
现在,我在springdatahadoop中创建一个jar并使用以下标记运行这个jar。