无法从SPARK_HOME或SPARK_HOME_VERSION

时间:2017-02-16 15:14:22

标签: data-science-experience

我正在尝试跟踪tutorial在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中的connect to spark对话框中获取了上面的代码片段:

enter image description here

所以我看了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的摘录。请注意,我有更多的spark服务,我刚刚粘贴了第一个:

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" 

2 个答案:

答案 0 :(得分:1)

如果您的内核是在config.yml文件中定义的,那么您不能使用master参数连接到bluemix spark服务,您应该使用config参数来连接。

config.yml加载了您可用的内核信息(spark实例)。

Apache Spark-ic:
method: "bluemix"
spark.master: "spark.bluemix.net"
spark.instance.id: "41a2e5e9xxxxxx47ef-97b4-b98406426c07"
tenant.id: "s7b4-b9xxxxxxxx7e8-2c631c8ff999"
tenant.secret: "XXXXXXXXXX"
hsui.url: "https://cdsx.ng.bluemix.net"

请使用配置 sc <- spark_connect(config = "Apache Spark-ic")

正如教程中所建议的: - http://datascience.ibm.com/blog/access-ibm-analytics-for-apache-spark-from-rstudio/

FYI, 默认情况下,您已连接到,我正在寻找如何使用config参数更改版本。

> version <- invoke(spark_context(sc), "version")

print(version)

[1] "2.0.2"

谢谢, 查尔斯。

答案 1 :(得分:0)

我遇到了相同的问题,并按以下步骤进行修复:

  1. 转到C:\ Users \ USER_NAME \ AppData \ Local / spark /并删除目录中所有内容
  2. 然后,在R控制台中运行:
if (!require(shiny)) install.packages("shiny"); 
library(shiny)
if (!require(sparklyr)) install.packages("sparklyr"); 
library(sparklyr)
spark_install()