RecordBatch 对象转换为具有两个维度的 Tensor#

Arrow 提供了一种方法,可以将 RecordBatch 对象转换为具有两个维度的 Tensor

std::shared_ptr<RecordBatch> batch;

ASSERT_OK_AND_ASSIGN(auto tensor, batch->ToTensor());
ASSERT_OK(tensor->Validate());

转换支持带符号和无符号整数类型以及浮点类型。如果 RecordBatch 包含空值,则在 null_to_nan 参数设置为 true 的情况下,转换将成功。在这种情况下,所有类型将被提升为浮点数据类型。

std::shared_ptr<RecordBatch> batch;

ASSERT_OK_AND_ASSIGN(auto tensor, batch->ToTensor(/*null_to_nan=*/true));
ASSERT_OK(tensor->Validate());

目前仅支持列优先转换。