apache / apache/parquet-java

BIT_PACKING is written by default when Definition or Repetition levels are empty

Đang mở
#3,307 6 bình luận 0 reaction 0 người được giao Xem trên GitHub
Type: bug
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ả

As discussed in https://github.com/apache/arrow/discussions/47113 , this package is writing the deprecated BIT_PACKING encoding to the column metadata and the DataPageHeader. This is only seems to happens when rep/def levels are empty. I think this is where it's happening:

```java
public class DevNullValuesWriter extends ValuesWriter {
....
public Encoding getEncoding() {
return BIT_PACKED;
}
}
```

Wouldn't it make sense to just return RLE?

I've seen this in parquet-java 1.15.1 and Overture Maps files using 1.13.1.

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 bằng việc tìm DevNullValuesWriter và kiểm tra phần triển khai getEncoding() của nó, sau đó theo dõi cách giá trị đó đến được metadata của cột và DataPageHeader. Xác nhận rằng các repetition level và definition level rỗng không còn tạo ra encoding BIT_PACKED đã lỗi thời mà thay vào đó sử dụng RLE.

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
Lỗi
Độ khó
2/5
Thời gian dự kiến
1-3 giờ
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
48/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.