apache / apache/parquet-java

Different RLE Encoding Specification

Đang mở
#1,958 4 bình luận 0 reaction 0 người được giao Xem trên GitHub
Component: Parquet Priority: Trivial 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ả

In the parquet-format specification https://github.com/Parquet/parquet-format/blob/master/Encodings.md#run-length-encoding--bit-packing-hybrid-rle--3
is written that the RLE encoding starts with
```
rle-bit-packed-hybrid:
length := length of the in bytes stored as 4 bytes little endian
```

while in the cpp implementation there is this description https://github.com/apache/parquet-cpp/blob/master/src/parquet/util/rle-encoding.h#L42 and the implementation seems to follow that specification
which does not include the initial
https://github.com/apache/parquet-cpp/blob/master/src/parquet/util/rle-encoding.h#L272

So which one is the correct? seems that the parquet-format is the wrong one.
DataPage.definitionLevels uses RLE and none of the example format files seem to have that initial

Also the use of both names `literal` and `bit-encoding` is confusing.

**Reporter**: [Fabrizio Milo](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=fmilo)

**Note**: *This issue was originally created as [PARQUET-575](https://issues.apache.org/jira/browse/PARQUET-575). 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

So sánh mô tả về RLE/bit-packing trong Encodings.md với triển khai được tham chiếu trong parquet-cpp rle-encoding.h, bao gồm cách sử dụng definition-level của DataPage và các tệp định dạng ví dụ. Xác định framing và thuật ngữ nào là có thẩm quyền, sau đó cập nhật đặc tả và làm rõ tên gọi khi sự khác biệt đã được giải quyết.

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
Lĩnh vực
documentation
Loại issue
Tài liệu
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
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
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.