apache / apache/iceberg-cpp

Track Iceberg v3 Feature Support (Roadmap for 0.4.0)

オープン
#637 コメント 21 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
C++
スター
221
フォーク
124
平均マージ
1日 16時間
マージ済み PR(30日)
21

説明

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.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

これは自己完結したタスクではなく、親となる追跡用 issue であり、ファイル、テスト、エントリーポイントは指定されていません。スキーマのデフォルト値、暗号化メタデータ、テーブル更新操作など、チェックされていない項目を 1 つ選び、その後、この issue にリンクした専用のサブ issue を開いてください。完了とは、その対象範囲の項目を完了し、対応するチェックリスト項目を更新することを意味します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp
領域
data-engineering
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
静か
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。