我在Windows中使用Spark。我已经在Windows中成功设置了spark和environment变量,我的程序在Scala IDE中运行没有任何问题。现在我需要使用Mahout库函数进行机器学习。我尝试使用此链接使Mahout适用于Windows here,但我没有运气,但是没有用。我的scala ide说:“无法读取”mahout -spark classpath“的输出。是否设置了SPARK_HOME?”
有谁知道如何正确设置适用于Windows的Mahout?提前谢谢。
答案 0 :(得分:0)
我们Mahout项目不直接支持Windows。 VM现在是免费的,所以我建议为Apache的大多数JVM(Java虚拟机)工具安装一个。有些人会在本机上使用Window,但它们都可以在Linux上运行。然后安装可在生产中使用的`Nix。这有几个好处。
另外,Edge Windows有一个新的Linux子系统PowerShell,允许安装像Ubuntu这样的客户操作系统。这是一个实验,因为我没有尝试过。 https://msdn.microsoft.com/en-us/commandline/wsl/install_guide
不确定这是使用Container还是VM技术,但听起来很有希望。
答案 1 :(得分:-1)
该链接过度。
如果你想在REPL环境中在Spark上运行Mahout,你需要做的就是set some env variables.
您是否设置了SPARK_HOME? (试试echo $SPARK_HOME
- 我觉得它适用于Windows?)
另一种方法是使用Apache Zeppelin,这是一个非常好的经验,可以使用。 Tutorial
我还没有听说有人在Windows上做Mahout,但它应该是直截了当的。如果/当你开始工作时 - 请写一个教程,我们会在网站上发布(我是社区成员),我们可以帮助你,请到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(参见上面的教程链接) 。