在Apache Spark中使用R

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

  • 直接使用sparkr
  • 使用像rpy2或rscala这样的语言绑定
  • 使用像opencpu这样的独立服务
  • 它看起来像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代码库”),但这并不一定意味着它是最好的解决方案(并且年轻的软件包可以快速发展)。 我会先评估项目的首选语言,然后尝试从中选择。

    链接地址: http://www.djcxy.com/p/90581.html

    上一篇: Using R in Apache Spark

    下一篇: Exclude resources from dependency jar