从Windows启动Spark-Shell(Scala)并设置工作目录路径

时间:2016-12-12 01:50:20

标签: windows scala apache-spark command-line

我已经使用RStudio的sparklyr软件包安装了Spark,并通过以下方式返回了路径:

# library(sparklyr)
# spark_home_dir()

现在我想从Windows命令shell启动spark-shell,这样可以正常工作。

start C:\\Users\\eyeOfTheStorm\\AppData\\Local\\rstudio\\spark\\Cache\\spark-2.0.0-bin-hadoop2.7\\bin\\spark-shell

但是当我尝试将工作目录设置为我的桌面时,我可以从那里读取文件,使用:load指向工作目录时它没有正确指向。

start C:\\Users\\eyeOfTheStorm\\AppData\\Local\\rstudio\\spark\\Cache\\spark-2.0.0-bin-hadoop2.7\\bin\\spark-shell :load C:\\Users\\eyeOfTheStorm\\Desktop\\WorkingDir

来自Scala,这应该确认工作目录为Desktop ...

def pwd = System.getProperty("user.dir"); println(pwd)

但它只返回C:\Users\eyeOfTheStorm。我希望它返回C:\\Users\\eyeOfTheStorm\\Desktop。知道如何在单个Windows命令中执行此操作吗?

2 个答案:

答案 0 :(得分:2)

在你发起的repl会话中,输入以下行:

scala> System.setProperty("user.dir", "C:\\Users\\eyeOfTheStorm\\Desktop")

查看文档here

答案 1 :(得分:1)

JVM启动时的当前工作目录(cwd)将是该JVM剩余生命周期的cwd。无法通过更改系统属性来更改它。所以7kemZmani的解决方案将无效。

只需在启动shell

之前进入预期的工作目录
cd C:\my\working\dir
start "$SPARK_HOME\bin\spark-shell"