apache / apache/arrow-java

[Java] Exception when trying to load next batch while reading a parquet file

未关闭
#80 8 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Java
星标
94
派生
152
平均合并
3 天 16 小时
30 天内合并 PR
11

描述

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

Getting this exception when trying to load next batch while reading a parquet file.
The parsing works if the batch size is big enough to process all the parquet contents in one shot. But if I try to give a smaller batch size , the code breaks giving the below exception

java.lang.IllegalArgumentException: should have as many children as in the schema: found 0 expected 8
at org.apache.arrow.util.Preconditions.checkArgument(Preconditions.java:282)
at org.apache.arrow.vector.VectorLoader.loadBuffers(VectorLoader.java:127)
at org.apache.arrow.vector.VectorLoader.load(VectorLoader.java:84)
at org.apache.arrow.c.Data.importIntoVectorSchemaRoot(Data.java:334)
at org.apache.arrow.dataset.jni.NativeScanner$NativeReader.loadNextBatch(NativeScanner.java:151)

### Component(s)

Java

贡献指南

打开贡献指南

调研方向

首先,在批次大小小于完整内容的情况下加载 parquet 文件,复现该失败。阅读 NativeScanner.java 中的 loadNextBatch,然后跟踪经过 Data.importIntoVectorSchemaRoot 和 VectorLoader.loadBuffers 的调用。完成的标准是后续批次能够在不触发 schema-child-count exception 的情况下加载,但 issue 没有提供测试文件或复现文件。

由索引模型根据 Issue 内容生成。

评估

技术栈
java
领域
data
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。