我正在尝试按照教程在 DSX 上使用 RStudio 中的 spark,但遇到以下错误:
> library(sparklyr)
> sc <- spark_connect(master = "CS-DSX")
Error in spark_version_from_home(spark_home, default = spark_version) :
Failed to detect version from SPARK_HOME or SPARK_HOME_VERSION. Try passing the spark version explicitly.
我从 RStudio 中的连接到火花对话框中获取了上面的代码片段:
所以我看了看SPARK_HOME
:
> Sys.getenv("SPARK_HOME")
[1] "/opt/spark"
好的,让我们检查一下 dir 是否存在:
> dir("/opt")
[1] "ibm"
我猜这是问题的原因?
注意: stackoverflow 上有一些类似的问题,但没有一个是关于 IBM 的数据科学体验 (DSX)。
更新1:
我尝试了以下方法:
> sc <- spark_connect(config = "CS-DSX")
Error in config$spark.master : $ operator is invalid for atomic vectors
更新 2:
我的 config.yml 的摘录。请注意,我有更多的火花服务,我刚刚粘贴了第一个:
default:
method: "shell"
CS-DSX:
method: "bluemix"
spark.master: "spark.bluemix.net"
spark.instance.id: "7a4089bf-3594-4fdf-8dd1-7e9fd7607be5"
tenant.id: "sdd1-7e9fd7607be53e-39ca506ba762"
tenant.secret: "xxxxxx"
hsui.url: "https://cdsx.ng.bluemix.net"
请注意,我的 config.yml 是为我生成的。
更新 3:
我的 .Rprofile 看起来像这样:
# load sparklyr library
library(sparklyr)
# setup SPARK_HOME
if (nchar(Sys.getenv("SPARK_HOME")) < 1) {
Sys.setenv(SPARK_HOME = "/opt/spark")
}
# setup SparkaaS instances
options(rstudio.spark.connections = c("CS-DSX","newspark","cleantest","4jan2017","Apache Spark-4l","Apache Spark-3a","ML SPAAS","Apache Spark-y9","Apache Spark-a8"))
请注意,我的 .Rprofile 是为我生成的。
更新 4:
我卸载了 sparklyr 并重新启动了两次会话。接下来我尝试运行:
library(sparklyr)
library(dplyr)
sc <- spark_connect(config = "CS-DSX")
但是,上述命令挂起。我停止了命令并检查了 sparklyr 的版本,这似乎没问题:
> ip <- installed.packages()
> ip[ rownames(ip) == "sparklyr", c(0,1,3) ]
Package Version
"sparklyr" "0.4.36"