apache / apache/arrow-cookbook

[Java] Demonstrate reading data out of a container like ByteBuffer or Protobuf

Open
#254 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
108
Forks
49
Avg merge
2h 14m
Merged PRs (30d)
1

Description

While Arrow data inside Protobuf or another container is _likely_ an antipattern, there are still reasonable reasons to have it. For instance, you might be adding Arrow data to an existing protocol, and not be able to add gRPC/Flight on the side.

We should at least demonstrate the 'right' way to do it while showing why Flight would be preferable. It can be reasonably general, e.g. we can demonstrate reading out of a ByteBuffer and a byte[], and then show how to get those from a Protobuf (with the former being preferable to avoid copies). (Or we can demonstrate how to wrap [`List`](https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.ByteString#com_google_protobuf_ByteString_asReadOnlyByteBufferList__). Possibly we should put such a utility in the Arrow library itself.)

Contributor guide

Open the contributing guide

Research direction

Start by reviewing existing Java cookbook examples and the Arrow Java APIs for reading data from a ByteBuffer and byte[]. Compare those approaches with Protobuf ByteString's read-only buffer list. Done means a runnable demonstration covers the proposed containers and explains why Flight is preferable.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.