在 Rstudio 中尝试 运行 Spark 时未找到 spark-cmd
spark-cmd not found when trying to run Spark in Rstudio
我正在按照找到的说明 here on rbloggers 在 redhat 机器上设置 spark。我想在 RStudio 中使用 Spark。
我已经下载 spark-1.6.1-bin-hadoop2.6
并按照说明进行操作,并将以下行放入 RStudio 的脚本中:
# Setting SPARK_HOME
Sys.setenv(SPARK_HOME = "~/Downloads/spark-1.6.1-bin-hadoop2.6")
# Setting library path
.libPaths(c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib"), .libPaths()))
library(SparkR)
# create a spark context
sc <- sparkR.init(master = "local")
但是最后一行returns出现如下错误:
Launching java with spark-submit command ~/Downloads/spark-1.6.1-bin-hadoop2.6/bin/spark-submit sparkr-shell /tmp/RtmpSwsYUW/backend_port3752546940e6
sh: ~/Downloads/spark-1.6.1-bin-hadoop2.6/bin/spark-submit: No such file or directory
在问这个问题之前,我已经尝试了互联网上的所有解决方案。例如:
JAVA_HOME 和 SPARK_HOME 已设置。
让 spark-submit
可由 chmod a+x spark-submit.cmd
(以及 chmod u+w spark-submit.cmd
)执行,但没有用。 (当然我在正确的图书馆)
在终端中尝试 spark-shell
并且它有效(returns 一个有效的 shell ins scala)
初始化前添加:
Sys.setenv("SPARK_SUBMIT_ARGS"=" - - master yarn-client sparkr-shell")
我现在唯一能想到的问题是目录中没有sparkr-shell
。它只是 sparkr.cmd
和 sparkr2.cmd
。现在我想知道它是否与我下载的 spark 版本有关?我应该先安装hadoop吗?
SparkR
通过 system2
调用 Spark,后者使用 shQuote
引用命令(参见 ?system2
和 ?shQuote
)。这意味着 ~
不会展开。
只需指定完整路径:
Sys.setenv(SPARK_HOME = "/home/<youruser>/Downloads/spark-1.6.1-bin-hadoop2.6")
或者自己做路径扩展:
Sys.setenv(SPARK_HOME = path.expand("~/Downloads/spark-1.6.1-bin-hadoop2.6"))
顺便说一句,.cmd
文件是给 Windows 的,所以它们不相关。
我正在按照找到的说明 here on rbloggers 在 redhat 机器上设置 spark。我想在 RStudio 中使用 Spark。
我已经下载 spark-1.6.1-bin-hadoop2.6
并按照说明进行操作,并将以下行放入 RStudio 的脚本中:
# Setting SPARK_HOME
Sys.setenv(SPARK_HOME = "~/Downloads/spark-1.6.1-bin-hadoop2.6")
# Setting library path
.libPaths(c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib"), .libPaths()))
library(SparkR)
# create a spark context
sc <- sparkR.init(master = "local")
但是最后一行returns出现如下错误:
Launching java with spark-submit command ~/Downloads/spark-1.6.1-bin-hadoop2.6/bin/spark-submit sparkr-shell /tmp/RtmpSwsYUW/backend_port3752546940e6
sh: ~/Downloads/spark-1.6.1-bin-hadoop2.6/bin/spark-submit: No such file or directory
在问这个问题之前,我已经尝试了互联网上的所有解决方案。例如:
JAVA_HOME 和 SPARK_HOME 已设置。
让
spark-submit
可由chmod a+x spark-submit.cmd
(以及chmod u+w spark-submit.cmd
)执行,但没有用。 (当然我在正确的图书馆)在终端中尝试
spark-shell
并且它有效(returns 一个有效的 shell ins scala)初始化前添加:
Sys.setenv("SPARK_SUBMIT_ARGS"=" - - master yarn-client sparkr-shell")
我现在唯一能想到的问题是目录中没有sparkr-shell
。它只是 sparkr.cmd
和 sparkr2.cmd
。现在我想知道它是否与我下载的 spark 版本有关?我应该先安装hadoop吗?
SparkR
通过 system2
调用 Spark,后者使用 shQuote
引用命令(参见 ?system2
和 ?shQuote
)。这意味着 ~
不会展开。
只需指定完整路径:
Sys.setenv(SPARK_HOME = "/home/<youruser>/Downloads/spark-1.6.1-bin-hadoop2.6")
或者自己做路径扩展:
Sys.setenv(SPARK_HOME = path.expand("~/Downloads/spark-1.6.1-bin-hadoop2.6"))
顺便说一句,.cmd
文件是给 Windows 的,所以它们不相关。