我想通过sparklyr将本地桌面RStudio会话连接到远程spark会话。当您在RStudio的sparklyr ui选项卡中添加新连接时,选择cluster表示您必须在群集上运行,或者具有到群集的高带宽连接。
任何人都可以阐明如何创建这种连接吗?我不知道如何创建这个可重复的例子,但一般来说我想做的是:
library(sparklyr)
sc <- spark_connect(master = "spark://ip-[MY_PRIVATE_IP]:7077", spark_home = "/home/ubuntu/spark-2.0.0", version="2.0.0")
来自远程服务器。我知道会有延迟,特别是如果尝试在遥控器之间传递数据。我也明白在实际的集群上安装rstudio服务器会更好 - 但这并不总是可行的,我正在寻找一个闪亮的选项来在我的服务器和我的桌面RStudio会话之间进行交互。谢谢。
答案 0 :(得分:7)
从sparklyr版本0.4
开始,不支持从RStudio桌面连接到远程Spark群集。相反,正如您所提到的,建议的方法是在Spark群集中安装RStudio Server。
也就是说,sparklyr中的livy branch正在探索与Livy的集成,这将使RStudio桌面能够通过Livy连接到远程Spark集群。
答案 1 :(得分:2)
使用最新版本的sparklyr(例如,版本0.9.2
)可以连接到远程Spark集群。
以下是连接到Spark 独立集群版本2.3.1
的示例。
有关其他主URL方案,请参见Master URLs。
#install.packages("sparklyr")
library(sparklyr)
# You have to install locally (on the driver where RStudio is running) the same Spark version
spark_v <- "2.3.1"
cat("Installing Spark in the directory:", spark_install_dir())
spark_install(version = spark_v)
sc <- spark_connect(spark_home = spark_install_find(version=spark_v)$sparkVersionDir,
master = "spark://ip-[MY_PRIVATE_IP]:7077")
sc$master
# "spark://ip-[MY_PRIVATE_IP]:7077"
我已经为此主题写过post。
答案 2 :(得分:1)
我终于设法使用Livy
将本地R连接到Spark集群的云实例(在我的情况下是高清见解)在sparklyr的spark_connect中,有一个选项可以连接到livy。 (方法=“ livy ”)
sc <- spark_connect(master = "https://<clustername>.azurehdinsight.net/livy/",
method = "livy", config = livy_config(
username = "<admin>",
password = rstudioapi::askForPassword("Livy password:")))