如何解决pyarrow ChunkedArray 到磁盘 当前的解决方案我尝试过的:我的问题
我有一个长度不均匀的 numpy 数组列表。从文档中,我猜从箭头文档中,正确的数据结构是 pa.ChunkedArray
。
我希望 (1) 在一个进程中将我的 ChunkedArray
保存到磁盘,然后 (2) 启动许多能够以低内存开销从文件中读取块的新进程(pytorch 数据加载器)。
当前的解决方案
当前不使用箭头的解决方案是展平数组,保留长度/偏移量列表,将展平后的数组存储在 np.memmap
中,然后将每个进程切片到内存映射中正确的索引。
看来有了箭头,我们至少可以删除长度/偏移量列表。
我尝试过的:
将列表中的每个条目填充到固定长度,并将 pa.Table 保存到 pa.NativeFile。每个进程读取它自己的 pa.Table。这比 memmap
慢约 15%,内存效率也低。
我的问题
- 网上有没有做这种操作的例子?我找不到如何将分块数组保存到磁盘,或者在几次谷歌之后找不到 python Flight 示例。
- 认为这将比当前解决方案使用更少的内存是否不合理。
部分答案很有帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。