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

目前仅支持列优先转换。