You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Wes McKinney (JIRA)" <ji...@apache.org> on 2017/03/19 01:08:41 UTC
[jira] [Created] (ARROW-661) [C++] Add a Flatbuffer metadata type
that supports array data over 2^31 - 1 elements
Wes McKinney created ARROW-661:
----------------------------------
Summary: [C++] Add a Flatbuffer metadata type that supports array data over 2^31 - 1 elements
Key: ARROW-661
URL: https://issues.apache.org/jira/browse/ARROW-661
Project: Apache Arrow
Issue Type: New Feature
Components: C++
Reporter: Wes McKinney
Users of Arrow C++ have reported needing to store large arrays using our shared memory IPC machinery. While data over 2^31 - 1 elements is "out of spec" as far as what it means to "implement Arrow", it would be useful to have a "LargeRecordBatch" type that permits storing large arrays. Other Arrow implementations in general will not need to support reading and writing this data -- this is closely related to the tensor discussion in ARROW-550.
{code}
struct LargeFieldNode {
length: long;
null_count: long;
}
table LargeRecordBatch {
length: long;
nodes: [LargeFieldNode];
buffers: [Buffer];
}
{code}
An initial implementation of this will be marked experimental so that we can get the code into the hands of users (like the Ray project https://github.com/ray-project/ray) in case there's some ongoing discussion to be had about handling very large vectors/arrays.
Reading and writing this metadata should be achievable without a huge amount of code duplication, I will see what I can do.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)