0

我正在尝试从在我的桌面机器上运行的 RStudio 连接到 IBM 的 Spark as a Service 在 Bluemix 上运行。

我已经config.yml从运行在 IBM 的 Data Science Experience 上的自动配置的 RStudio 环境中复制了:

default:
    method: "shell"

CS-DSX:
    method: "bluemix"
    spark.master: "spark.bluemix.net"
    spark.instance.id: "myinstanceid"
    tenant.id: "mytenantid"
    tenant.secret: "mytenantsecret"
    hsui.url: "https://cdsx.ng.bluemix.net"

我正在尝试像这样连接:

install.packages("sparklyr")

library(sparklyr)
spark_install(version = "1.6.2") # installed spark to '~/Library/Caches/spark/spark-1.6.2-bin-hadoop2.6'

spark_home = '~/Library/Caches/spark/spark-1.6.2-bin-hadoop2.6'

config = spark_config(file = "./config.yml", use_default = FALSE, config = "CSX-DSX")

sc <- spark_connect(spark_home = spark_home, config = config)

错误:

17/03/07 09:36:19 ERROR SparkContext: Error initializing SparkContext.
org.apache.spark.SparkException: Could not parse Master URL: 'spark.bluemix.net'
    at org.apache.spark.SparkContext$.org$apache$spark$SparkContext$$createTaskScheduler(SparkContext.scala:2735)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:522)
    at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2281)
    at org.apache.spark.SparkContext.getOrCreate(SparkContext.scala)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    ...

stackoverflow 上还有一些其他问题带有类似的错误消息,但它们并未尝试连接到在 Bluemix 上运行的 Spark 服务。


更新 1

我已将 config.yml 更改为如下所示:

default:
    method: "bluemix"
    spark.master: "spark://spark.bluemix.net:7070"
    spark.instance.id: "7a4089bf-3594-4fdf-8dd1-7e9fd7607be5"
    tenant.id: "sdd1-7e9fd7607be53e-39ca506ba762"
    tenant.secret: "6146a713-949f-4d4e-84c3-9913d2165b9e"
    hsui.url: "https://cdsx.ng.bluemix.net"

...和我的连接代码看起来像这样:

install.packages("sparklyr")
library(sparklyr)
spark_install(version = "1.6.2")
spark_home = '~/Library/Caches/spark/spark-1.6.2-bin-hadoop2.6'
config = spark_config(file = "./config.yml", use_default = FALSE)
sc <- spark_connect(spark_home = spark_home, config = config)

但是,现在的错误是:

Error in force(code) : 
  Failed during initialize_connection: java.lang.NullPointerException
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:583)
    at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2281)
    at org.apache.spark.SparkContext.getOrCreate(SparkContext.scala)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at sparklyr.Invoke$.invoke(invoke.scala:94)
    ...
4

3 回答 3

0

该库尝试解析 URL,但您为其提供了主机名。

试一试。spark://spark.bluemix.net_spark.master

于 2017-03-07T11:21:35.553 回答
0

请按照博客文章http://datascience.ibm.com/blog/access-ibm-analytics-for-apache-spark-from-rstudio/从 DSX RStudio 连接 Bluemix SparkaaS。

于 2017-03-07T15:34:30.100 回答
0

我收到了工程团队的以下回复:

RStudio 桌面版目前不支持使用 sparklyr 包连接 Bluemix SparkaaS 服务

于 2017-03-07T15:53:46.177 回答