在Apache Spark中使用R
有一些选项可以访问Spark中的R库:
rscala
这样的语言绑定 它看起来像SparkR是相当有限的,OpenCPU需要保持额外的服务和绑定可能有稳定性问题。 是否还有其他特定于Spark架构的特性使得使用任何解决方案都不容易。
你有任何集成R和Spark的经验可以分享吗?
该项目的主要语言似乎是一个重要因素。
如果 pyspark
是一个很好的方式来使用Spark(意思是你从Python访问Spark),那么通过rpy2
访问R应该与使用任何其他具有C扩展的Python库不同。
有用户这样做的报告(尽管偶尔会出现一些问题,例如我如何分区持有R功能的pyspark RDD或在安装过程中是否可以将外部(R)进程连接到每个pyspark工作人员)
如果R是您的主要语言,那么帮助SparkR作者提供反馈或贡献,如果您觉得存在限制,那么该方法将会走向成功。
如果你的主要语言是Scala, rscala
应该是你的第一次尝试。
虽然组合pyspark + rpy2
看起来是最“成熟”的(如“使用最古老,也许是最受pyspark + rpy2
代码库”),但这并不一定意味着它是最好的解决方案(并且年轻的软件包可以快速发展)。 我会先评估项目的首选语言,然后尝试从中选择。