我有一个s3存储桶,其中包含许多小文件,超过10万个文件,总计约700GB。当从数据包中加载对象然后持久存储时,客户端总是会耗尽内存,非常快地消耗演出。
将范围限制为几百个对象将允许作业运行,但是客户端正在使用大量内存。
客户不仅要跟踪期货吗?他们需要多少内存?
答案 0 :(得分:0)
Martin Durant在Gitter上的回答:
客户端需要在远程文件系统上进行全局修改,即 下载所有文件的完整定义,以便能够 使每个坏分区。您可能想要构建文件 进入子目录,并从每个子目录中分离出袋子
原始客户端使用全局*
,**
从S3加载对象。
有了这方面的知识,首先使用boto提取所有对象,然后使用对象列表(不包含glob),可以使客户端使用的内存非常少,并显着提高速度。