谷歌云存储与HDFS



在HDFS中,您可以创建一个具有多个分区的文件。这让我开始思考谷歌云存储的几个问题

  1. 我可以在谷歌云存储中将我的文件分布在多个节点上吗
  2. 我可以创建一个有N个空分区的文件,并在每个分区中填充N个节点吗

当我们的数据在系统中流动到最后时,这使我们能够将客户给我们的任何大小的文件映射到单个输出文件(即使输出文件分布在节点集群上(。

嗯,大声想想,我不知道如何在Hadoop中做到这一点,除非通过map/reduce。hadoop HDFS到有办法吗

  1. 创建一个包含N个空分区的文件
  2. 让我的N个节点写入这些分区

谢谢,院长

我认为您在问题中隐含地假设了关于GCS的事情,比如它或多或少像HDFS一样实现,或者它支持部分写入,就像文件系统一样。事实并非如此,GCS是一个blob(或对象(存储系统,而不是文件系统。我会尽力回答你的直接问题,但这篇序言有望有所帮助:

我可以在谷歌云存储中将我的文件分布在多个节点上吗?

您无法控制GCS如何在节点之间分配对象(或对象的一部分(。话虽如此,GCS自动将大物体分割成多个"网格";节点";,出于性能和冗余的原因。

我可以创建一个有N个空分区的文件,并在每个分区中填充N个节点吗?

对象在GCS中是不可变的。一旦创建了它们,就不能更改它们(可以创建新版本(。简言之,不,你不能完全按照你的要求做,但你可以做有类似效果的事情,例如:

  1. 可以有N个进程,每个进程创建自己的对象,然后
  2. 将这些对象组合成一个更大的对象,这是一个纯粹的服务器端操作,因此非常高效

请注意,compose一次限制为32个对象,但您可以通过多次compose操作递归地构建越来越大的对象。

最新更新