apache / apache/paimon-cpp

[Feature] Support Vortex file format

Abierto
#319 0 comentarios 1 reacción 0 asignados Ver en GitHub
enhancement
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

Abrir la 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.