Apache Arrow
2025年度Rubyアソシエーション開発助成金:pure Ruby Apache Arrowの実装
Apache Arrowの開発に参加している須藤です。この数年度はRubyアソシエーション開発助成金をメンターとしてお手伝いしていたのですが、今年度は開発する側として参加します。拡張ライブラリーとかを使わずにRubyのみでApache Arrowフォーマットのシリアライザー・デシリアライザーを開発します。
実装者向けのApache Arrowフォーマットの説明
Apache Arrowの開発に参加している須藤です。Apache Arrowフォーマットの説明をするときはどうして速いのかやどうして効率がよいのかに注目して説明していました。今回は、Apache Arrowフォーマットのシリアライザー・デシリアライザーを実装する人向けに説明します。
Active Record ADBC adapter - ADBCで大量データを高速移動!Ruby on RailsアプリからDuckDBも使えるよ!
Ruby用のデータ処理ツールを提供するプロジェクトRed Data Toolsをやっている須藤です。
数年前からRuby on RailsアプリケーションでADBCを使えるとよさそうだなぁと思っていた(証拠1、証拠2)のですが、ついにそれが動くようになったのでactiverecord-adbc-adapterとしてリリースしました。
ADBCとはArrow Database Connectivityの略で、Apache Arrowを使ってDBと高速に大量データをやりとりするための仕組みです。Active RecordでADBCを使えるようになると、Ruby on Railsアプリケーションでの大量データのやりとりが速くなります。また、Active Record経由でDuckDBも使えるようになります。DuckDBもADBCをサポートしているからです。
Apache Arrow Swift 21.0.0
Apache Arrowの開発に参加している須藤です。Apache ArrowのSwift実装のバージョン21.0.0をリリースしたので紹介します。
Apache Arrow JS 21.0.0
Apache Arrowの開発に参加している須藤です。Apache ArrowのJavaScript実装のバージョン21.0.0をリリースしたので紹介します。
Apache ArrowとCMake - FetchContent
Apache Arrowの開発に参加している須藤です。現時点でapache/arrowのコミット数は1位です。私はRubyでデータ処理できるようになるといいなぁと思ってApache Arrowの開発に参加し始めました。同じような人が増えるといいなぁと思うので、最近の活動を紹介して仲間を増やそうと試みます。
今回はApache Arrow C++で使っているビルドツールCMakeのFetchContentという機能を紹介します。
Apache ArrowのCI - Crossbow
Apache Arrowの開発に参加している須藤です。現時点でapache/arrowのコミット数は1位です。私はRubyでデータ処理できるようになるといいなぁと思ってApache Arrowの開発に参加し始めました。同じような人が増えるといいなぁと思うので、最近の活動を紹介して仲間を増やそうと試みます。
今回はapache/arrowリポジトリーで使っているCIツール「Crossbow」を紹介します。
Apache Arrowのリポジトリー分割
Apache Arrowの開発に参加している須藤です。現時点でapache/arrowのコミット数は1位です。私はRubyでデータ処理できるようになるといいなぁと思ってApache Arrowの開発に参加し始めました。同じような人が増えるといいなぁと思うので、最近の活動を紹介して仲間を増やそうと試みます。
今回はapache/arrowリポジトリーでやっているリポジトリーの分割について紹介します。
GroongaでApache Arrowフォーマットを使ってみるよ!
Apache Arrow東京ミートアップ2025に参加予定の阿部です。
GroongaはApache Arrowフォーマットでのデータロードと検索結果の取得に対応しています。 今回は実際にそれを使ってみる企画です。
Apache Arrowフォーマットのデータを作るところからやってみます。 次の流れで進めていきます。
- Apache Arrowフォーマットのデータを作る
- GroongaにApache Arrowフォーマットでデータをロードする
- Groongaで検索してApache Arrowフォーマットでデータを得る