如何追加到现有的 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
中支持
我可以用 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