apache / apache/arrow-java

[Java] Consume Substrait Plans

未關閉
#218 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
Component: Documentation Type: enhancement
主要語言
Java
星號
94
分支
152
平均合併
3 天 16 小時
30 天內合併 PR
11

描述

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

貢獻指南

開啟貢獻指南

研究方向

先閱讀提議的 JNI 進入點 ExecuteSerializedPlan,以及 Java 轉換呼叫 Data.importArrayStream(this.allocator, arrowArrayStream)。檢視連結的父 issue 和子任務,以確立範圍。當 Java 能夠透過 JNI 執行序列化的 Substrait 計畫,並使用 C Data Interface 將結果公開為 ArrowReader 時,即表示完成。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
cpp, java
領域
api, backend
Issue 類型
功能
難度
5/5
預估耗時
一週以上
活躍度
停滯
描述清晰度
需要釐清
新手友好度
25/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。