Overview of Parquet2
mainParquet2 is a high-performance, parallel, and safe rewrite of the official parquet crate. It is designed to decouple IO-intensive reading from CPU-intensive computing.
Key Features:
- Safety: Uses
#![forbid(unsafe_code)]. - Performance: Up to 10-20x faster when reading to Arrow format.
- Concurrency: Delegates parallelism downstream, allowing consumers to decide how to distribute CPU-intensive decompression and decoding work.
- Async Support: Supports both
asyncread and write operations. - Compatibility: Integration-tested against
pyarrowand(py)spark 3.
Important Note: This crate is not intended to be used directly for end-to-end Parquet reading (except for metadata). To read data into a usable format, you should use arrow2. Parquet2 provides the toolkit to read compressed pages and decompress them into your preferred in-memory format.