3

概要: Python で記述された Web サーバーに R ライブラリを統合する必要があります。さまざまなブログやスタック オーバーフロー スレッドで一般的に言及されているいくつかのオプションを検討しました。私が遭遇したスレッドは、Rpy2 や pypeR などのライブラリを比較し、R と python を統合するための具体的な答えを提供します。私が探しているのは、(将来の拡張性のために) 多数のプログラミング言語/クライアントから R コードにアクセスできるようにするための一般的なソリューションです。

要件:

  1. R コードは、負荷の高い計算を処理するために個別に実行する必要があり、アプリケーション サーバーに埋め込まれないようにする必要があります。
  2. R モジュールはスケーラブルで保守が容易でなければなりません。アプリケーション サーバー (python で記述) への任意の変更は、R コードの変更をトリガーするべきではありません。
  3. R モジュールは、Python 以外の Web フレームワークを使用してさらにアプリケーションを開発するための API として使用できます。

検討済みのオプション:

  1. rpy2、pypeR: 1 つのオプションは、別の Python サーバーを作成し、そのサーバーが rpy2 を使用して R コードを処理できるようにすることです。アプリ サーバーは、2 番目のサーバーに要求を送信できます。
  2. Rserve と pyRserve: Rserve と pyRserve クライアントを使用して、R と python の間で通信します。
  3. Apache Thrift と Protocol Buffer: rprotobuf は、R が Protocol Buffer と連携するためのインターフェイスですが、Apache Thrift で R のサポートを見つけることができませんでした。R サーバーを作成するよりも、Thrift やプロトコル バッファーのようなものが優れているでしょうか。
  4. Rapache と Rook: R で Rapache と Rook パッケージを使用して、要求を処理するためのサーバーをセットアップします。
  5. deployR: Revolution Analytics によって作成されました。

これらのうち、理想的な選択肢、またはリストにないその他のオプションはどれですか?

4

2 に答える 2

2

次のことを考慮しましたか?

  • Python には、Thrift と連携するためのパッケージや、Thrift サーバーを作成するためのパッケージがあります。
  • Rpy2 は R へのインターフェイスです (そして間違いなく最速のインターフェイスです)。

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

于 2016-02-27T17:05:00.867 に答える