apache / apache/paimon-cpp

[Feature] Support Vortex file format

Aberta
#319 0 comentários 1 reação 0 responsáveis Ver no GitHub
enhancement
Linguagem predominante
C++
Estrelas
65
Forks
25
Merge médio
2d 9h
PRs com merge (30d)
82

Descrição

### 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!

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece lendo o módulo de referência Java em paimon-vortex e os padrões de Mosaic Rust FFI na issue #238. Mapeie os requisitos da SPI de formato de arquivo do C++ para o comportamento solicitado de schema, reader, writer, projeção, predicado e seleção de linhas. Está concluído quando os testes de round-trip em C++ e os testes de compatibilidade com arquivos produzidos por Java cobrirem os tipos lógicos suportados e não suportados.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
cpp, java, rust
Domínio
data-engineering, databases
Tipo de issue
Funcionalidade
Dificuldade
5/5
Tempo estimado
Mais de uma semana
Status de atividade
Ativa
Clareza
Razoavelmente clara
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.