make the default behavior for proto writing not-backwards compatible
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 1.6k
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 33
Description
https://issues.apache.org/jira/browse/PARQUET-968 introduced supporting maps and lists in a spec compliant way. however, to not break existing libraries, a flag was introduced and defaulted the write behavior to NOT use the specs compliant writes.
it's been over 5 years, and people should be really off of it. so much so, that trying to use the new parquet-cli tool to read parquet files generated by flink doesn't work b/c it's hard coded to never allow the old style. the deprecated parquet-tools reads these files fine b/c it's the older style.
i started coding up a workaround in flink-parquet and parquet-cli, but stopped. we really should just move on at this point, imho. protobufs often have repeated primitives and maps, so it's more pressing to get proper specs compliant support for it now. we should keep the flag around and let people override it back to being backwards compatible though.
i have the code written and can submit a PR if you'd like.
i'm not an expert in parquet though, so i'm unclear as to the deep downstream ramifications of this change, so i would love to get feedback in this area.
**Reporter**: [J Y](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=jinyius) / @jinyius
**Note**: *This issue was originally created as [PARQUET-2180](https://issues.apache.org/jira/browse/PARQUET-2180). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*
Contributor guide
No contributing guide indexed for this repository
Research direction
Review PARQUET-968 and the migration documentation first, then inspect the existing flag handling in flink-parquet and parquet-cli. Confirm the default becomes spec-compliant while the backwards-compatible override remains available, and test parquet-cli against files generated by Flink and the older style.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- data-engineering
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100