从RStudio运行SparkR返回"无法运行程序Rscript"

时间:2017-01-26 16:23:28

标签: r apache-spark rstudio sparkr rscript

我正在尝试使用RStudio进行SparkR,但它似乎不起作用。 我已经在其他问题上尝试了建议的解决方案,但我仍然无法弄清楚它为什么不运行。

我正在运行的代码如下

;WITH A
    AS (SELECT p.PaymentId
            , c.ClaimId
            , c.FirstName
            , rn = RANK() OVER(PARTITION BY P.PaymentId ORDER BY ClaimId ASC)
        FROM   #Payments p
             JOIN #Claims c ON p.PaymentId = c.PaymentId)
    SELECT PaymentId
        , ClaimId
        , FirstName
    FROM   A
    WHERE  rn = 1;

我得到的信息是

if (nchar(Sys.getenv("SPARK_HOME")) < 1) {
  Sys.setenv(SPARK_HOME = "c://spark")
}
library(SparkR)
library(SparkR, lib.loc = c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib")))

sc<-sparkR.session(master="spark://192.168.56.1:7077",appName = "R Spark", sparkConfig = list(spark.cassandra.connection.host="localhost"), sparkPackages = "datastax:spark-cassandra-connector:1.6.0-s_2.11")
df<- as.DataFrame(faithful)
showDF(df)

我正在尝试在一个包含1个Worker的独立群集上运行它,

Spark版本是2.0.2

RStudio:1.0.136

R:3.3.2

1 个答案:

答案 0 :(得分:1)

我在RStudio下遇到了类似的问题,有一个2节点集群。

问题在于,当您的R驱动程序安装了R时,您的工作节点不会(或者至少在其执行路径中没有Rscript)。因此,当它试图在worker而不是master上运行一些R代码时,它无法找到Rscript。

解决方案:在工作节点上安装R和Rscript。

我希望这有帮助!