用于分布式计算的 Amazon EFS 与 S3

Amazon EFS vs S3 for distributed computing

我有一个大数据问题,我想将其分配给 20 个 EC2 实例。我的数据集是在本地生成的,我想将其切片以分布在我的所有 EC2 实例中。我不太明白块存储、文件存储和对象存储之间的区别,但对我来说,似乎能够在所有 EC2 实例上安装 EFS 比将数据从 S3 复制到单个实例的性能更高。这个假设是否正确,如果是,有没有办法不使用Amazon提供的DataSync系统就可以将数据上传到EFS?

这取决于您的具体 use-cases 和软件,但这里有一些基本准则

  • S3 是对象存储。 S3 上的数据通过 HTTP(s) 提供给您的机器
  • EFS是文件系统存储,使用NFSv4协议

EFS 比 S3 贵得多,只是为了保存并从中读取

这是已经在 Stack 上进行的比较

S3 就像一个网络服务器。您向它上传文件并从中下载文件,但您不能直接在服务器上修改文件。你得先下载,然后修改,再放回去。

EFS,也就是NFSv4,就像一个磁盘。您可以直接编辑文件。它也比 S3 贵得多。要将文件上传到 EFS,您可以像普通磁盘一样将其挂载到 EC2 实例上。

也就是说,听起来您尝试做的事情的正确答案是使用 EMR,例如