apache / apache/arrow-java

[Java] Consume Substrait Plans

Aperta
#218 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Component: Documentation Type: enhancement
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.