apache / apache/parquet-java

AvroReadSupport.setRequestedProjection in 1.11.1+ not backwards compatible with MAPS

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

 

using AvroReadSupport.setRequestedProjection in 1.11.1 reading a 1.10.0 generated parquet file sets MAP fields to null (and vice versa 1.10.0 reader against a 1.11.1 generated file) 

- Not using a projected schema works, the map fields are converted correctly.
In my case. Parquet file is generated by hive 
```java

CREATE TABLE parquetmaptest (
a string,
b MAP
)
STORED AS PARQUET
tblproperties(
"parquet.compression"="SNAPPY"
);
insert into parquetmaptest select "a",map("k1","v1","k2","v2");
```

Using parquet-avro 1.11.1 (and appropriate dependencies) result in field "b" being null. 
```java

data:null
row:{"a": "a", "b": null}
```
Using parquet-avro 1.11.0 (and appropriate dependencies) result in field "b" being  the right map value.  
```java

data:{k1=v1, k2=v2}
row:{"a": "a", "b": {"k1": "v1", "k2": "v2"}}
```
 

**Reporter**: [Bil Bingham](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=bilbingham)
#### Original Issue Attachments:
- [PQMapTest.java](https://issues.apache.org/jira/secure/attachment/13024749/PQMapTest.java)

**Note**: *This issue was originally created as [PARQUET-2039](https://issues.apache.org/jira/browse/PARQUET-2039). 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 với PQMapTest.java được đính kèm và đường dẫn AvroReadSupport.setRequestedProjection, so sánh parquet-avro 1.11.1 với 1.10.0 trên tệp MAP do Hive tạo ra. Trước tiên, hãy tái hiện lỗi đọc có chiếu; hoàn tất khi các trường map được chiếu vẫn được điền dữ liệu trong trường hợp tệp và reader sử dụng một trong hai phiên bản.

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