Apache Arrow
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/03/05 05:01 UTC 版)
開発元 | Apache Software Foundation |
---|---|
初版 | 2016年10月10日 |
最新版 |
19.0.1[1] ![]() |
リポジトリ | https://github.com/apache/arrow |
プログラミング 言語 | C、C++、C#、Go、Java、JavaScript、MATLAB、Python、R、Ruby、Rust |
種別 | データフォーマット、アルゴリズム |
ライセンス | Apache License 2.0 |
公式サイト |
arrow |
Apache Arrowは、列指向データ処理のためのデータ分析アプリケーションを開発するための言語非依存のソフトウェアフレームワークである。モダンなCPUやGPUハードウェア上で、フラットで階層的なデータに対して効率よく分析的な操作が行える、標準化された列指向のメモリフォーマットが含まれている[2][3][4][5][6]。これにより、DRAMの費用・ボラタリティ・物理的な制約などの、大規模なデータの処理を行う実現可能性を制限する要因を減少または排除することが可能になる[7]。
相互運用性
ArrowはApache Parquet、Apache Spark、NumPy、PySpark、pandas、他のデータ処理ライブラリと合わせて利用できる。
プロジェクトには、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]。
ガバナンス
Apache Arrowは、2016年2月17日にThe Apache Software Foundationから発表され[14]、他のオープンソースのデータ分析プロジェクトの開発者たちの連合が開発を主導している[15][16][6][17][18]。初期のコードベースとJavaライブラリはApache Drillのコードが元になっている[14]。
出典
- ^ “Release 19.0.1” (16 2月 2025). 20 2月 2025閲覧。
- ^ a b “Apache Arrow and Distributed Compute with Kubernetes” (13 Dec 2018). 2025年3月5日閲覧。
- ^ Baer (17 February 2016). “Apache Arrow: Lining Up The Ducks In A Row... Or Column”. Seeking Alpha. 2025年3月5日閲覧。
- ^ Baer (25 February 2019). “Apache Arrow: The little data accelerator that could”. ZDNet. 2025年3月5日閲覧。
- ^ Hall (23 February 2016). “Apache Arrow's Columnar Layouts of Data Could Accelerate Hadoop, Spark”. The New Stack. 2025年3月5日閲覧。
- ^ a b “Apache Arrow aims to speed access to big data | InfoWorld”. web.archive.org (2016年8月19日). 2025年3月5日閲覧。
- ^ a b Tanveer Ahmad (2019). “ArrowSAM: In-Memory Genomics Data Processing through Apache Arrow Framework”. bioRxiv: 741843. doi:10.1101/741843 .
- ^ Dinsmore T.W. (2016). “In-Memory Analytics: Satisfying the Need for Speed”. Disruptive Analytics. Apress, Berkeley, CA. pp. 97–116. doi:10.1007/978-1-4842-1311-7_5. ISBN 978-1-4842-1312-4
- ^ “Scalable genomics: from raw data to aligned reads on Apache YARN”. IEEE International Conference on Big Data: 1232–1241. (2016) .
- ^ a b “Return of the runtimes: rethinking the language runtime system for the cloud 3.0 era”. Proceedings of the 16th Workshop on Hot Topics in Operating Systems (ACM): 138–143. (2017). doi:10.1145/3102980.3103003.
- ^ Le Dem. “Apache Arrow and Apache Parquet: Why We Needed Different Projects for Columnar Data, On Disk and In-Memory”. KDnuggets. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
- ^ “Apache Arrow vs. Parquet and ORC: Do we really need a third Apache project for columnar data representation?” (2017年10月31日). Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
- ^ PyArrow:Reading and Writing the Apache Parquet Format
- ^ a b “The Apache® Software Foundation Announces Apache Arrow™ as a Top-Level Project”. The Apache Software Foundation Blog (17 February 2016). 2016年3月13日時点のオリジナルよりアーカイブ。 Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
- ^ Martin (17 February 2016). “Apache Foundation rushes out Apache Arrow as top-level project”. The Register. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
- ^ “Big data gets a new open-source project, Apache Arrow: It offers performance improvements of more than 100x on analytical workloads, the foundation says.” (2016年2月17日). 2016年7月27日時点のオリジナルよりアーカイブ。2018年1月31日閲覧。
- ^ Le Dem (28 November 2016). “The first release of Apache Arrow”. SD Times. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
- ^ Julien Le Dem on the Future of Column-Oriented Data Processing with Apache Arrow.
外部リンク
- Apache Arrow プロジェクトのウェブサイト
- Apache Arrow GitHub プロジェクトのソースコード
- Apache Arrowのページへのリンク