google-cloud-platform - 压缩谷歌云存储桶中的目录,然后下载到本地目录
问题描述
我有一个名为bar
google 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),下载文件的整个过程仍然很慢。
有没有办法让我在云存储中压缩整个目录,然后将压缩后的目录下载到本地文件夹?
解决方案
在复制之前无法压缩云中的目录,但您可以通过将处理分布在多台机器上来加快复制速度。例如,有这样的脚本
machine1 可以gsutil -m cp -r gs://<bucket>/a* local_dir
machine2 做gsutil -m cp -r gs://<bucket>/b* local_dir
等等。
根据文件的命名方式,您可能需要调整上述内容,但希望您能理解。
推荐阅读
- ruby-on-rails - 没有路线匹配 [POST] "/chat_rooms/1"
- java - 将字符串转换为整数会返回 nullPointerException
- powershell - Active Directory 用户名约定?
- python-3.x - Pyserial 从 COM 端口读取空 b''
- three.js - 如何计算关于墨卡托投影的地球轨道?
- angular - Angular 2+ 服务何时提供
- c# - Entity Framework 4 是否支持 SQL Server 计算的主键列?插入记录时抛出异常
- swift - 如何从 swift 发送确认电子邮件
- php - 如何在不选择任何类别的情况下在 WooCommerce 中添加产品?
- javascript - 电子在桌面上拖放远程文件