【发布时间】:2015-11-10 07:59:54
【问题描述】:
我有点困惑,希望有人能帮助我。
我们创建了一些我们想要在存储在 S3 上时查询的 ORC 文件。 我们注意到 S3 原生文件系统 S3n 并不能真正适用于这种方式。我不太确定问题出在哪里——但我的猜测是,读者无法跳转到文件中的特定字节,因此他必须先加载整个文件才能查询它。 所以我们尝试将文件存储在 S3 (uri s3://) 上,这是一个块文件系统,就像由 s3 支持的 HDFS 一样,效果很好。
但在阅读了source 关于 Amazon EMR 的内容后,我有点担心
- Amazon S3 块文件系统(URI 路径:s3bfs://)
Amazon S3 块文件系统是一种旧式文件存储系统。我们强烈反对使用这个系统。重要 我们建议您不要使用此文件系统,因为它会触发可能导致集群失败的竞争条件。但是,旧版应用程序可能需要它。
- EMRFS(URI 路径:s3://) EMRFS 是 HDFS 的一种实现,用于将常规文件从 Amazon EMR 直接读取和写入 Amazon S3。
我没有使用 EMR - 我通过启动 EC2 集群来创建我的文件,然后使用 s3 作为冷存储 - 但我现在有点困惑,不确定当我将文件存储在 s3 上时使用的是哪个文件系统URI 方案 s3:// - 我使用 EMRFS 还是使用已弃用的 s3bfs 文件系统?
【问题讨论】:
-
如果您可以在浏览器的存储桶资源管理器中看到您的文件,那么您正在使用 EMRFS(或者您只是将文件作为键值存储保存到 S3)。如果您可以看到诸如
block_-23874982374892之类的文件,那么您正在使用块文件系统。 Amazon S3 不是文件系统,但可以在其上实现不同的文件系统。
标签: amazon-s3