apache / apache/iceberg-python
Pluggable Scan Planning
- Vorherrschende Sprache
- Python
- Sterne
- 1.1k
- Forks
- 581
- Ø Merge
- 1 T. 17 Std.
- Gemergte PRs (30 T.)
- 77
Beschreibung
### Feature Request / Improvement
Umbrella issue. Today we have tightly coupled query planning in Python. This works well but runs into limitations when it comes to concurrency and performance. Having pluggable query planning will allow for:
- **Python based query planning** which is working today and is proven.
- **Iceberg-Rust based query planning** as suggeted in https://github.com/apache/iceberg-python/issues/2159#issuecomment-3033339213.
- **REST Catalog server side planning** this leverages the REST Catalog to plan the query, rather than the client. First issue can be found here: https://github.com/apache/iceberg-python/issues/2302.
As an API, I think it makes sense to follow the Server Side planning. So a `PlanTableScanRequest` as an input, and the [ScanTasks](https://github.com/apache/iceberg/blob/68a241615e104d97a86c932c381d7dfac802d769/open-api/rest-catalog-open-api.py#L1290) as the output.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne damit, diesen übergeordneten Issue zusammen mit Issue 2302 zu lesen, der die erste serverseitige Planungsarbeit für REST Catalog abdeckt. Überprüfe die vorgeschlagene Eingabe PlanTableScanRequest und die Ausgabe ScanTasks und vergleiche sie anschließend mit dem bestehenden Python-Abfrageplanungspfad. Als erledigt gilt die Vereinbarung über eine steckbare Planungs-API, die Python-, Iceberg-Rust- und REST-Catalog-Planung unterstützt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python, rust
- Bereich
- backend-api-design, distributed-systems
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Ruhig
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100