[Java] Consume Substrait Plans
- Lingua principale
- Java
- Stelle
- 94
- Fork
- 152
- Merge medio
- 3g 16h
- PR unite (30g)
- 11
Descrizione
### Describe the enhancement requested
The main purpose is to expose Java API to be able to Consume Substrait Plans as an input data.
**High level proposal will be:**
1. Create Java JNI Wrappers to call C++ Substrait API:
- Call `Result> ExecuteSerializedPlan` from JNI Wrappers
- Expose the result in a C-Data Interface objects contract
2. Create Java API to read C-Data Interface:
- Call Java JNI Wrapper to execute serialized Substrait Plan
- Convert C-Data Interface `ArrowArrayStream` into `ArrowReader`: `Data.importArrayStream(this.allocator, arrowArrayStream)`
Parent issue, see subtasks
- https://github.com/apache/arrow/issues/34223
- https://github.com/apache/arrow/issues/34224
- https://github.com/apache/arrow-java/issues/216
- https://github.com/apache/arrow/issues/34226
### Component(s)
Documentation, Java, Packaging
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia leggendo il punto di ingresso JNI proposto, ExecuteSerializedPlan, e la chiamata di conversione Java Data.importArrayStream(this.allocator, arrowArrayStream). Esamina l’issue padre e le sottoattività collegate per definire l’ambito. Il lavoro è completato quando Java può eseguire un piano Substrait serializzato tramite JNI ed esporre il risultato come ArrowReader usando la C Data Interface.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp, java
- Ambito
- api, backend
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100