apache / apache/iceberg-cpp

Track Iceberg v3 Feature Support (Roadmap for 0.4.0)

Offen
#637 21 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C++
Sterne
221
Forks
124
Ø Merge
1 T. 16 Std.
Gemergte PRs (30 T.)
21

Beschreibung

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.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Dies ist ein übergeordnetes Tracking-Issue und keine eigenständige Aufgabe; es nennt keine Dateien, Tests oder Einstiegspunkte. Wähle einen nicht abgehakten Punkt aus, z. B. Schema-Standards, Verschlüsselungsmetadaten oder eine Tabellenaktualisierungsoperation, und eröffne anschließend ein eigenes Sub-Issue, das hier verknüpft ist. Als erledigt gilt die Aufgabe, wenn dieser abgegrenzte Punkt abgeschlossen und der entsprechende Checklistenpunkt aktualisiert wurde.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
data-engineering
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Ruhig
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.