apache / apache/arrow-java

[Java] Consume Substrait Plans

Aberta
#218 0 comentários 0 reações 0 responsáveis Ver no GitHub
Component: Documentation Type: enhancement
Linguagem predominante
Java
Estrelas
94
Forks
152
Merge médio
3d 16h
PRs com merge (30d)
11

Descrição

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

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece lendo o ponto de entrada JNI proposto, ExecuteSerializedPlan, e a chamada de conversão Java Data.importArrayStream(this.allocator, arrowArrayStream). Revise a issue pai e as subtarefas vinculadas para estabelecer o escopo. O trabalho estará concluído quando o Java puder executar um plano Substrait serializado por meio de JNI e expor o resultado como um ArrowReader usando a C Data Interface.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
cpp, java
Domínio
api, backend
Tipo de issue
Funcionalidade
Dificuldade
5/5
Tempo estimado
Mais de uma semana
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
25/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.