学術プロジェクトの一環として、協調フィルタリング ベースのレコメンデーション システムを構築しようとしています。Mahout プロジェクトには多くの可能性があると思います。
ubuntu 10.1にMahout、hadoop、およびJavaをインストールしました。Hadoop と Java が連携して正常に動作することが確認されています。(Hadoop 単語カウント サンプル ジョブを実行)
このチュートリアルに従って、100 万のデータセットで「Taste Grouplens Example」を実行しています。次のように入力しました
chirayu@chirayu-laptop:~/hadoop-0.20.2$ mvn -e exec:java
-Dexec.mainClass="org.apache.mahout.cf.taste.example.grouplens.GroupLensRecommenderEvaluato
rRunner" -Dexec.args="-i /home/chirayu/mahout_source/trunk/examples/data/ratings.dat"
次に、チュートリアルの Hadoop クラスターでの実行に続き、examples ディレクトリに mvn install を実行し、examples/target/ ディレクトリに jar ファイルを生成してから、ジョブを実行する必要がある次の部分に進みました。次のように入力しました:
chirayu@chirayu-laptop:~/hadoop-0.20.2$ sudo bin/hadoop jar /home/chirayu/mahout_source
/trunk/examples/target/mahout-examples-0.5-SNAPSHOT.jar
org.apache.mahout.cf.taste.example.grouplens.GroupLensRecommenderEvaluatorRunner
次のエラーが表示されます。
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/mahout/cf/taste/eval/RecommenderEvaluator
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
Caused by: java.lang.ClassNotFoundException: org.apache.mahout.cf.taste.eval.RecommenderEvaluator
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:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 3 more
jarファイルを正しくデプロイしているかどうかはわかりませんが、何かアイデアはありますか?