Dask客户端从S3加载的内存不足

Dask客户端从S3加载的内存不足,dask,dask-distributed,Dask,Dask Distributed,我有一个s3存储桶,里面有很多小文件,超过100K,总计约700GB。当从数据包中加载对象并将其持久化时,客户端总是会耗尽内存,非常快地消耗GIG 将作用域限制为几百个对象将允许作业运行,但客户端正在使用大量内存 客户不应该只跟踪期货吗?它们占用了多少内存?马丁·杜兰特在Gitter上回答: 客户端需要在远程文件系统上执行glob,即。, 下载所有文件的完整定义,以便能够 创建每个坏分区。您可能需要构造文件 进入子目录,并将每个子目录制作成单独的包 原始客户端使用glob*,***从S3加载对象

我有一个s3存储桶,里面有很多小文件,超过100K,总计约700GB。当从数据包中加载对象并将其持久化时,客户端总是会耗尽内存,非常快地消耗GIG

将作用域限制为几百个对象将允许作业运行,但客户端正在使用大量内存


客户不应该只跟踪期货吗?它们占用了多少内存?

马丁·杜兰特在Gitter上回答:

客户端需要在远程文件系统上执行glob,即。, 下载所有文件的完整定义,以便能够 创建每个坏分区。您可能需要构造文件 进入子目录,并将每个子目录制作成单独的包

原始客户端使用glob
*
***
从S3加载对象

有了这些知识,首先使用boto获取所有对象,然后使用对象列表(不使用globs)获取所有对象,这样客户机的内存使用量非常小,速度显著提高。

如果可以提前生成文件名,效果会更好。