pyarrow ChunkedArray 到磁盘 当前的解决方案我尝试过的:我的问题

问题描述

我有一个长度不均匀的 numpy 数组列表。从文档中,我猜从箭头文档中,正确的数据结构是 pa.ChunkedArray

我希望 (1) 在一个进程中将我的 ChunkedArray 保存到磁盘,然后 (2) 启动许多能够以低内存开销从文件中读取块的新进程(pytorch 数据加载器)。

当前的解决方

当前不使用箭头的解决方案是展平数组,保留长度/偏移量列表,将展平后的数组存储在 np.memmap 中,然后将每个进程切片到内存映射中正确的索引。 看来有了箭头,我们至少可以删除长度/偏移量列表。

我尝试过的:

将列表中的每个条目填充到固定长度,并将 pa.Table 保存到 pa.NativeFile。每个进程读取它自己的 pa.Table。这比 memmap 慢约 15%,内存效率也低。

我的问题

  1. 网上有没有做这种操作的例子?我找不到如何将分块数组保存到磁盘,或者在几次谷歌之后找不到 python Flight 示例。
  2. 认为这将比当前解决方案使用更少的内存是否不合理。

部分答案很有帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...