À propos du projet
Apache Arrow fournit un format colonnaire standardisé pour la représentation en mémoire de divers types de données, permettant aux systèmes de données de stocker, traiter et déplacer les données efficacement. Il comprend un ensemble de technologies pour l'échange rapide de données et l'analyse dans des environnements hétérogènes.
Les composants clés incluent :
- Arrow Columnar Format : Un standard pour la représentation en mémoire de types de données simples ou imbriqués.
- Arrow IPC Format : Une sérialisation efficace pour la communication entre processus.
- ADBC (Arrow Database Connectivity) : API et pilotes pour accéder aux bases de données et aux moteurs de requête.
- Arrow Flight RPC : Un protocole permettant aux services distants d'échanger des données Arrow.
- Gandiva : Un compilateur d'expressions basé sur LLVM pour Arrow.
Le projet fournit des bibliothèques dans plusieurs langages, notamment C++, Python, Java, JavaScript, Rust, Go, R, Ruby, .NET, Julia et Swift.
Les capacités techniques incluent :
- Des conteneurs de vecteurs colonnaires et de type table prenant en charge les types plats ou imbriqués.
- Une gestion de la mémoire tampon hors tas avec comptage de références pour le partage de mémoire zéro-copie.
- Des interfaces d'E/S pour les systèmes de fichiers locaux et distants.
- Des lecteurs et écrivains pour les formats de fichiers courants tels que Parquet et CSV.
- Une couche de messagerie de métadonnées basée sur FlatBuffers de Google.