chmp / serde_arrow

Convert sequences of Rust objects to Arrow tables
MIT License
60 stars 17 forks source link

Add generic Array / ArrayView abstraction #198

Closed chmp closed 1 month ago

chmp commented 1 month ago

Introduce a generic Array / ArrayView abstraction that encapsulates the in-memory format in arrow independently from any concrete arrow implementation.

Motivation

Having a small, common abstraction layer makes it simpler to

Design

Implement an Array / ArrayView Enum with variants for all supported data types. The arrays should be "open" for direct modification to allow construction outside of serde_arrow. The information should be included without redudancy (e.g., no separate length field for the validity bitmap and the overall array).

Store any field metadata that cannot be reconstructed from the array separately (name, nullable, metadata).

Steps

chmp commented 1 month ago

Finished with #210