apache / apache/arrow-java

[Java] Read a Parquet file into a Table

Open
#95 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
94
Forks
152
Avg merge
3d 16h
Merged PRs (30d)
11

Description

### Describe the usage question you have. Please include as many useful details as possible.

In Java, what is the canonical way of reading the whole content of a Parquet file into a Table?

I can read the file, as suggested, in a streaming fashion with VectorSchemaRoot, but then I miss how to collate all the batches into a single table.

From what I have understood, the options I have are:

1. build a big VectorSchemaRoot using VectorSchemaRootAppender, then invoke the Table constructor passing the vsr
2. construct FieldVectors explicitly, then read the parquet rows one by one (filling the FieldVectors as I go), then invoke the Table constructor passing a List

I see the C++ implementation has a convenient FromRecordBatches method.

### Component(s)

Java

Contributor guide

Open the contributing guide

Research direction

Start by reading the Java usage around VectorSchemaRoot, VectorSchemaRootAppender, and the Table constructors, then compare the C++ FromRecordBatches implementation mentioned in the issue. Done means the project has a decided, documented canonical path for loading a complete Parquet file into one Table, or an equivalent Java API with coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
data
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.