其他数据结构#
我们的 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>
稀疏张量索引的内容取决于使用的稀疏格式类型。