Hi,

Does this work?

std::shared_ptr<arrow::Table> from_wire_format(std::shared_ptr<arrow::Buffer> 
buffer) {
  arrow::io::BufferReader input(std::move(buffer));
  auto reader = arrow::ipc::RecordBatchStreamReader::Open(&input).ValueOrDie();
  return reader-.ToTable().ValueOrDie();
}


Thanks,
-- 
kou

In <cajkfh3qu7++yrxev3sxpsdmulqpnjlya8pdtd8epzdcj8mq...@mail.gmail.com>
  "How to reconstruct an arrow::Table from an arrow::Buffer object in C++?" on 
Sun, 18 Aug 2024 20:06:46 -0400,
  Hung Dang <hungp...@gmail.com> wrote:

> Hello,
> 
> I use this code to serialize an arrow::Table to an arrow::Buffer.
> 
> std::shared_ptr<arrow::Buffer> to_wire_format(const arrow::Table &table) {
>   auto buffer = arrow::io::BufferOutputStream::Create().ValueOrDie();
>   auto writer = arrow::ipc::MakeStreamWriter(buffer,
> table.schema()).ValueOrDie();
>   validate_status(writer->WriteTable(table));
>   validate_status(writer->Close());
>   return buffer->Finish().ValueOrDie();
> }
> 
> How do I reconstruct an arrow::Table from an arrow::Buffer?
> 
> Thanks,
> Hung

Reply via email to