【发布时间】:2019-07-10 21:37:30
【问题描述】:
如何将几TB的数据从GCS复制到S3?
GCS 中有一个不错的“传输”功能,允许将数据从 S3导入到 GCS。但是如何进行 export,另一种方式(除了将数据生成作业移动到 AWS)?
问:为什么不gsutil?
是的,gsutil 支持s3://,但传输受到该机器网络吞吐量的限制。并行如何更容易?
我尝试了 Dataflow(现在又名 Apache Beam),它可以正常工作,因为它很容易在一百个节点上进行并行化,但看不到有简单的“只需将其从这里复制到那里”功能。
更新:此外,Beam 似乎在启动管道之前在单个线程中计算本地计算机上的源文件列表。就我而言,这大约需要 40 分钟。将它分发到云上会很好。
更新 2:到目前为止,我倾向于使用两个自己的脚本:
- 脚本 A:列出所有要传输的对象,并将每个对象的传输任务排入 PubSub 队列。
- 脚本 B:执行这些传输任务。在云(例如 Kubernetes)上运行,许多实例并行
缺点是它编写的代码可能包含错误等,而不是使用像 GCS "Transfer" 这样的内置解决方案。
【问题讨论】:
标签: amazon-s3 google-cloud-storage google-cloud-dataflow