[Feature] Support Vortex file format
- Lenguaje dominante
- C++
- Estrellas
- 65
- Forks
- 25
- Merge medio
- 2 d 12 h
- PR fusionados (30 d)
- 80
Descripción
### Search before asking
- [x] I searched in the [issues](https://github.com/apache/paimon-cpp/issues) and found nothing similar.
### Motivation
Apache Paimon Java supports Vortex through the paimon-vortex module, a Rust-based columnar file format with extensible compression encodings and lazily loaded summary statistics. Paimon C++ cannot currently access tables using this format.
### Solution
Add Vortex support to the Paimon C++ file-format SPI:
- Register the vortex file-format factory.
- Implement compatible schema, reader, and writer handling.
- Support column projection, predicate pushdown, and precise row selection.
- Validate the same supported and unsupported logical types as Java.
- Add C++ round-trip tests and Java-produced file compatibility tests.
### Anything else?
Vortex is implemented in Rust, so the integration can follow the Mosaic Rust FFI patterns (#238).
Java reference module: https://github.com/apache/paimon/tree/master/paimon-vortex
### Are you willing to submit a PR?
- [x] I'm willing to submit a PR!
Guía de contribución
Línea de trabajo
Comience leyendo el módulo de referencia de Java en paimon-vortex y los patrones de Mosaic Rust FFI en el issue #238. Relacione los requisitos de la SPI de formato de archivo de C++ con el comportamiento solicitado para el esquema, el lector, el escritor, la proyección, el predicado y la selección de filas. Se considerará terminado cuando las pruebas de round-trip de C++ y las pruebas de compatibilidad con archivos producidos por Java cubran los tipos lógicos compatibles y no compatibles.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cpp, java, rust
- Área
- data-engineering, databases
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100