2016-06-23 107 views
0

我按照說明找到here on rbloggers在紅帽機器上設置spark。我想在RStudio中使用Spark。在Rstudio中嘗試運行Spark時找不到spark-cmd

我已經下載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") 

但最後一行將返回以下錯誤:

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已設置。
  • 給​​可執行chmod a+x spark-submit.cmd(也chmod u+w spark-submit.cmd)並沒有工作。 (當然我是在正確的庫
  • 嘗試在終端spark-shell和它的作品(返回工作外殼插件斯卡拉)
  • 初始化之前添加此:

    Sys.setenv("SPARK_SUBMIT_ARGS"=" - - master yarn-client sparkr-shell") 
    

的只有我現在可以想到的問題是,目錄中沒有sparkr-shell。它只是sparkr.cmdsparkr2.cmd。現在我想知道它是否與我下載的spark版本有關?我應該首先安裝hadoop嗎?

回答

0

SparkR通過system2調用火花,其引述使用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,順便說一句,所以他們不相關的。

相關問題