ColumnIndex should provide number of records skipped
- 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ả
When integrating Parquet ColumnIndex, I found we need to know from Parquet that how many records that we skipped due to ColumnIndex filtering. When rowCount is 0, readNextFilteredRowGroup() just advance to next without telling the caller. See code here
In Iceberg, it reads Parquet record with an iterator. The hasNext() has the following code():
valuesRead + skippedValues < totalValues
See (
So without knowing the skipped values, it is hard to determine hasNext() or not.
Currently, we can workaround by using a flag. When readNextFilteredRowGroup() returns null, we consider it is done for the whole file. Then hasNext() just retrun false.
**Reporter**: [Xinli Shang](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=shangxinli) / @shangxinli
**Assignee**: [Xinli Shang](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=shangx@uber.com) / @shangxinli
**Note**: *This issue was originally created as [PARQUET-1927](https://issues.apache.org/jira/browse/PARQUET-1927). 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 parquet-hadoop/src/main/java/org/apache/parquet/hadoop/ParquetFileReader.java tại readNextFilteredRowGroup(), sau đó so sánh logic hasNext() của iterator trong thay đổi Iceberg được liên kết. Theo dõi cách một row group có rowCount 0 tiến lên và xác định số lượng record bị bỏ qua cần được truyền đến caller như thế nào; hoàn tất nghĩa là các caller có thể xác định một cách đáng tin cậy liệu còn record sau khi filtering bằng ColumnIndex hay không.
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
- data-engineering
- 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
- 35/100