hi Matthias, You need to use the IPC writer tools to write a Table or RecordBatch to some memory region:
http://arrow.apache.org/docs/cpp/namespacearrow_1_1ipc.html There is a function for computing the size of a record batch, but not a Table yet, but you can look at its implementation to get an idea what to do: http://arrow.apache.org/docs/cpp/namespacearrow_1_1ipc.html#af3e2c42f9315d51ee531d46506790291 It would be useful to have the ability to "stage" a message stream to be written to prevent multiple passes over the data structure (once to size, then again to write). I opened https://issues.apache.org/jira/browse/ARROW-1860 - Wes On Sun, Nov 26, 2017 at 2:43 AM, Matthias Vallentin <matth...@berkeley.edu> wrote: >> Here are some more examples on how to interact between Plasma and Arrow: >> http://arrow.apache.org/docs/python/plasma.html, see also the C++ >> documentation: http://arrow.apache.org/docs/cpp/md_tutorials_plasma.html > > > I'm browsing through the C++ API documentation and have trouble finding > the right API to copy an arrow::Table into a Plasma object buffer. > Concretely: > > (1) How do I get the size of the underlying buffer of an > arrow::Table needed to construct a Plasma object? > > (2) Thereafter, how do I obtain a pointer to the table data so that > I can copy the table into the Plasma object buffer? > > I also tried to look at the RecordBatch API, but couldn't find anything > there either. Both APIs seem only to provide columnar access. > > Matthias