java - Mahout - 尝试维基百科示例时出错

标签 java hadoop classpath mahout

注意这篇文章类似于

Caused by: java.lang.ClassNotFoundException: classpath

但错误消息不同。

当我尝试从 https://cwiki.apache.org/confluence/display/MAHOUT/Wikipedia+Bayes+Example 运行维基百科贝叶斯示例时

当我运行以下命令时:

lis-macbook-pro:mahout-distribution-0.8 Li$ mahout wikipediaXMLSplitter -d examples/temp/enwiki-latest-pages-articles10.xml -o wikipedia/chunks -c 64

我收到错误消息:

MAHOUT_LOCAL is set, so we don't add HADOOP_CONF_DIR to classpath.
MAHOUT_LOCAL is set, running locally
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/Li/File/Java/mahout-distribution-0.8/examples/target/mahout-examples-0.8-job.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/Li/File/Java/mahout-distribution-0.8/examples/target/dependency/slf4j-jcl-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.JCLLoggerFactory]
Oct 21, 2013 4:25:47 PM org.slf4j.impl.JCLLoggerAdapter warn
WARNING: Unable to add class: wikipediaXMLSplitter
java.lang.ClassNotFoundException: wikipediaXMLSplitter
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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:171)
at org.apache.mahout.driver.MahoutDriver.addClass(MahoutDriver.java:236)
at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:127)
Oct 21, 2013 4:25:47 PM org.slf4j.impl.JCLLoggerAdapter warn
WARNING: No wikipediaXMLSplitter.props found on classpath, will use command-line arguments only
Unknown program 'wikipediaXMLSplitter' chosen.

我正在使用 Hadoop 1.2 和 Mahout 0.8。 mahout-distribution-0.8/bin 已添加到 $PATH。 $MAHOUT_LOCAL 设置为“True”,因此它在本地运行。

我不知道为什么我收到“无法添加类:wikipediaXMLSplitter”

最佳答案

对于原来的问题:

您看到错误的原因:

$MAHOUT_HOME/src/conf/driver.classes.default.props 中没有 wikipediaXmlSplitter 的条目。将以下行添加到该文件中:

  org.apache.mahout.text.wikipedia.WikipediaXmlSplitter = wikipediaXmlSplitter : wikipedia splitter

您现在应该能够通过以下方式调用:

mahout wikipediaXmlSplitter 

请注意,“wikipediaXmlSplitter”中区分大小写。

Mahout wiki 上有一个错误,其中它读取为“wikipediaXMLSplitter”而不是“wikipediaXmlSplitter”,该错误已在新的 Mahout 网站 http://mahout.apache.org/users/classification/wikipedia-bayes-example.html 上修复。

关于java - Mahout - 尝试维基百科示例时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19505422/

相关文章:

java - 多部分/表单数据的问题

java - jackson 在 map 上捕捉到无法识别的领域

Java LinkedList ListIterator 行为

hadoop - 了解 map /缩小过程。有几个问题

emacs - 使用ELPA安装后,如何在Emacs中设置Clojure类路径?

java - 自定义 String 类创建

hadoop - HDFS:上传后未分发文件

java - 不使用HDFS可以用Hadoop做自动进程平衡吗

java - 如何在 Java 中真正从类路径中读取文本文件

java - 斯坦福核心 nlp 和 openccg 中的 slf4j 问题