apache / apache/arrow-cookbook
[Java] Demonstrate reading data out of a container like ByteBuffer or Protobuf
- 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
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