r - 将 R 代码与 Web 服务器集成

标签 r thrift rpy2 rapache deployr

<分区>

概述: 需要将 R 库与用 python 编写的 Web 服务器集成。我探索了不同博客和堆栈溢出线程中经常提到的一些选项。我遇到的线程比较了 Rpy2 和 pypeR 等库,并提供了集成 R 和 python 的具体答案。我正在寻找的是一个通用的解决方案,以便 R 代码可以被多种编程语言/客户端访问(用于 future 的可扩展性)。

要求:

  1. R 代码应该单独运行以处理繁重的计算,而不是嵌入到应用程序服务器中。
  2. R 模块应该是可扩展的并且易于维护。例如,对应用程序服务器(用 python 编写)的任何更改不应触发 R 代码中的更改。
  3. R 模块可用作 API,用于使用 Python 以外的 Web 框架进一步开发应用程序。

已经探索过的选项:

  1. rpy2,pypeR:一种选择是编写一个单独的 python 服务器,并让该服务器使用 rpy2 处理 R 代码。应用服务器可以向第二个服务器发送请求。
  2. Rserve 和 pyRserve:使用 Rserve 和 pyRserve 客户端在 R 和 Python 之间进行通信。
  3. Apache Thrift 和 Protocol Buffer:rprotobuf 是 R 的一个接口(interface),可以使其与 Protocol Buffer 一起工作,但我在 Apache Thrift 中找不到对 R 的任何支持。像 Thrift 或 protocol buffer 这样的东西会比创建 R 服务器更好吗?
  4. Rapache 和 Rook:使用 R 中的 Rapache 和 Rook 包设置用于处理请求的服务器。
  5. deployR:由 Revolution Analytics 创建。

其中哪一个是理想的选择或者列表中没有的任何其他选项?

最佳答案

您是否考虑过以下问题?

  • Python 有一个与 Thrift 接口(interface)/创建 Thrift 服务器的包。
  • Rpy2 是 R 的接口(interface)(可以说是最快的接口(interface))。

web server <---> Thrift server (Python) (Python + rpy2)

关于r - 将 R 代码与 Web 服务器集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35572429/

相关文章:

R 计算公式列表中的公式

python - 在MacOS上安装rpy2

python - Rpy2 在安装时找不到我的 R 库

c# - 如何使用 Thrift 的 C# THttpHandler?

python - 如何识别所有库 Rpy2 R

r - 如何在循环中使用 tidyeval 函数?

r - R中的操作重载

r - Shiny R,使用 downloadButton 功能

scala - 如何在 Thrift/Scrooge 中声明一个返回 Option 值的方法?

c++ - 如何在 Windows 中编译 thrift?我有错误