[Feature] Support Lance file format
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 45/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Bereich
- data-engineering, databases
Rechercherichtung
Beginne damit, die bestehende Mosaic Rust FFI-Integration und die Lifecycle-Muster zu lesen, vergleiche anschließend das Java-Referenzmodul unter paimon-lance und untersuche die bestehenden Schnittstellen für Dateiformate. Als abgeschlossen gilt die Arbeit, wenn eine optionale, standardmäßig deaktivierte CMake-Integration Lese- und Schreibvorgänge für Lance, erforderliche Projektionen und Zeilenauswahl, Zeilenmetadaten, die Validierung logischer Typen, Round-Trip-Tests sowie Java/C++-Kompatibilitäts-Fixtures unterstützt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Search before asking
- I searched in the issues and found nothing similar.
Motivation
Apache Paimon Java supports Lance as a data file format through the paimon-lance module. Paimon C++ currently cannot read or write tables configured with file.format=lance, which prevents Java and C++ engines from interoperating on those tables.
Solution
Add optional Lance file format support to Paimon C++, aligned with the Java implementation and Lance 0.39.0:
- register a Lance file format factory behind a disabled-by-default CMake option;
- support reading and writing Lance files through the existing file format interfaces;
- support column projection, precise row selection, row counts, and file row-id reporting;
- validate the same supported and unsupported logical types as Java;
- add C++ round-trip tests and Java/C++ compatibility fixtures in both directions.
The implementation should follow the existing Mosaic Rust FFI integration and lifecycle patterns.
Anything else?
Java reference module: https://github.com/apache/paimon/tree/master/paimon-lance
Are you willing to submit a PR?
- I am willing to submit a PR!
- Vorherrschende Sprache
- C++
- Sterne
- 65
- Forks
- 29
- Ø Merge
- 2 T. 11 Std.
- Gemergte PRs (30 T.)
- 79
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus apache/paimon-cpp
-
bug
apache/paimon-cpp#385 · 1 zugewiesene Person ·
-
enhancement
apache/paimon-cpp#381 · 1 zugewiesene Person ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 30/100
apache/paimon-cpp#375 · 1 zugewiesene Person ·
-
enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 45/100
apache/paimon-cpp#361 · 1 zugewiesene Person ·
-
enhancement
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
apache/paimon-cpp#325 · 1 zugewiesene Person ·
Alle Issues in apache/paimon-cpp
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
google/libultrahdr#485 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
godotengine/godot#123776 ·
-
bug
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 60/100
-
good first issue
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
-
good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
ros2/common_interfaces#344 ·