apache / apache/parquet-java

Cannot read parquet file that was generated from nanoparquet

Đang mở
#3,043 1 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ả

### Describe the bug, including details regarding any error messages, version, and platform.

When trying to use `MessageColumnIO` to get a record reader, the following error occurs:
```
Exception in thread "main" java.lang.UnsupportedOperationException
at org.apache.parquet.column.values.ValuesReader.readInteger(ValuesReader.java:178)
at org.apache.parquet.column.impl.ColumnReaderBase$ValuesReaderIntIterator.nextInt(ColumnReaderBase.java:830)
at org.apache.parquet.column.impl.ColumnReaderBase.checkRead(ColumnReaderBase.java:663)
at org.apache.parquet.column.impl.ColumnReaderBase.consume(ColumnReaderBase.java:801)
at org.apache.parquet.column.impl.ColumnReaderImpl.consume(ColumnReaderImpl.java:30)
at org.apache.parquet.column.impl.ColumnReaderImpl.(ColumnReaderImpl.java:43)
at org.apache.parquet.column.impl.ColumnReadStoreImpl.getColumnReader(ColumnReadStoreImpl.java:80)
at org.apache.parquet.io.RecordReaderImplementation.(RecordReaderImplementation.java:282)
at org.apache.parquet.io.MessageColumnIO$1.visit(MessageColumnIO.java:141)
at org.apache.parquet.io.MessageColumnIO$1.visit(MessageColumnIO.java:105)
at org.apache.parquet.filter2.compat.FilterCompat$NoOpFilter.accept(FilterCompat.java:180)
at org.apache.parquet.io.MessageColumnIO.getRecordReader(MessageColumnIO.java:105)
```

I expected that this would work. Pyarrow for example can read the file.

Sample file can be found here:

[mtcars_np.zip](https://github.com/user-attachments/files/17649331/mtcars_np.zip)

Nanoparquet can be found here:

https://github.com/r-lib/nanoparquet

Version: 1.14.3
Platform: Linux

### Component(s)

Core

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 stack trace tại org.apache.parquet.column.values.ValuesReader.readInteger và đường dẫn đọc số nguyên của ColumnReaderBase, sử dụng tệp mtcars_np.zip được liên kết làm trường hợp tái hiện. Kiểm tra metadata mã hóa của tệp và so sánh với những gì parquet-java 1.14.3 mong đợi; công việc được xem là hoàn tất khi MessageColumnIO có thể đọc tệp do nanoparquet tạo ra mà không gặp UnsupportedOperationException.

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.