apache / apache/arrow-nanoarrow
Show examples of building Arrow C++ structures
- Dominant language
- C
- Stars
- 249
- Forks
- 68
- Avg merge
- 2d 16h
- Merged PRs (30d)
- 12
Description
For users coming from Arrow C++ / PyArrow, it might not be obvious what nanoarrow structures to create so they can export. Depending on the context, an `ArrowSchema` can represent a data type, a field, or a schema. Similarly, an `ArrowArray` can represent an array or record batch (tabular). To start, we should show the correspondence between Nanoarrow structs and Arrow C++ types.
| Nanoarrow | Arrow C++ |
|----|----|
| `ArrowArray` | `arrow::Array` |
| `ArrowArray` where type is struct | `arrow::RecordBatch` |
| `std::vector` | `arrow::ChunkedArray` |
| `std::vector` where type is struct | `arrow::Table` |
| `ArrowSchema` | `arrow::DataType` |
| `ArrowSchema` | `arrow::Field` |
| `ArrowSchema` | `arrow::Schema` |
Then we may also want recipes for:
* How to build a struct array in nanoarrow, and export as an `arrow::RecordBatch`
* How to build a record batch reader, and export as an `arrow::Table`.
Contributor guide
No contributing guide indexed for this repository
Research direction
No documentation file or test is named in the issue. Start with the requested Nanoarrow-to-Arrow C++ correspondence table, then identify the documentation entry point for examples and determine how struct arrays and record batch readers are currently represented. Done means the mappings and the requested export recipes are documented and reviewable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, cpp, python
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100