[Feature] Support Mosaic file format
- Dominant language
- C++
- Stars
- 65
- Forks
- 25
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 80
Description
### Search before asking
- [x] I searched in the [issues](https://github.com/apache/paimon-cpp/issues) and found nothing similar.
### Motivation
Apache Paimon Java 2.0 supports Mosaic, a hybrid format designed for wide tables using column bucketing and parallel I/O. Paimon C++ cannot currently access tables using this format.
### Solution
Add Mosaic support to the Paimon C++ file-format SPI:
- Register the mosaic file-format factory.
- Implement compatible schema, reader, writer, and statistics handling.
- Support column projection and Mosaic column-bucket metadata.
- Add C++ round-trip tests and Java-produced file compatibility tests.
### Anything else?
We will also support formats such as Lance and Vortex in the future.
### Are you willing to submit a PR?
- [x] I'm willing to submit a PR!
Contributor guide
Research direction
Start by tracing the Paimon C++ file-format SPI and comparing its current schema, reader, writer, and statistics handling with Apache Paimon Java 2.0's Mosaic behavior. The work is done when Mosaic is registered, projection and column-bucket metadata are supported, and C++ round-trip plus Java-produced compatibility tests pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100