←back to thread

36 points tanelpoder | 4 comments | | HN request time: 0.262s | source
1. mgaunard ◴[] No.45147930[source]
The official arrow implementation is already in C++11, not sure what the value proposition of this is.
replies(2): >>45148047 #>>45148301 #
2. jcelerier ◴[] No.45148047[source]
from a quick glance, https://man-group.github.io/sparrow/basic_usage.html looks infinitely more like a library I want to use than https://arrow.apache.org/cookbook/cpp/basic.html
3. rfoo ◴[] No.45148301[source]
<rant>The official Arrow C++ implementation is just ergonomic warts, full of `const std::shared_ptr<T>&` bs. Trying to use it to manipulate data always give me headache telling apart WTH is an Array, ArrayData, Buffer, and the typed Array interfaces are barely usable. The original official Rust port inherited all the mis-designs too. On the Rust side someone created arrow2 [0] to fix it.</rant>

And I'm glad there's a good C++ impl too.

[0] https://github.com/jorgecarleitao/arrow2

replies(1): >>45153184 #
4. mgaunard ◴[] No.45153184[source]
that's because a given Arrow column is actually several arrays of arrays.

Array, ArrayData and Buffer map to different layers of the abstraction.