2017-07-24 64 views
1

我需要每天从谷歌存储输出大块数据到s3(几百GB)。因为,gsutil rsync似乎是唯一的方法,我想稍微调整一下。加快谷歌云存储转移到s3

从gs到s3的同步速度太慢,因为文档本身说“由于交叉提供程序gsutil数据传输流过gsutil正在运行的计算机......”。 因此,它会下载并上传触发rsync命令的机器中的数据。 如果任何人有类似的工作,让我知道。

'rsync -m'也没有帮助。

更好的机器会改善结果吗? 我们可以使用多台机器并行运行rsync来加速吗?

谢谢!

+0

你说“导出大块”,但你也谈到了使用rsync ......这似乎是两个非文件系统之间同步的非常低效的方式。转移工作的真正本质是什么,为什么你每天都要转移大块*? (假设您知道GC和AWS网络都不允许您免费导出数据...) –

+0

您所说的绝对正确。只是在GS中有一个实体E1,我们必须绘制数据(有许多这样的源实体,而不仅仅是GS)。 处理方实体P1 ... Pn是坐在EC2上的EMR - 所有AWS都是这样,所以公共点已经是处理方的s3中的数据。 编写一个spark工作可能会有所帮助,但它本质上必须执行跨云移动数据的类似工作 – taransaini43

回答

2

如果您从计算引擎(而不是从您的场所中的计算机)运行gsutil rsync命令,那么将避免将谷歌的额外网络带宽用于您的场所,然后从您的场所使用到亚马逊。

+0

或者在EC2上运行它。 –

+0

嘿,迈克,计算引擎是有道理的,但现在我们拥有EC2上的所有其他基础,所以不能这样。 @ Michael-sqlbot,我们正在EC2上运行它。 它改进了使用更大的ec2实例 - 更多的核心,RAM和I/0。我一直在寻找比缩放机器硬件更好的方法。 – taransaini43

+0

此外,我有两个查询: 1.是否增加'gsutil rsync'正在运行的磁盘大小,提高速度? 2.我们可以同时在一组机器上运行gsutil rsync来创建某种并行性吗? – taransaini43