このプロジェクトについて
Apache Arrowは、さまざまなデータ型のインメモリ表現のための標準化された列指向フォーマットを提供し、データシステムが効率的にデータを保存、処理、移動できるようにします。これには、異種環境間での高速なデータ交換と分析のためのテクノロジセットが含まれています。
主なコンポーネントは以下の通りです:
- Arrow Columnar Format:単純またはネストされたデータ型のインメモリ表現のための標準。
- Arrow IPC Format:プロセス間通信のための効率的なシリアライゼーション。
- ADBC (Arrow Database Connectivity):データベースやクエリエンジンにアクセスするためのAPIおよびドライバ。
- Arrow Flight RPC:リモートサービスがArrowデータを交換するためのプロトコル。
- Gandiva:Arrow向けのLLVMベースの式コンパイラ。
本プロジェクトは、C++、Python、Java、JavaScript、Rust、Go、R、Ruby、.NET、Julia、Swiftを含む複数の言語でライブラリを提供しています。
技術的な機能には以下が含まれます:
- フラットまたはネストされた型をサポートする列指向ベクトルおよびテーブル形式のコンテナ。
- ゼロコピーメモリ共有を実現するための、参照カウント方式のオフヒープバッファメモリ管理。
- ローカルおよびリモートファイルシステム用のIOインターフェース。
- ParquetやCSVなどの一般的なファイル形式用のリーダーおよびライター。
- GoogleのFlatBuffersに基づいたメタデータメッセージングレイヤー。