apache / apache/arrow

What purpose does ArrowRecordBatch solve?

Open
#14,303 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 18h
Merged PRs (30d)
91

Description

I was going through the [Flight Java Example](https://arrow.apache.org/cookbook/java/flight.html) and was wondering if we can persist `VectorSchemaRoot` directly in the `Dataset` instead of `ArrowRecordBatch` list?

```java
class Dataset implements AutoCloseable {
private final List batches;
private final Schema schema;
private final long rows;
public Dataset(List batches, Schema schema, long rows) {
this.batches = batches;
this.schema = schema;
this.rows = rows;
}
public List getBatches() {
return batches;
}
public Schema getSchema() {
return schema;
}
public long getRows() {
return rows;
}
@Override
public void close() throws Exception {
AutoCloseables.close(batches);
}
}
```

Contributor guide

Open the contributing guide

Research direction

Start with the linked Flight Java Example and the Dataset snippet in the issue. Compare the roles and lifecycle of VectorSchemaRoot and ArrowRecordBatch, then determine whether the example or its documentation should explain the distinction. Done means the intended representation and ownership behavior are clearly documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
18/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.