1

我正在尝试在我的 Windows 环境中使用 VS2012 以本地调试模式运行一个简单的 spark clr 程序。

请找到我执行的以下步骤,

  1. 从以下页面下载 v1.6.100 并解压到我的 D 盘 https://github.com/Microsoft/Mobius/releases

在我的 D 盘中,文件夹如下所示,D:\SparkClr\spark-clr_2.10-1.6.100

  1. 设置以下环境变量,
    SPARK_HOME = D:\SparkClr\spark-clr_2.10-1.6.100\runtime
    SPARKCLR_HOME = D:\SparkClr\spark-clr_2.10-1.6.100\runtime
    JAVA_HOME = C:\Program Files \Java\jdk1.8.0_92
    HADOOP_HOME = D:\HadoopDirectory(winutils.exe 存在于 D:\HadoopDirectory\bin 中)

  2. 下载的 sparkclr nuget 包

为了在我的本地 VS 程序的 app.config 中设置“CSharpBackendPortNumber”,我需要按照https://github.com/Microsoft/Mobius/blob/master/notes/running-mobius-app在调试模式下运行.md#调试模式

但是当我从 D:\SparkClr\spark-clr_2.10-1.6.100\runtime\scripts 运行'sparkclr-submit.cmd debug'

我收到以下异常,

D:\SparkClr\spark-clr_2.10-1.6.100\runtime\scripts>sparkclr-submit.cmd debug
'"D:\SparkClr\spark-clr_2.10-1.6.100\runtime\bin\load-spark-env.cmd"' is not rec
ognized as an internal or external command,
operable program or batch file.
SPARKCLR_JAR=spark-clr_2.10-1.6.100.jar
Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/Seq
        at org.apache.spark.deploy.csharp.CSharpRunner.main(CSharpRunner.scala)
Caused by: java.lang.ClassNotFoundException: scala.collection.Seq
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 1 more

你能告诉我我是否遗漏了什么吗?

谢谢

4

1 回答 1

1

SPARK_HOME环境变量应该指向 Spark 目录。你让它指向 Mobius 目录。

于 2016-08-08T17:42:06.493 回答