我试图在amazon EMR上运行RecommenderJob。我有一个名为SmartJukebox.jar(不可运行)的jar,它包含一个main.TrackRecommander类(就是这样)。在EMR上运行mahout RecommenderJob
我创建了罐子的作业流程:
S3N://smartjukebox/SmartJukebox.jar
和args:
main.TrackRecommander --input S3N:// smartjukebox /评级.csv --output s3n:// smartjukebox/output --usersFile s3n://smartjukebox/user.txt。
TrackRecommander类使用类RecommenderJob。
我运行作业流程和我得到这个错误日志 -
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/mahout/cf/taste/hadoop/item/RecommenderJob at main.TrackRecommander.main(TrackRecommander.java:136) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.util.RunJar.main(RunJar.java:156) Caused by: java.lang.ClassNotFoundException: org.apache.mahout.cf.taste.hadoop.item.RecommenderJob at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 6 more
现在我看到JVM找不到RecommenderJob和我没有把RecommenderJob在我的罐子。我认为EMR会有内置的mahout罐子,但我找不到任何关于这个的东西。
这里有什么解决方案?
谢谢。
对不起,我在哪里找到他们?或者可能知道他们是什么?如果你能给出一个简短的解释,那将是很棒的。谢谢您的帮助! – 2012-07-29 12:03:15
'mvn package'在您打开分发包的目录中。然后在你想要的模块下查找'target /'。 – 2012-07-29 12:26:38