ククログ

株式会社クリアコード > ククログ > RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow #rubykaigi

RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow #rubykaigi

RubyKaigi 2022Fast data processing with Ruby and Apache ArrowというApache Arrowを使ってRubyで高速にデータ処理する話をした須藤です。

なお、クリアコードはシルバースポンサーとしてRubyKaigi 2022を応援しました。

関連リンク:

内容

RubyKaigi Takeout 2021のRed ArrowのトークではRed Arrowを中心にできることをたくさん紹介しました。その発展形として今年は実際に使えそうな感じになっていることを紹介したかったので、高速データ処理機能にフォーカスすることにしました。が、採択されて資料を作り始めてみると「実際に使えそう」というには各機能の実装にもう少しブラッシュアップが必要なことがわかりました。なんと。。。

ということで、Apache Arrowを使って高速にデータ処理できる各種方法について次のようにまとめることにしました。

  • 高速にデータを処理したいケース
  • そのケースの実現を阻害する課題
  • その課題の解決方法の概要
  • 実際に動くRubyのコードをデモ

いろいろなケースがあった方が「このケースは自分も高速にしたい!」と感じる人が増えそうかと思い、できるだけ多くのケースを入れるようにまとめました。が、その代償として各ケースの詳細や速さがわかる数値を入れることは諦めました。そのため、「すごそうな気がする!」レベルの話になっています。

ただ、それでも興味を持ってくれた人は例年より多く、Red Data Toolsのチャットにはすでに数人新しい人が入ってきてくれています!話してよかった!

でも、いつか、詳細も説明する機会があるといいな。。。ということで、今回のトークについて深堀りするイベントを次の通り開催します!

オフライン参加

久しぶりにオフライン参加できるようになったので今年はオフラインで参加しました。オンラインでの参加では発表関連のコミュニケーションしかできませんでしたが、オフラインでの参加ではちょっとした相談事ができるのがよいところです。

たとえば、Red Data Toolsに参加している@ericgpksに今取り組んでいるstrscanの改良方法について口頭で説明したり、同じくRed Data Toolsに参加している@otegamiactiverecord-duckdb-adapterの実装方針を説明したりできました。

他にもtest-unitやRubyGemsやMySQLのFlight SQLインターフェイスなども相談できました。

自宅から参加できるのでオンラインでの参加の方が楽ですが、オフラインでの参加でしかできない(しにくい)こともあるので、今回はオフラインで参加してよかったです。

まとめ

RubyKaigi 2022でRubyとApache Arrowで高速にデータ処理をする方法を紹介しました。ただ、どうして高速なのかといった詳細は紹介できなかったので9月22日(木)10:00から詳細を聞くイベントを開催します。RubyとApache Arrowが気になる人はぜひ質問をもって参加してください。

私と一緒に「Rubyでデータ処理をできるようにする!」を仕事として取り組みたい人はクリアコードのApache Arrow関連業務の募集要項を読んでください。