Expand description
§parquet-lite
A lightweight, pure-Rust alternative to the official Apache Parquet crate.
Designed for projects where the full parquet crate is overkill.
parquet-lite provides read-path essentials in a fraction of the size,
with zero unsafe code and full WASM compatibility.
§Key Differences from Official Crate
| Feature | parquet (official) | parquet-lite |
|---|---|---|
| Binary size | Large | Small |
| Dependencies | ~80 | ~15 |
| Thrift dependency | Yes | No (hand-rolled) |
| Read support | Full | Flat schemas |
| Write support | Yes | Not yet |
| Arrow integration | Yes | Yes |
| WASM compatible | Partial | Full |
§Quick Start
use parquet_lite::*;
use std::fs;
let data = fs::read("data.parquet").unwrap();
// Read metadata
let metadata = read_metadata(&data).unwrap();
println!("Rows: {}, Columns: {}", metadata.num_rows, metadata.num_columns);
// Read as Arrow batches
let batches = read_to_arrow_batches(&data, 1024).unwrap();
for batch in batches {
let batch = batch.unwrap();
println!("Batch: {} rows", batch.num_rows());
}§Feature Flags
| Feature | Default | Description |
|---|---|---|
snappy | ✅ | Snappy compression/decompression |
serde | ❌ | Serde serialization for metadata |
wasm | ❌ | WASM bindings via wasm-bindgen |
full | ❌ | All features enabled |
Re-exports§
pub use types::Compression;pub use types::Encoding;pub use types::ParquetError;pub use types::ParquetMetadata;pub use types::ParquetType;pub use types::Result;pub use types::ColumnMetadata;pub use types::RowGroupMetadata;pub use schema::ColumnSchema;pub use schema::LogicalType;pub use schema::SchemaBuilder;pub use schema::TimestampUnit;pub use reader::ColumnData;pub use reader::ParquetReader;pub use arrow_convert::ArrowConverter;pub use batch_iter_advanced::SelectiveBatchIterator;pub use streaming_reader::StreamingParquetReader;pub use statistics::ColumnStatistics;pub use statistics::StatisticsCollector;
Modules§
Functions§
- print_
stats - Print a formatted statistics summary to stdout.
- read_
columns_ to_ arrow_ batches - Create a batch iterator reading only the specified columns.
- read_
metadata - Parse metadata from raw Parquet file bytes.
- read_
to_ arrow_ batches - Create a batch iterator over Arrow RecordBatches.