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());

目前仅支持列主序转换。