如何追加到现有的 Apache 箭头数组

How to append to existing apache arrow array

我可以用 builder:

创建一个箭头数组
extern crate arrow;
use arrow::array::Int16Array;

// Create a new builder with a capacity of 100
let mut builder = Int16Array::builder(100);

// Append a slice of primitive values
builder.append_slice(&[2, 3, 4]).unwrap();

// Build the array
let finished_array = builder.finish();

但是一旦我完成了数组的构建(因此称为 .finish),是否可以选择使用 finished_array 的数据创建一个新的 builder 而无需将数据复制到一个新的 builder

我基本上想要的是便宜的 append 操作。

看了更多之后,我发现箭头数组总是不可变的。无法对数组进行追加操作。如果你想要一个零拷贝附加行为,你可以写/使用 chunked array(这在 rust 中尚不可用,但例如在 pyarrow

中支持