apache / apache/parquet-java

Drop Hadoop 2 input stream reflection from parquet-hadoop

Đang mở
#2,688 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Component: Java Component: Parquet Priority: Minor Type: enhancement
Ngôn ngữ chính
Java
Star
3.1k
Fork
1.6k
Merge trung bình
3 ngày 12 giờ
Pull request đã merge (30 ngày)
33

Mô tả

Parquet uses reflection to load a hadoop2 input stream, falling back to a hadoop-1 compatible client if not found.

All hadoop 2.0.2+ releases work with H2SeekableInputStream, so the binding to H2SeekableInputStream reworked to avoid needing reflection. This would make it a lot easier to probe for/use the bytebuffer input, and line the code up for more recent hadoop releases.

H1SeekableInputStream is still needed to handle streams without ByteBufferReadable.

At some poiint support for ByteBufferPositionedReadable is needed, because that is really what parquet wants. that's where reflection will be needed

**Reporter**: [Steve Loughran](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=stevel@apache.org) / @steveloughran
#### Related issues:
- [Incorrect type checking in HadoopStreams.wrap](https://github.com/apache/parquet-java/issues/2673) (is related to)

**Note**: *This issue was originally created as [PARQUET-2151](https://issues.apache.org/jira/browse/PARQUET-2151). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*

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

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Bắt đầu trong mã tải stream của parquet-hadoop và kiểm tra H2SeekableInputStream cùng H1SeekableInputStream, sử dụng issue liên quan đến HadoopStreams.wrap làm ngữ cảnh. Xác nhận cách các stream Hadoop 2.0.2+ hiện được tải; hoàn thành có nghĩa là binding H2 không còn cần reflection, trong khi H1 vẫn khả dụng cho các stream không có ByteBufferReadable.

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

Đánh giá

Công nghệ
hadoop, java
Lĩnh vực
data-engineering
Loại issue
Tái cấu trúc
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
30/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.