2010-03-15 17 views
2

J'ai un problème lors de l'exécution de l'algorithme bayésien dans Mahout. Je l'ai construit avec Maven et le fichier de travail est dans le répertoire cible. Lorsqu'il est exécuté à partir du terminal en utilisant hadoop, j'obtiens l'erreur ClassNotFoundException. Qu'est-ce qui devrait être fait?Erreur ClassNotFoundException dans l'implémentation de l'algorithme bayésien dans Apache Mahout sur Hadoop

$ HADOOP_HOME/bin/jar Hadoop cornac-core-0.3-SNAPSHOT.job org.apache.mahout.classifier.bayes.mapreduce.bayes.bayesdriver de sortie de test de -i

Exception dans le thread « principal "java.lang.ClassNotFoundException: org.apache.mahout.classifier.bayes.mapreduce.bayes.bayesdriver at java.net.URLClassLoader $ 1.run (URLClassLoader.java:200) at java.security.AccessController.doPrivileged (natif Méthode) à java.net.URLClassLoader.findClass (URLClassLoader.java:188) à java.lang.ClassLoader.loadClass (ClassLoader.java:307) à java.lang.ClassLoader.loadClass (ClassLoader.java:252) à java.lang.ClassLoader.loadClassInternal (ClassLoader.java:320) à java.lang.Class.forName0 (méthode native) à java.lang.Class.forName (Class.java:247) à org.apache. hadoop.util.RunJar.main (RunJar.java:149)

Répondre

0

Je pense que vous devriez appellerez:

$HADOOP_HOME/bin/hadoop jar mahout-core-0.3-SNAPSHOT.job org.apache.mahout.classifier.bayes.mapreduce.bayes.BayesDriver -i test -o output

Remarque bayesDriver, pas bayesdriver.

(appelé this documentation)

+0

Eh bien, devinez que cela devrait être en minuscules seulement. Il a travaillé avec d'autres programmes utilisant MapReduce sans Mahout. En tout cas j'ai essayé ce qui ne fait aucune différence. – Shweta

+0

Ma suggestion a-t-elle fonctionné ou y avait-il encore un problème? – Brabster

+0

C'est l'erreur que je reçois quand je donne BayesDriver. Exception in thread "main" java.lang.NoSuchMethodException: org.apache.mahout.classifier.bayes.mapreduce.bayes.BayesDriver.main ([Ljava.lang.String;) \t à java.lang.Class. getMethod (Class.java:1605) \t à org.apache.hadoop.util.RunJar.main (RunJar.java:150) – Shweta

0

Est-ce le fait que votre fichier se termine par un .job au lieu d'un .jar pertinent? La documentation n'est pas claire.