Apache Arrow
| Développé par | Wes McKinney, Antoine Pitrou (d), Sutou Kouhei (d), Matt Topol (d) et Dremio (d) |
|---|---|
| Dernière version | 25.0.0 ()[1] |
| Dépôt | github.com/apache/arrow |
| Licence | Apache License 2.0 |
| Site web | arrow.apache.org |
Apache Arrow est un framework logiciel indépendant du langage, conçu pour le développement d'applications d'analyse de données traitant des données colonnaires. Il utilise un format de mémoire standardisé, orienté colonnes, capable de représenter des données plates et hiérarchiques pour des opérations analytiques efficaces sur les processeurs et cartes graphiques modernes[2],[3],[4],[5],[6]. Ceci réduit, voire élimine, les facteurs limitant la faisabilité du traitement de grands ensembles de données, tels que le coût, la volatilité ou les contraintes physiques de la mémoire vive dynamique.
Interopérabilité
Arrow est compatible avec Apache Parquet, Apache Iceberg Apache Spark, NumPy, PySpark, pandas et d'autres bibliothèques de traitement de données. Le projet inclut des bibliothèques logicielles natives écrites en C, C++, C#, Go, Java, JavaScript, Julia, MATLAB, Python (PyArrow[7] ), R, Ruby et Rust. Arrow permet des lectures sans copie et un accès et un échange rapides de données, sans surcharge de sérialisation, entre ces langages et systèmes[2].
Applications
Apache Arrow est utilisé dans divers domaines, notamment l'analyse de données[8], la génomique[9], et le cloud computing[10].
Comparaison avec Apache Parquet et ORC
Apache Parquet et Apache ORC sont des exemples courants de formats de données colonnaires sur disque. Apache Arrow vient en complément de ces formats de fichiers en étant destiné pour le traitement des données en mémoire[11]. Les optimisation dédiés aux le traitement en mémoire et le stockage sur disque diffèrent[12]. Les projets Arrow et Parquet incluent des bibliothèques permettant la lecture et l'écriture de données entre les deux formats[13].
Gouvernance
Apache Arrow a été annoncé par la Fondation Apache Software le 17 février 2016 [14] son développement étant mené par une coalition de développeurs issus d'autres projets d'analyse de données open source[15],[16],[6],[17],[18] Le code source initial et la bibliothèque Java ont été construits à partir du code d'Apache Drill[14].
Références
- ↑ « Release 25.0.0 », (consulté le )
- 1 2 « Apache Arrow and Distributed Compute with Kubernetes »,
- ↑ Baer, « Apache Arrow: Lining Up The Ducks In A Row... Or Column », Seeking Alpha,
- ↑ Baer, « Apache Arrow: The little data accelerator that could », ZDNet,
- ↑ Hall, « Apache Arrow's Columnar Layouts of Data Could Accelerate Hadoop, Spark », The New Stack,
- 1 2 Yegulalp, « Apache Arrow aims to speed access to big data », InfoWorld,
- ↑ « Python — Apache Arrow v20.0.0 »
- ↑ Dinsmore T.W., Disruptive Analytics, Apress, Berkeley, CA, , 97–116 p. (ISBN 978-1-4842-1312-4, DOI 10.1007/978-1-4842-1311-7_5), « In-Memory Analytics: Satisfying the Need for Speed »
- ↑ « Scalable genomics: from raw data to aligned reads on Apache YARN », IEEE International Conference on Big Data, , p. 1232–1241 (lire en ligne)
- ↑ Proceedings of the 16th Workshop on Hot Topics in Operating Systems, , 138–143 p. (ISBN 978-1-4503-5068-6, DOI 10.1145/3102980.3103003), « Return of the Runtimes: Rethinking the Language Runtime System for the Cloud 3.0 Era »
- ↑ Le Dem, « 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? »,
- ↑ « PyArrow:Reading and Writing the Apache Parquet Format »
- 1 2 « The Apache® Software Foundation Announces Apache Arrow™ as a Top-Level Project » [archive du ], The Apache Software Foundation Blog,
- ↑ Martin, « 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. » [archive du ], (consulté le )
- ↑ Le Dem, « The first release of Apache Arrow », SD Times,
- ↑ « Julien Le Dem on the Future of Column-Oriented Data Processing with Apache Arrow. »
Liens externes
- Site officiel
- Code source du projet Apache Arrow sur GitHub
Voir aussi
- Datalake
- DuckDB
- Ducklake
- Apache Avro
- Apache ORC
- Apache Spark
- Apache Iceberg
- Presto (moteur de recherche SQL)
- Trino (moteur de requête SQL)
- Portail des logiciels libres
- Portail des données