AWS EMR性能HDFS与S3

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS EMR性能HDFS与S3相关的知识,希望对你有一定的参考价值。

在大数据中,代码被推向数据以供执行。这是有道理的,因为数据很大并且执行代码相对较小。来到AWS EMR,数据可以是HDFS,也可以是S3。在S3的情况下,必须将数据拉到核心/任务节点以便从一些其他节点执行。与HDFS中的数据相比,这可能有点开销。

最近,我注意到当MR作业执行时,将日志文件导入S3的时间很长。有时,即使在作业完成后,日志文件也会花费几分钟时间显示。

有什么想法吗?是否有人使用HDFS与S3中的数据来完成MR作业完成的指标?

答案

这在不同的层面上存在问题。

S3只具有最终的一致性。在写入过程被延迟之后,您的代码(例如close()flush())写入内容后,您不会立即看到/可以阅读。我认为这可能是由于为您编写的数据分配了免费资源。所以这不是性能问题,而是你真正想要/需要的一致性问题。

我该怎么做EMR?我启动了一个Hadoop集群,并将所有内容都放入了HDFS所需的工作。在S3上读取时间要贵得多,并且最终的一致性使得在作业之间缓冲项目基本无用。

但是,从HDFS备份文件或将其用于其他实例或服务(例如CloudFront)时,S3非常棒。

另一答案

在性能方面,HDFS优于S3

如果您的需求是长期的,需要高性能并且您想要执行迭代机器学习算法,HDFS会更好

如果您的负载是可变的,需要高耐久性和持久性而成本较低,S3会更好。

欲了解更多信息,请访问此链接http://www.nithinkanil.com/2015/05/hdfs-vs-s3.html

另一答案

如果要终止EMR集群,则必须使用S3,因为一旦终止集群,HDFS数据将被删除。

以上是关于AWS EMR性能HDFS与S3的主要内容,如果未能解决你的问题,请参考以下文章

从 S3 加载 AWS EMR

S3 和 EMR 数据本地化 [关闭]

使用 S3DistCp 将文件从 HDFS 复制到 EMR 集群上的 S3

如何使用 AWS Lambda 在 AWS EMR 上运行 PySpark

如何将文件从 S3 复制到 Amazon EMR HDFS?

json Amazon AWS EMR配置 - http://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hdfs-config.html