【问题标题】:Using R in Apache Spark在 Apache Spark 中使用 R
【发布时间】:2025-12-25 07:35:12
【问题描述】:

在 Spark 中有一些访问 R 库的选项:

SparkR 看起来非常有限,OpenCPU 需要保留额外的服务,并且绑定可能存在稳定性问题。是否还有其他特定于 Spark 架构的东西使得使用任何解决方案都变得不容易。

您有任何集成 R 和 Spark 的经验可以分享吗?

【问题讨论】:

    标签: sparkr rpy2 opencpu r apache-spark distributed-computing rpy2 opencpu


    【解决方案1】:

    项目的主要语言似乎是一个重要因素。

    如果 pyspark 是您使用 Spark 的好方法(意味着您正在从 Python 访问 Spark)通过 rpy2 访问 R 与使用任何其他 Python 库应该没有太大区别带有 C 扩展名。

    存在用户这样做的报告(尽管偶尔会有问题,例如How can I partition pyspark RDDs holding R functionsCan I connect an external (R) process to each pyspark worker during setup

    如果 R 是您的主要语言,那么在您认为存在限制的情况下帮助 SparkR 作者提供反馈或贡献将是可行的方法。

    如果您的主要语言是 Scala,rscala 应该是您的第一次尝试。

    虽然组合 pyspark + rpy2 看起来是最“成熟”的(如“使用最古老且可能最受尝试的代码库”),但这并不一定意味着它是最好的解决方案(年轻的包可以快速发展)。我会首先评估项目的首选语言是什么,然后从那里尝试选择。

    【讨论】:

    • @CafeFeed 我没有这方面的经验。