apache / apache/iceberg-cpp

Track Iceberg v3 Feature Support (Roadmap for 0.4.0)

Đang mở
#637 21 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
C++
Star
221
Fork
124
Merge trung bình
1 ngày 16 giờ
Pull request đã merge (30 ngày)
21

Mô tả

We already have **partial support for Iceberg v3** in the codebase (e.g., Row Lineage and partition statistics). However, a number of key v3 features are still missing.

This issue serves as a **parent tracking issue** for the remaining v3 work we plan to (partially) include in the **0.3.0 release**.

If you are interested in working on any of the items below, please **open a dedicated sub-issue** and link it back to this one.

## V3 related

### 1. Schema-Level Support for New v3 Types

Add support for all newly introduced v3 types at the schema level, including:

- [x] `timestamp_ns`, `timestamptz_ns` @zhjwpku
- [x] `unknown` @manuzhang
- [ ] `variant` @zhjwpku
- [x] `geometry`, `geography` @wgtmac

### 2. Column Default Values (Schema Evolution)

Enable schema evolution with default values:

- [x] Support `initial-default` and `write-default` @huan233usc
- [ ] Apply defaults correctly during read and write paths

### ~~3. Multi-Argument Transforms (Not planned, as they are not supported by the Java implementation)~~

### 4. Binary Deletion Vectors

Add support for deletion vectors (DV):

- [x] Puffin-based DV parsing @zhaoxuan1994

### 5. Table-Level Encryption Metadata (Not planned for 0.4.0) @shangxinli

Support encryption-related metadata defined in v3:

- [ ] Parse and preserve encryption metadata

### 6. Puffin-Based Statistics (Not planned for 0.4.0)

Support table and partition statistics stored in Puffin files:

- [ ] Metadata parsing
- [ ] Optional integration into scan planning

## Table update and maintenance: #364

- [x] OverwriteFiles @lishuxu
- [x] RowDelta @manuzhang
- [x] MergeAppend @zhjwpku
- [x] DeleteFiles @manuzhang
- [x] RewriteFiles @WZhuo
- [ ] ReplacePartitions @shangxinli
- [ ] RewriteManifests @zhjwpku
- [ ] CherryPickOperation @shangxinli

## Miscellaneous

- [ ] Metadata table inspection @All-less @WZhuo
- [x] LRU cache @HuaHuaY
- [ ] Logging interface and spdlog integration @kamcheungting-db

If anything is missing or you have suggestions, feel free to comment or open additional sub-issues.

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

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Đây là một issue theo dõi cấp cha thay vì một tác vụ độc lập, và issue này không nêu tệp, bài kiểm thử hay điểm vào nào. Hãy chọn một mục chưa được đánh dấu, chẳng hạn như các giá trị mặc định của schema, siêu dữ liệu mã hóa hoặc một thao tác cập nhật bảng, sau đó mở một sub-issue riêng được liên kết tại đây. Được xem là hoàn tất khi hoàn thành mục có phạm vi giới hạn đó và cập nhật mục tương ứng trong checklist.

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
Lĩnh vực
data-engineering
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
Ít trao đổi
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/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.