我将Ubuntu server
设置为独立且Spark 2.2.0
启动并运行。
我的目标是允许多个用户(clients
)连接到此服务器并在本地(从他们自己的计算机)开发,这要归功于RStudio
,一些代码,必须在Spark
上执行
所以,我在我的服务器上安装了Livy(启动并运行),这使我可以从RStudio
config = livy_config(username = "me", password = "***")
sc <- spark_connect(master = "http://myserver:8998", method = "livy", config = config)
RStudio
向我发回一条消息,告诉我我已联网。
由此,我几乎没有问题:
我可以在我的RStudio本地开发并将所有处理发送到Spark(例如:管理数据帧+执行一些机器学习)?如果有,怎么样?我是否必须直接使用SparklyR的功能?我是否必须安装本地运行的Spark实例才能在将代码发送到远程服务器上的Spark群集之前测试我的代码?
当我使用copy_to函数时,使用Iris数据帧,大约需要一分钟。我可以得出结论,我的连接速度太慢,无法考虑在本地开发并将所有进程发送到我的服务器吗?
直接在我的服务器中使用RStudio是不可能的(因为我们只是通过命令行访问它),我们将同时开发几个人。什么是最容易开发的解决方案?
最后,我面临一个简单的问题:如果最好的解决方案是在本地开发我们的应用程序,然后通过ssh将它们发送到我的服务器,并直接在我的服务器上执行它们,我该如何运行它们?我已经尝试将一个简单的R script
归档到.JAR
文件并运行spark_submit
但是我找到了一个未找到类的错误(找不到主程序)。我该怎么办?