2

我能够验证新闻组数据是否存在输入目录(在 /tmp 下)。不知道为什么我得到一个文件未找到异常。

$ sh分类-20newsgroups.sh 请选择一个数字来选择相应的任务来运行 1. naivebayes 2. sgd 3. clean -- 清理/tmp/mahout-work-rsrinivasan中的工作区输入你的选择:1 ok。您选择了 1,我们将使用 naivebayes 在 /tmp/mahout-work-rsrinivasan 创建工作目录 准备训练数据 MAHOUT_LOCAL 未设置;将 HADOOP_CONF_DIR 添加到类路径。未设置 HADOOP_HOME,在本地运行 SLF4J:类路径包含多个 SLF4J 绑定。SLF4J:在 [jar:file:/C:/cygwin/usr/local/mahout/examples/target/mahout-examples-0.6-job.jar!/org/slf4j/impl/StaticLoggerBinder.class] 中找到绑定 SLF4J:找到在 [jar:file:/C:/cygwin/usr/local/mahout/examples/target/dependency/slf4j-jcl-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J 中绑定:找到绑定在 [jar:file:/C:http://www.slf4j.org/codes.html#multiple_bindings进行解释。12/05/14 09:13:44 WARN driver.MahoutDriver:在 classpath 上找不到 org.apache.mahout.classifier.bayes.PrepareTwentyNewsgroups.props,将仅使用命令行参数 线程“main”java.io 中的异常。 FileNotFoundException:找不到输入目录 \tmp\mahout-work-rsrinivasan\20news-bydate\20news-bydate-train 在 org.apache.mahout.classifier.bayes.PrepareTwentyNewsgroups.main(PrepareTwentyNewsgroups.java:92) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun .reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:68 ) 在 org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:139) 在 org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:188)

4

2 回答 2

0

最好在 unix 环境下运行该示例。当我尝试 oscon2011 reuters 示例时,我遇到了类似的问题;虽然我使用 git bash 控制台来完成这项工作。看来分类和聚类示例 hdfs local 可以正常运行。

我设法使用 vagrant 启动并运行了一个虚拟机,这个过程相对简单。是的,它确实增加了学习周期,但经过一些初始投资后,我能够在几个小时内完成路透社的示例。

谢谢阿南德

于 2014-08-02T17:38:52.280 回答
0

您可能必须在该脚本在 Windows 上运行之前对其进行编辑。我想 Cygwin/Windows 的路径是错误的。

于 2012-05-14T15:42:05.480 回答