apache / apache/arrow-java

[Java] Consume Substrait Plans

Abierto
#218 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Component: Documentation Type: enhancement
Lenguaje dominante
Java
Estrellas
94
Forks
152
Merge medio
3 d 16 h
PR fusionados (30 d)
11

Descripción

### 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

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza leyendo el punto de entrada JNI propuesto, ExecuteSerializedPlan, y la llamada de conversión de Java Data.importArrayStream(this.allocator, arrowArrayStream). Revisa el issue padre y las subtareas enlazadas para establecer el alcance. Se considera terminado cuando Java pueda ejecutar un plan Substrait serializado mediante JNI y exponer el resultado como un ArrowReader usando la C Data Interface.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cpp, java
Área
api, backend
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.