一切! 当我在项目中使用RecommenderJob时,遇到了意外错误。传递给作业的参数是一个String数组,其值如下:
[-libjars, /path/to/xxx.jar,/path/to/yyy.jar,
--input, hdfs://localhost:9000/tmp/x,
--output, hdfs://localhost:9000/tmp/y,
--similarityClassname,
org.apache.mahout.math.hadoop.similarity.cooccurrence.measures.TanimotoCoefficientSimilarity,
--numRecommendations, 6,
--tempDir, hdfs://localhost:9000/tmp/z]
通过以下代码运行作业后:
job.run(args);
它打印错误如下:
ERROR common.AbstractJob: Unexpected -libjars while processing Job-Specific Options:
usage: <command> [Generic Options] [Job-Specific Options]
Generic Options:
-archives <paths> comma separated archives to be unarchived
on the compute machines.
-conf <configuration file> specify an application configuration file
-D <property=value> use value for given property
-files <paths> comma separated files to be copied to the
map reduce cluster
-fs <local|namenode:port> specify a namenode
-jt <local|jobtracker:port> specify a job tracker
-libjars <paths> comma separated jar files to include in the
classpath.
Unexpected -libjars while processing Job-Specific Options:
Usage:
...
有人知道如何解决它。提前谢谢!
答案 0 :(得分:0)
最后,我自己找到了解决方案。我们不应该使用
job.run(args);
运行作业,该作业仅处理作业特定选项。使用ToolRunner运行处理通用选项后跟作业特定选项的作业是正确的,从而解决问题。
ToolRunner.run(conf, job, args);