- Bibliothèque pure C de niveau production développée pour offrir une prise en charge directe du format Apache Parquet dans un environnement C
- Écrite sur la base du standard C11, elle fonctionne sans runtime C++ ni gestion des exceptions, avec zstd et zlib comme seules dépendances externes
- Adaptée au traitement de données dans des environnements contraints comme les systèmes embarqués, l’IoT, les microcontrôleurs et les environnements legacy
- Avec une taille binaire d’environ 200 Ko, elle propose un build allégé de plus de 50 Mo par rapport à Apache Arrow
- Prise en charge de diverses architectures grâce aux optimisations SIMD (SSE4.2, AVX2, AVX-512, NEON, SVE) et à la détection automatique à l’exécution
- Prise en charge de tous les types physiques (BOOLEAN, INT32, DOUBLE, etc.) ainsi que de divers encodages et codecs de compression (ZSTD, LZ4, SNAPPY, GZIP)
- Gestion correcte de l’ordre des octets également sur les systèmes Big-Endian (s390x, SPARC, PowerPC, etc.)
- Inclut des fonctionnalités de production comme les colonnes nullable, les schémas imbriqués de base, la validation de pages CRC32, les statistiques de colonnes, l’I/O par memory mapping et la lecture parallèle avec OpenMP
- Grâce à une API de streaming, les fichiers volumineux peuvent être traités sans être entièrement chargés en mémoire
- Compatibilité complète avec PyArrow, avec prise en charge de la lecture et de l’écriture réciproques dans l’environnement Python
- Par rapport à Apache Arrow
- Vitesse d’écriture 1,5 à 5 fois plus rapide sur ARM, avec une vitesse de lecture améliorée jusqu’à 1,3 fois
- Sur x86, la vitesse de lecture est légèrement plus lente, mais la taille des fichiers est environ 1,4 fois plus petite
- La réduction des dépendances, la simplification du build et l’intégration dans des environnements exclusivement C sont ses principaux atouts
- Les types imbriqués complexes, le chiffrement et la décompression ZSTD multithread ne sont pas pris en charge
- Validation croisée effectuée avec PyArrow, DuckDB et fastparquet
- Les fichiers générés par Carquet peuvent également être lus directement dans Spark et DuckDB
- Prise en charge de Linux, macOS, Windows et des systèmes POSIX
- Licence MIT
Aucun commentaire pour le moment.