apache / apache/arrow-java

[Java] Consume Substrait Plans

Đang mở
#218 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Component: Documentation Type: enhancement
Ngôn ngữ chính
Java
Star
94
Fork
152
Merge trung bình
3 ngày 16 giờ
Pull request đã merge (30 ngày)
11

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu bằng cách đọc điểm vào JNI được đề xuất, ExecuteSerializedPlan, và lệnh gọi chuyển đổi Java Data.importArrayStream(this.allocator, arrowArrayStream). Xem xét issue cha và các subtasks được liên kết để xác định phạm vi. Công việc được coi là hoàn tất khi Java có thể thực thi một kế hoạch Substrait đã được tuần tự hóa thông qua JNI và cung cấp kết quả dưới dạng ArrowReader bằng C Data Interface.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
cpp, java
Lĩnh vực
api, backend
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.