apache / apache/iceberg-python

Support multi-argument transforms

Offen
#3,628 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Python
Sterne
1.1k
Forks
581
Ø Merge
1 T. 17 Std.
Gemergte PRs (30 T.)
77

Beschreibung

### Feature Request / Improvement

Part of #1818.

The V3 spec generalizes partition and sort fields to multiple source columns via `source-ids`. PyIceberg currently raises when `source-ids` has more than one element, so loading such tables fails — but the spec requires v3 readers to read tables with unknown transforms, ignoring them (null partition values, always-true projection in scan planning).

Scope: model `source-ids`, serialize per spec (`source-id` for single-argument transforms, `source-ids` otherwise), and treat multi-argument transforms as unknown in scan planning. Evaluating multi-argument transforms on write is out of scope until the spec defines concrete ones.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne damit, das partition-field-Modell und seine Serialisierung nachzuverfolgen, und untersuche anschließend die Behandlung von unknown transforms beim scan-planning. Vergleiche das aktuelle Verhalten von source-id mit einem einzelnen Argument mit der V3-Spezifikation. Erledigt ist die Aufgabe, wenn source-ids mit mehreren Argumenten korrekt geladen und serialisiert werden, beim scan-planning als unbekannt behandelt werden und die write-time evaluation weiterhin außerhalb des Umfangs bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
data-engineering
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
58/100

Neue Issues direkt in Ihr Postfach

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