2017-07-17 173 views
0

我在Spark的Spark中工作。我已成功在Windows中设置了spark和环境变量,并且我的程序在Scala IDE中运行,没有任何问题。现在我需要使用Mahout库函数进行机器学习。我试图用这个链接让Mahout为windows here工作,但我没有运气,它不工作。我的Scala IDE说:“无法读取”mahout -spark classpath“的输出,是否设置了SPARK_HOME?”如何为Windows安装和使用Mahout?

有谁知道如何正确设置Mahout的窗口?提前致谢。

+0

请阅读[为什么“有人可以帮助我?”不是一个实际的问题?](https://meta.stackoverflow.com/questions/284236/why-is-can-someone-help-me-not-在尝试提出更多问题之前,这是一个实际问题)。 –

+0

在尝试提出更多问题之前,请阅读[我如何提出一个好问题?](http://stackoverflow.com/help/how-to-ask)。 –

回答

-1

该链接是矫枉过正。

如果你想在REPL环境上运行星火Mahout的,你应该需要做的是set some env variables.

你有没有设置SPARK_HOME? (尝试echo $SPARK_HOME - 我认为这适用于Windows?)

另一种方法是使用阿帕奇Zeppelin,这是一个更好的体验,与合作。 Tutorial

我没有听说过任何人在Windows上做Mahout,但它应该是直截了当的。如果/当你得到它working-请写一个教程,我们将它张贴在网站上(我是社区成员),我们可以帮你,请在developer email list

更新伸手

如果您无法运行bin/mahout您可以install Cygwin(从而创造一个类似Unix的环境,或者你可以尝试以下方法:

export MAHOUT_JARS=$(echo "$MAHOUT_HOME"/*.jar | tr ' ' ',')

$SPARK_HOME/bin/spark-shell --jars "$MAHOUT_JARS" \ 
    -i $MAHOUT_HOME/bin/load-shell.scala \ 
    --conf spark.kryo.referenceTracking=false \ 
    --conf spark.kryo.registrator=org.apache.mahout.sparkbindings.io.MahoutKryoRegistrator \ 
    --conf spark.kryoserializer.buffer=32k \ 
    --conf spark.kryoserializer.buffer.max=600m \ 
    --conf spark.serializer=org.apache.spark.serializer.KryoSerializer 

哪个应该用Mahout Jars /适当的spark配置启动spark-shell,以及mahout启动脚本(它导入库并设置Mahout分布式上下文) - 但是我个人建议Zeppelin(请参阅上面的教程链接)。

+0

恐怕,这不是直接的,因为命令/脚本是bash脚本,只能在Linux上运行。该链接给了Windows有点类似的脚本,但现在已经过时了。需要有人更新脚本或另一种更简单的方式来使用Mahout。 顺便说一句我已经成功地在Windows中设置env变量。 – user3086871

0

我们在Mahout项目中不直接支持Windows。 VM现在是免费的,所以我建议为Apache的大多数JVM(Java虚拟机)工具安装一个。有些将在本地使用Window,但它们都在Linux上工作。然后安装你可能在生产中使用的Nix。这有几个好处。

可选边缘Windows有一个新的Linux子系统PowerShell,它允许安装像Ubuntu这样的客户操作系统。这将是一个实验,因为我没有尝试过。 https://msdn.microsoft.com/en-us/commandline/wsl/install_guide

不知道这是使用Container还是VM技术,但听起来很有希望。