如何在行动中运行mahout示例ReutersToSparseVectors?

时间:2012-07-12 07:41:02

标签: hadoop mahout

我想运行“ReutersToSparseVectors.java”。我可以毫无问题地编译和创建JAR文件。

我通过以下命令编译了这个文件:

javac -classpath hadoop-core-0.20.205.0.jar:lucene-core-3.6.0.jar:mahout-core-0.7.jar:mahout-math-0.7.jar ReutersToSparseVectors.java

created JAR file with below command:

jar cvf ReutersToSparseVectors.jar ReutersToSparseVectors.class

jar cvf ReutersToSparseVectors.jar ReutersToSparseVectors.class要运行,请给我以下错误:

无法从中加载Main-Class清单属性 ReutersToSparseVectors.jar

你能帮我解决这个问题吗?

如果这个例子可以用hadoop运行,请告诉我如何用hadoop运行它。

1 个答案:

答案 0 :(得分:1)

而不是使用-jar选项,最好运行:

 java -cp mahout-core.jar:... mia.clustering.ch09.ReutersToSparseVectors

或者您可以使用mvn exec:java命令,例如described in README作为示例...

 mvn exec:java -Dexec.mainClass="mia.clustering.ch09.ReutersToSparseVectors"

或者您可以直接从IDE运行此文件(假设您正确导入了Maven项目)。

P.S。你的命令不起作用,因为要使用-jar开关运行,.jar文件应该在清单中有特殊条目,描述该类应该默认启动...

P.P.S。最好将书籍的例子与Mahout 0.7一起使用,因为它们已经过测试。如果需要,可以将它与版本0.7一起使用,那么你需要从存储库的mahout-0.7分支中获取源代码和示例(链接在上面)