Make ParquetFileReader extensible
- 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ả
### Describe the enhancement requested
I wanted to add a cache for `ParquetFileReader.getColumnIndexStore(int blockIndex)` and I've noticed that I can't access the required `blocks` field from a subclass.
To accomplish this I had to fallback to reflection as can be seen here:
https://github.com/linkedfactory/linkedfactory-pod/blob/c67b155e3fbf76082e2b24fd412efae5838badc6/bundles/io.github.linkedfactory.core/src/main/java/io/github/linkedfactory/core/kvin/parquet/KvinParquet.java#L881
I would propose to improve the extensibility of `ParquetFileReader` by changing certain core members (like `blocks`) to protected or by exposing them through protected getters.
### Component(s)
_No response_
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 với ParquetFileReader, đặc biệt là getColumnIndexStore(int blockIndex) và trường blocks, sau đó xem xét việc sử dụng reflection liên quan đến KvinParquet để xác định quyền truy cập cần thiết của subclass. Hoàn tất khi các subclass của ParquetFileReader có thể triển khai cache được yêu cầu mà không dùng reflection, đồng thời các member protected hoặc getter được chọn đã được tài liệu hóa và được bao phủ bởi các test phù hợp.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java
- Lĩnh vực
- backend-api-design
- Loại issue
- Tính năng
- Độ 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
- 42/100