- Biblioteca con una implementación pura en C de nivel de producción desarrollada para soportar directamente el formato Apache Parquet en entornos C
- Escrita con base en el estándar C11, funciona sin runtime de C++ ni manejo de excepciones y usa solo zstd y zlib como dependencias externas
- Adecuada para procesamiento de datos en entornos con restricciones como sistemas embebidos, IoT, microcontroladores y entornos legacy
- Con un tamaño binario de aproximadamente 200 KB, ofrece una compilación ligera de más de 50 MB menos que Apache Arrow
- Soporta varias arquitecturas mediante optimizaciones SIMD (SSE4.2, AVX2, AVX-512, NEON, SVE) y detección automática en tiempo de ejecución
- Compatible con todos los tipos físicos (BOOLEAN, INT32, DOUBLE, etc.) y con diversas codificaciones y códecs de compresión (ZSTD, LZ4, SNAPPY, GZIP)
- También soporta el manejo correcto del orden de bytes en sistemas Big-Endian (s390x, SPARC, PowerPC, etc.)
- Incluye funciones de producción como columnas anulables, esquema anidado básico, validación CRC32 de páginas, estadísticas de columnas, I/O con mapeo de memoria y lectura paralela con OpenMP
- Su API de streaming permite procesar archivos grandes sin cargarlos completos en memoria
- Totalmente compatible con PyArrow, con soporte de lectura y escritura interoperable en entornos Python
- En comparación con Apache Arrow
- En entornos ARM, la velocidad de escritura es entre 1.5 y 5 veces más rápida, y la velocidad de lectura mejora hasta 1.3 veces
- En entornos x86, la velocidad de lectura es algo más lenta, pero el tamaño de archivo es aproximadamente 1.4 veces menor
- Sus principales fortalezas son la minimización de dependencias, simplificación de la compilación e integración en entornos solo C
- No soporta tipos anidados complejos, cifrado ni descompresión ZSTD multihilo
- Se completaron pruebas de interoperabilidad con PyArrow, DuckDB y fastparquet
- Los archivos generados por Carquet pueden leerse directamente también en Spark y DuckDB
- Soporta Linux, macOS, Windows y sistemas POSIX
- Licencia MIT
Aún no hay comentarios.