米Google、C/C++コードをHadoop上でネイティブに動かすフレームワーク「MapReduce for C(MR4C)」を公開

 米GoogleがC/C++コードを「Apache Hadoop」上で動かすためのフレームワーク「MapReduce for C(MR4C)」をオープンソースで公開した。HadoopはJavaベースで実装されているが、このフレームワークを利用することで、C/C++で書かれたアプリケーションを直接Hadoop上で動かすことができる。

 Apache HadoopはJavaで作成されたビックデータ分散処理技術。今回公開されたMapReduce for C(MR4C)はHadoop実行フレームワーク内でC/C++コードをネイティブに動かすことができるフレームワーク技術で、ネイティブコードで実装されたアルゴリズムが持つ性能と柔軟性を利用できるとしている。

 作成されたアプリケーションは、ローカルのファイルシステムや任意のURI(Uniform Resource Identifier)にアクセスするネイティブの共有オブジェクトに保存される。インプット/アウトプット、ランタイムパラメーター、その他の外部のライブラリはJSONを利用して設定する。

 もともとはGoogleが2014年8月に買収した衛星画像企業のSkybox Imagingが開発した技術で、大規模な航空衛星画像の処理を支援することを目的としていた。Googleによると、大規模なデータセットを利用するソフトウェアではMapReduce内でのネイティブコード実行のためにプロプライエタリなシステムを開発して利用していることが多いという。今回MR4Cをオープンソースとして公開することで、そのようなソフトウェアを柔軟に利用できるとしている。ライセンスはApache License 2.0。

MapReduce for C(MR4C)
https://github.com/google/mr4c