将数据从 S3 迁移到 Google 云存储
Posted
技术标签:
【中文标题】将数据从 S3 迁移到 Google 云存储【英文标题】:Migrating data from S3 to Google cloud storage 【发布时间】:2013-06-02 21:21:48 【问题描述】:我需要将大量文件(大约数十 TB)从 Amazon S3 移动到 Google Cloud Storage。 S3 中的文件都在 500mb 以下。
到目前为止,我已经尝试使用带有并行选项 (-m) 的 gsutil cp 来直接使用 S3 作为源和 GS 作为目标。即使调整多处理和多线程参数,我也无法达到超过 30mb/s 的性能。
我现在正在考虑的事情:
使用 distcp 将数据从 S3 批量加载到 hdfs 中,然后找到一种方法将所有数据 distcp-ing 到 google 存储中(据我所知不支持),或者:
设置 hadoop 集群,其中每个节点运行 gsutil cp 并行作业,S3 和 GS 作为 src 和 dst
如果支持第一个选项,我将非常感谢有关如何执行此操作的详细信息。但是,似乎我必须找出如何做第二个。我不确定如何追求这条道路,因为我需要跟踪许多节点上的 gsutil 可恢复传输功能,而且我通常缺乏运行此类 hadoop 作业的经验。
任何有关如何寻求这些途径之一(或我没有想到的更简单的方法)的帮助将不胜感激。
【问题讨论】:
您是否看过我们上个月在 I/O 上名为 Importing Large Data Sets into Google Cloud Storage 的技术演讲? 这次谈话真的很有帮助!感谢您的及时回复。 【参考方案1】:您可以设置一个Google Compute Engine (GCE) 帐户并从 GCE 运行 gsutil 以导入数据。您可以启动多个 GCE 实例,每个实例导入数据的一个子集。这是我们在 2013 年 Google I/O 上的演讲中提到的技术之一,名为 Importing Large Data Sets into Google Cloud Storage。
如果您使用这种方法,您还想做的另一件事是使用gsutil cp -L
和-n
选项。 -L
创建一个清单,记录有关已传输内容的详细信息,-n
允许您避免重新复制已复制的文件(以防您从头重新开始复制,例如,在中断之后)。我建议您更新到 gsutil 版本 3.30(将在下周左右发布),它改进了 -L
选项在这种复制场景中的工作方式。
Mike Schwartz,Google 云存储团队
【讨论】:
【参考方案2】:Google 最近发布了 Cloud Storage Transfer Service,旨在将大量数据从 S3 传输到 GCS: https://cloud.google.com/storage/transfer/getting-started
(我意识到这个答案对于原始问题来说有点晚了,但它可能会帮助未来的访问者解决同样的问题。)
【讨论】:
以上是关于将数据从 S3 迁移到 Google 云存储的主要内容,如果未能解决你的问题,请参考以下文章
如何使用rclone从AWS S3迁移到IBM COS - part 2 - 同步腾讯云对象存储
使用 spark 将 parquet 数据从 Google 云存储加载到 BigQuery