apache / apache/parquet-java

Add an option to allow auto conversion from empty fields to NULL

Đang mở
#2,549 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ả

Right now, Parquet Writer throws out an exception:

`Parquet record is malformed: empty fields are illegal, the field should be ommited completely instead`

when an empty field (array or struct or map I guess?) is written.

The suggestion here is to add an option "auto_convert_empty_fields_to_null" that convert empty fields to null automatically on write.

The LOC to change is [here:](https://sourcegraph.com/github.com/apache/parquet-mr/-/blob/parquet-column/src/main/java/org/apache/parquet/io/MessageColumnIO.java#L328)
> `if (emptyField) {`
> ` {{   throw new ParquetEncodingException("empty fields are illegal, the field should be ommited completely instead");`}}
> ``}
 

**Reporter**: [Zheng Shao](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=zshao)

**Note**: *This issue was originally created as [PARQUET-1945](https://issues.apache.org/jira/browse/PARQUET-1945). 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 tại parquet-column/src/main/java/org/apache/parquet/io/MessageColumnIO.java, xung quanh khối `if (emptyField)` ở dòng 328, sau đó lần theo cách các tùy chọn của Parquet Writer đến được mã này. Xác định tùy chọn `auto_convert_empty_fields_to_null` thuộc về đâu và xác minh rằng các array, struct hoặc map rỗng được ghi dưới dạng null thay vì phát sinh ngoại lệ bản ghi không hợp lệ; issue không nêu tên tệp kiểm thử nào.

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
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

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.