我按照发现here on rbloggers的说明在redhat机器上设置spark。我想在RStudio中使用Spark。
我已下载$(window).resize()
并按照说明操作,并将以下行放在RStudio的脚本中:
spark-1.6.1-bin-hadoop2.6
但是最后一行返回以下错误:
使用spark-submit命令启动java~ / 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:没有这样的文件或目录
在问这个问题之前,我已经尝试过互联网上的所有解决方案。例如:
# 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")
(以及spark-submit
)提供chmod a+x spark-submit.cmd
可执行文件但无效。 (当然我在正确的图书馆)chmod u+w spark-submit.cmd
并且它可以正常工作(返回一个工作shell ins scala)在初始化之前添加:
spark-shell
我现在能想到的唯一问题是目录中没有Sys.setenv("SPARK_SUBMIT_ARGS"=" - - master yarn-client sparkr-shell")
。它只是sparkr-shell
和sparkr.cmd
。现在我想知道它与我下载的火花版有关吗?我应该先安装hadoop吗?
答案 0 :(得分:0)
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,因此它们不相关。