apache / apache/paimon-cpp

[Feature] Support Vortex file format

Đang mở
#319 0 bình luận 1 reaction 0 người được giao Xem trên GitHub
enhancement
Ngôn ngữ chính
C++
Star
65
Fork
25
Merge trung bình
2 ngày 12 giờ
Pull request đã merge (30 ngày)
80

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu bằng cách đọc module tham chiếu Java tại paimon-vortex và các mẫu Mosaic Rust FFI trong issue #238. Ánh xạ các yêu cầu SPI về định dạng tệp của C++ với hành vi được yêu cầu cho schema, reader, writer, phép chiếu, predicate và lựa chọn hàng. Công việc được xem là hoàn tất khi các bài kiểm thử round-trip C++ và các bài kiểm thử tương thích với tệp do Java tạo ra bao phủ các kiểu logic được hỗ trợ và không được hỗ trợ.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
cpp, java, rust
Lĩnh vực
data-engineering, databases
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.