其他数据结构#

我们的 Flatbuffers 协议定义文件中包含了一些其他数据结构的元数据,旨在允许其他类型的应用程序利用通用的进程间通信机制。这些数据结构不被视为列式格式的一部分。

Arrow 列式格式的实现无需实现这些类型。

张量(多维数组)#

Tensor 消息类型提供了一种写入固定大小值多维数组(例如 NumPy 的 ndarray)的方法。

在编写独立的封装张量消息时,我们使用 列式规范 中定义的封装 IPC 格式,但额外将张量主体的起始偏移量对齐为 64 字节的倍数。

<metadata prefix and metadata>
<PADDING>
<tensor body>

稀疏张量#

SparseTensor 表示一个多维数组,其元素通常几乎全部为零。

在编写独立的封装稀疏张量消息时,我们使用 列式规范 中定义的封装 IPC 格式,但额外将稀疏索引和稀疏张量主体(如果写入共享内存区域)的起始偏移量对齐为 64 字节的倍数。

<metadata prefix and metadata>
<PADDING>
<sparse index>
<PADDING>
<sparse tensor body>

稀疏张量索引的内容取决于所使用的稀疏格式类型。