【问题标题】:running mahout RecommenderJob on EMR在 EMR 上运行 mahout RecommenderJob
【发布时间】:2012-07-27 08:45:17
【问题描述】:

我正在尝试在亚马逊 EMR 上运行 RecommenderJob。我有一个名为 SmartJukebox.jar(不可运行)的 jar,它包含一个 main.TrackRecommander 类(仅此而已)。

我用 jar 创建了一个工作流:

s3n://smartjukebox/SmartJukebox.jar

和参数:

main.TrackRecommander --input s3n://smartjukebox/ratings.csv --output s3n://smartjukebox/output --usersFile s3n://smartjukebox/user.txt。

TrackRecommander 类使用 RecommenderJob 类。

我运行作业流程,我在错误日志中得到了这个 -

线程“主”java.lang.NoClassDefFoundError 中的异常:org/apache/mahout/cf/taste/hadoop/item/RecommenderJob 在 main.TrackRecommander.main(TrackRecommander.java:136) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.apache.hadoop.util.RunJar.main(RunJar.java:156) 引起:java.lang.ClassNotFoundException:org.apache.mahout.cf.taste.hadoop.item.RecommenderJob 在 java.net.URLClassLoader$1.run(URLClassLoader.java:202) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:190) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:306) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 6 更多

现在我看到 JVM 找不到 RecommenderJob 并且我没有将 RecommenderJob 放入我的 jar 中。我以为 EMR 会内置 mahout 罐子,但我找不到任何相关信息。

这里的解决方案是什么?

谢谢。

【问题讨论】:

    标签: jar mahout amazon-emr emr


    【解决方案1】:

    你的问题正是你所说的:“我没有把 RecommenderJob 放在我的罐子里。”除非你把这些类放在你的 JAR 中,否则它当然是找不到的。为什么 EMR 会内置此功能?首先将 Mahout“.job”文件类添加到您的 JAR。

    【讨论】:

    • 抱歉我的无知,但我在哪里可以找到它们?或者也许知道它们是什么?如果你能给出一个简短的解释,那就太好了。感谢您的帮助!
    • mvn package 在您解压发行版的目录中。然后在你想要的模块下查看target/
    【解决方案2】:

    您将需要创建一个作业 jar,其中包含运行代码所需的所有类,其中也包括 mahout 类。 看一眼 https://github.com/tdunning/MiA

    检查如何使用 pom.xml 中的 maven 程序集插件和 src/main/resources 目录中的 job.xml 创建作业 jar。 如果您排除了 hadoop 类,那么您可以在任何 hadoop 实例上运行它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-13
      • 1970-01-01
      • 1970-01-01
      • 2013-12-01
      • 2012-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多