首页 > 解决方案 > 压缩谷歌云存储桶中的目录,然后下载到本地目录

问题描述

我有一个名为bargoogle cloud storage bucket的目录foo。directory 中有大约 100 万个小文件(每个大约 1-2 kb)bar

根据这个参考,如果我有大量文件,我应该使用gsutil -m选项来下载文件,如下所示:

gsutil -m cp -r gs://foo/bar/ /home/username/local_dir

但是考虑到总文件的数量(大约 10^6),下载文件的整个过程仍然很慢。

有没有办法让我在云存储中压缩整个目录,然后将压缩后的目录下载到本地文件夹?

标签: google-cloud-platformgoogle-cloud-storagegsutil

解决方案


在复制之前无法压缩云中的目录,但您可以通过将处理分布在多台机器上来加快复制速度。例如,有这样的脚本

machine1 可以gsutil -m cp -r gs://<bucket>/a* local_dir

machine2 做gsutil -m cp -r gs://<bucket>/b* local_dir 等等。

根据文件的命名方式,您可能需要调整上述内容,但希望您能理解。


推荐阅读