我已经使用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命令中执行此操作吗?
答案 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"