首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EMRFS是否使外部客户端的S3保持一致?

EMRFS是否使外部客户端的S3保持一致?
EN

Stack Overflow用户
提问于 2017-06-05 19:56:10
回答 2查看 1.6K关注 0票数 1

如果我在HFDS中有一个文件,或者在本地文件系统上,是否可以在启用EMRFS的情况下将该文件复制到S3中,立即关闭集群,并保证该文件在此复制操作完成后立即用于清单和外部阅读器的读取?还是EMRFS仅在其启用的特定EMR集群中保持一致?从HDFS中通过EMRFS将文件复制到S3是什么样子?从本地文件系统?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-30 14:50:35

我在AWS开发人员论坛-- https://forums.aws.amazon.com/thread.jspa?threadID=257220&tstart=25 --上提出了同样的问题,其中包含了许多有价值的细节,它提供的EMRFS比所有EMRFS文档加在一起要好得多,但我将提供坠机摘要的崩溃摘要:

1)一致性视图是一个必须在EMRFS配置中显式启用的特性,否则您只能获得S3一致性保证。

2) EMRFS一致性视图仅在共享相同EMRFS配置的集群中生效--它对正常访问S3的外部客户端没有影响。

3) S3提供的唯一真正的一致性保证是,以前没有写过的新文件对于读取来说是一致的,而不是对于列表。因此,如果客户端特定地按它知道是新创建的路径请求一个文件,它将始终得到它,但它可能在列表操作中获得该文件的路径,或者不可能在列表操作中获得该文件的路径,如果该文件先前存在,则无法保证客户端将在读取操作中获得哪个版本。

票数 1
EN

Stack Overflow用户

发布于 2017-07-07 16:17:00

EMRFS是为EMRFS作业创建的对象启用的一致视图。

1) EMRFS的主要目的是,hadoop作业创建的对象是立即一致的。因此,如果存在依赖关系,则可以将这些文件用于下一个作业。

2)将文件复制到S3以使中间与下一个hadoop作业一致的方式是,将文件复制到hdfs,然后使用以下方法复制到s3命令。

  1. Hdfs -put file.txt /user/hadoop/
  2. hdfs dfs -cp /user/hadoop/file.txt s3://bucket-name

列出s3中的文件是非常昂贵的,如果您希望s3上的数据立即保持一致,就必须在s3上实现索引。下面是使用dynamodb https://aws.amazon.com/blogs/big-data/building-and-maintaining-an-amazon-s3-metadata-index-without-servers/使文件立即一致的链接

当您使用EMRFS时,就会显示出s3的一致性,因为它不会通过EMRFS元数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44376707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档