|Developer(s)||Apache Software Foundation|
|Initial release||October 10, 2016|
9.0.0 / 3 August 2022
|Type||Data format, algorithms|
|License||Apache License 2.0|
Apache Arrow is a language-agnostic software framework for developing data analytics applications that process columnar data. It contains a standardized column-oriented memory format that is able to represent flat and hierarchical data for efficient analytic operations on modern CPU and GPU hardware. This reduces or eliminates factors that limit the feasibility of working with large sets of data, such as the cost, volatility, or physical constraints of dynamic random-access memory.
Arrow has been used in diverse domains, including analytics, genomics, and cloud computing.
Comparison to Apache Parquet and ORC
Apache Parquet and Apache ORC are popular examples of on-disk columnar data formats. Arrow is designed as a complement to these formats for processing data in-memory. The hardware resource engineering trade-offs for in-memory processing vary from those associated with on-disk storage. The Arrow and Parquet projects include libraries that allow for reading and writing data between the two formats.
Apache Arrow was announced by The Apache Software Foundation on February 17, 2016, with development led by a coalition of developers from other open source data analytics projects. The initial codebase and Java library was seeded by code from Apache Drill.
- ^ "Apache Arrow 9.0.0 Release". 16 August 2022. Retrieved 26 September 2022.
- ^ a b "Apache Arrow and Distributed Compute with Kubernetes". 13 Dec 2018.
- ^ Baer, Tony (17 February 2016). "Apache Arrow: Lining Up The Ducks In A Row... Or Column". Seeking Alpha.
- ^ Baer, Tony (25 February 2019). "Apache Arrow: The little data accelerator that could". ZDNet.
- ^ Hall, Susan (23 February 2016). "Apache Arrow's Columnar Layouts of Data Could Accelerate Hadoop, Spark". The New Stack.
- ^ a b Yegulalp, Serdar (27 February 2016). "Apache Arrow aims to speed access to big data". InfoWorld.
- ^ 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". In-Memory Analytics. In: Disruptive Analytics. Apress, Berkeley, CA. pp. 97–116. doi:10.1007/978-1-4842-1311-7_5. ISBN 978-1-4842-1312-4.
- ^ Versaci F, Pireddu L, Zanetti G (2016). "Scalable genomics: from raw data to aligned reads on Apache YARN" (PDF). IEEE International Conference on Big Data: 1232–1241.
- ^ Maas M, Asanović K, Kubiatowicz J (2017). "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. doi:10.1145/3102980.3103003.
- ^ Le Dem, Julien. "Apache Arrow and Apache Parquet: Why We Needed Different Projects for Columnar Data, On Disk and In-Memory". KDnuggets.
- ^ "Apache Arrow vs. Parquet and ORC: Do we really need a third Apache project for columnar data representation?". 2017-10-31.
- ^ "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. Archived from the original on 2016-03-13.
- ^ Martin, Alexander J. (17 February 2016). "Apache Foundation rushes out Apache Arrow as top-level project". The Register.
- ^ "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-02-17.
- ^ Le Dem, Julien (28 November 2016). "The first release of Apache Arrow". SD Times.
- ^ "Julien Le Dem on the Future of Column-Oriented Data Processing with Apache Arrow".
- Apache Arrow project web site
- Apache Arrow GitHub project source code