Apache Arrow

From Wikipedia, the free encyclopedia

初版 2016年10月10日 (8年前) (2016-10-10)
最新版
21.0.0[1] ウィキデータを編集 / 17 July 2025
Apache Arrow
開発元 Apache Software Foundation
初版 2016年10月10日 (8年前) (2016-10-10)
最新版
21.0.0[1] ウィキデータを編集 / 17 July 2025
リポジトリ https://github.com/apache/arrow
プログラミング
言語
CC++C#GoJavaJavaScriptMATLABPythonRRubyRust
種別 データフォーマット、アルゴリズム
ライセンス Apache License 2.0
公式サイト arrow.apache.org
テンプレートを表示

Apache Arrowは、列指向データ処理のためのデータ分析アプリケーションを開発するための言語非依存の英語版ソフトウェアフレームワークである。モダンなCPUGPUハードウェア上で、フラットで階層的なデータに対して効率よく分析的な操作が行える、標準化された列指向のメモリフォーマットが含まれている[2][3][4][5][6]。これにより、DRAMの費用・ボラタリティ・物理的な制約などの、大規模なデータの処理を行う実現可能性を制限する要因を減少または排除することが可能になる[7]

ArrowはApache Parquet英語版Apache SparkNumPyPySparkpandas、他のデータ処理ライブラリと合わせて利用できる。

プロジェクトには、C、C++、C#、Go、Java、JavaScript、Julia、MATLAB、Python、R、Ruby、Rust向けのネイティブのソフトウェアライブラリがある。Arrowを利用すると、これらの言語やシステム間で、シリアライズのオーバーヘッドなしにゼロコピーの読み込みと高速なデータアクセスとデータ交換が可能になる[2]

アプリケーション

Arrowは、データ分析[8]、ゲノミクス[9][7]、クラウドコンピューティング[10]など、さまざまなドメインで使用されている[10]

Apache ParquetとORCとの比較

人気のあるディスク上の列指向データフォーマットの例としては、Apache Parquet英語版Apache ORC英語版がある。Arrowは、メモリ内でのデータ処理のために、これらのフォーマットを補完するように設計された[11]。メモリ内処理のためのハードウェアリソースエンジニアリングのトレードオフは、ディスク上のストレージに関連するトレードオフとは異なる[12]。ArrowとParquetプロジェクトには、これら2種類のフォーマット間でデータの読み込みと書き込みを可能にするライブラリが含まれる[13]

ガバナンス

出典

外部リンク

Related Articles

Wikiwand AI