Speee DEVELOPER BLOG

Speee開発陣による技術情報発信ブログです。 メディア開発・運用、スマートフォンアプリ開発、Webマーケティング、アドテクなどで培った技術ノウハウを発信していきます!

情報処理学会会誌『情報処理』に「Apache ArrowによるRubyのデータ処理対応の可能性」というタイトルで論文を寄稿しました

開発部 R&D ユニットで OSS を開発している村田です。GitHub のアカウントは @mrkn です。今回は情報処理学会に寄稿した次の論文の経緯と内容について簡単に紹介します。

www.ipsj.or.jp

Speee には、社員の OSS 開発を促進する取り組みとして、株式会社クリアコード須藤さんにアドバイスをいただいたり、須藤さんと一緒に OSS の開発をしたりできる福利厚生があります。私は2018年頃から Apache Arrow の開発に入っていきましたが、当時すでに Apache Arrow PMC メンバーだった須藤さん*1に大いに助けていただきました。

Apache Arrow の開発に参加してから3年間、私は主に Arrow C++ の sparse tensor 周り、Arrow GLib、Red Arrow の開発を須藤さんと共に手掛けました。Apache Arrow の開発に参加した理由は、Ruby をデータ処理に対応させるために Apache Arrow が必要だと思っていたからですが、この3年間の活動を通してその考えは間違っていなかったと考えるに至りました。

Apache Arrow は 2020年7月にバージョン1がリリースされて徐々に利用者が増えてきていますが、Ruby への対応を進める開発者はなかなか増えません。そこで、データ処理分野における Apache Arrow の重要性と、Ruby のデータ処理対応への必要性の両方を解説する文書を書いて公開したいなと考えていました。そんなときにちょうどデジタルプラクティスのビッグデータ特集の話をいただいたため、論文を書いて寄稿させていただいたというわけです。

この論文では、Apache Arrow の特徴であるプログラミング言語中立のデータフォーマット、ライブラリ開発方針の特色、そして Ruby バインディングの開発におけるアプローチ方法について解説しています。Apache Arrow は、先進的なデータ処理の研究でも応用され始めていますので、それらの研究についても簡単に紹介しています。Apache Arrow と、Ruby のデータ処理対応のいずれかに興味があれば是非ご一読いただければと思います。

Apache Arrow の開発や、Ruby のデータ処理対応に参加してみたいと思った方は、毎月オンラインで開催している OSS Gate for Red Data Tools にご参加ください。次回は2月16日 (水) です。Red Data Tools の Gitter でお待ちしております。

speee.connpass.com