尝试在Rstudio中运行Spark时找不到spark-cmd

时间:2016-06-23 20:35:08

标签: r apache-spark rstudio

我按照发现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:没有这样的文件或目录

在问这个问题之前,我已经尝试过互联网上的所有解决方案。例如:

  • 设置了JAVA_HOME和SPARK_HOME。
  • 通过# 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-shellsparkr.cmd。现在我想知道它与我下载的火花版有关吗?我应该先安装hadoop吗?

1 个答案:

答案 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,因此它们不相关。