Coerce parquet int96 timestamps to microsecond precision
- Dominant language
- Rust
- Stars
- 3.6k
- Forks
- 1.3k
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 167
Description
**Is your feature request related to a problem or challenge? Please describe what you are trying to do.**
Spark annoyingly by default writes the deprecated int96 timestamps even though it's microsecond precision in the source.
Arrow-rs coerces this as nanosecond precision during reads. Pyarrow does this as well, however in their parquet reader you can enable a flag that coerces the int96 timestamps from nanosecond to microsecond.
**Describe the solution you'd like**
Add an option to the parquet reader to handle this coercion to microsecond precision for int96 timestamps
**Describe alternatives you've considered**
**Additional context**
This would help in delta-rs with reading spark created parquet tables, and prevent schema mismatches
Contributor guide
Research direction
Start at the parquet reader entry point that handles INT96 timestamps and compare the requested behavior with PyArrow's coercion option. Done means the reader exposes an option that coerces INT96 values to microsecond precision, supporting Spark-created tables without schema mismatches in delta-rs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- data-engineering
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100