通过 sparklyr 连接到另一个 spark 集群时,是否需要本地版本的 Spark?

Do I need a local version of Spark when connecting to another spark cluster through sparklyr?

我有一个安装了 Rstudio 的生产 R 集群。用户在 R 服务器上进行负载平衡并在那里编写代码。我还有一个单独的 Spark 集群,它有 4 个节点。使用 sparklyr,我可以通过以下方式轻松连接到我的 spark 集群:

sc <- sparklyr::spark_connect("spark://<my cluster>:7077")

我唯一注意到的是,当我执行此操作时,R 生产服务器上使用了一些 Spark 应用程序。我相信这会导致一些问题。我在 /var/lib/Spark 的相同 SPARK_HOME 位置将 Spark 安装在 R 生产服务器和 Spark 集群上。

我想完全避免在我的 R 服务器上使用 Spark,这样那里就没有与 Spark 相关的用法。我如何用 sparklyr 做到这一点?

是的,您确实需要在本地安装 Spark 才能提交 Spark 应用程序。其余取决于模式:

  • 在客户端模式中,驱动程序将 运行 在您提交申请的同一节点上。
  • 在集群模式下,驱动程序会运行在集群上。不会有本地 Spark 进程。但是,这不支持交互式处理。