Java 无法在Cygwin下运行Mahout 20newsgroups示例

Java 无法在Cygwin下运行Mahout 20newsgroups示例,java,apache,mahout,Java,Apache,Mahout,我能够验证输入目录(在/tmp下)是否存在新闻组数据。不确定我为什么会收到文件未找到异常 $sh-20newsgroups.sh 请选择一个数字以选择要运行的相应任务 1.贝叶斯方法 2.新加坡元 3.清洁——清洁/tmp/mahout工作区内的工作区域 输入您的选择:1 好啊您选择了1,我们将使用naivebayes 在/tmp/mahout work rsrinivasan创建工作目录 准备培训数据 未设置MAHOUT_LOCAL;将HADOOP_CONF_DIR添加到类路径。 没有HADO

我能够验证输入目录(在/tmp下)是否存在新闻组数据。不确定我为什么会收到文件未找到异常

$sh-20newsgroups.sh 请选择一个数字以选择要运行的相应任务 1.贝叶斯方法 2.新加坡元 3.清洁——清洁/tmp/mahout工作区内的工作区域 输入您的选择:1 好啊您选择了1,我们将使用naivebayes 在/tmp/mahout work rsrinivasan创建工作目录 准备培训数据 未设置MAHOUT_LOCAL;将HADOOP_CONF_DIR添加到类路径。 没有HADOOP_HOME set,在本地运行 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:/cygwin/usr/local/mahout/examples/target/dependency/SLF4J-log4j12-1.6.1.jar!/org/SLF4J/impl/StaticLoggerBinder.class]中找到绑定 SLF4J:有关说明,请参阅。 12/05/14 09:13:44 WARN driver.MahoutDriver:在类路径上找到的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(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中 位于java.lang.reflect.Method.invoke(Method.java:597) 位于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)

上,您可能需要编辑该脚本才能在Windows上运行。我想Cygwin/Windows的路径是错误的。

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

最好在unix环境下运行该示例。当我尝试oscon2011路透社的例子时,我遇到了类似的问题;虽然我使用git bash控制台来完成这项工作。似乎分类和集群示例hdfs本地运行正常

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

谢谢
anand

最好在unix环境下运行该示例。当我尝试oscon2011路透社的例子时,我遇到了类似的问题;虽然我使用git bash控制台来完成这项工作。似乎分类和集群示例hdfs本地运行正常

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

谢谢
anand

我检查了classify-20newsgroups.sh和mahout shell脚本中的路径,它们都指向输入数据的位置。问题似乎是JVM如何使用路径。由于JVM在Windows中本机运行(即在cygwin之外),因此我不清楚如何更改路径。我能在Mac电脑上让一切正常工作。顺便说一句,我刚订购了你的书。我通过使用cygpath-wp转换它们,解决了路径问题。现在我得到了这个异常:线程“main”java.io.IOException中的异常:未能设置路径:\tmp\hadoop rsrinivasan\mapred\staging\rsrinivasan 431425615\的权限。到0700的staging我已经设置了MAHOUT\u LOCAL。我不明白为什么本地模式的mahout会尝试使用hadoop!!!本地模式仍然意味着Hadoop,只是不在集群中运行。它在进程中运行Hadoop。权限错误通常是因为Windows没有
chmod
。我想,我检查了classify-20newsgroups.sh和mahout shell脚本中的路径,它们都指向输入数据的位置。问题似乎是JVM如何使用路径。由于JVM在Windows中本机运行(即在cygwin之外),因此我不清楚如何更改路径。我能在Mac电脑上让一切正常工作。顺便说一句,我刚订购了你的书。我通过使用cygpath-wp转换它们,解决了路径问题。现在我得到了这个异常:线程“main”java.io.IOException中的异常:未能设置路径:\tmp\hadoop rsrinivasan\mapred\staging\rsrinivasan 431425615\的权限。到0700的staging我已经设置了MAHOUT\u LOCAL。我不明白为什么本地模式的mahout会尝试使用hadoop!!!本地模式仍然意味着Hadoop,只是不在集群中运行。它在进程中运行Hadoop。权限错误通常是因为Windows没有
chmod
。我想。