首页 > 解决方案 > Amazon EMR vs EC2 用于卸载 BI 和分析 2018 年

问题描述

我看了一些帖子,但他们在这个话题上有点老了。我也阅读了 AWS 和其他博客,但是...

在今天的环境中,我对 AWS 的简单非编程问题是:

EMR 看起来很棒,但我的印象是数据科学家可以随时随地为所欲为。对于更常规的 ETL,我想知道这是否适合。减少管理的吸引力当然是一个福音。

在 AWS 上的文档中,我找不到明确的答案,因此提出了这个问题。

我的印象是,使用 AMI 和引导自己的服务,EMR 肯定是一种方法,而且 EC2 更适合 KAFKA 集群,或者如果您真的想完全基于 Cloudera 的分发来控制自己的环境和工具瑟。

标签: amazon-ec2amazon-emr

解决方案


因此,这里的答案是针对可能需要评估哪些选项适用于卸载的其他人,无论如何。事后看来,这实际上并不难。请注意,此处未考虑 AZURE 和非 AWS 供应商。简而言之,那么:

EMR是一种 (PaaS) AWS 托管 Hadoop 服务

EMR 提供了亚马逊认为可以完成数据科学、分析等工作的工具。但如果需要,您可以“引导”您自己的需求/软件。

EMR 集群包括短期运行的EC2 实例,并且配置发生在水下。您可以通过这种方式轻松获得补丁。您也可以非常轻松地进行放大和缩小。计算和存储是分离的,这使得这种扩展很容易发生。

弹性显然更适用于计算,只要您需要,数据就需要在那里。EMR 依靠 S3 将结果保存到更长期。保存后,终止 EMR 集群,并在需要时启动一个新的 EMR 集群并将您保存的 S3 结果(如果适用)附加到这个新集群。EMRFS 允许 S3 看起来像 HDFS 的一部分并提供轻松访问。EBS 支持的 storaged 允许在该实例的持续时间内将结果保存到与 EC2 实例相关的存储中。

这是一种新的做事方式。一个人可以访问具有明显现货价格的“现货”实例。计费不太可预测,因为它取决于您的工作,但总体上可能更便宜 - 只要管理得当。expedia 对 EMR 集群的管理就是一个例子。

S3 无法很好地提供临时查询,因此您将需要其他 AWS 托管服务,例如 Presto / Athena 或 Redshift (Spectrum),这是一组额外的服务和成本。由于 S3 性能较慢,仅提及这一点。

EC2(IaaS)更“传统”

如果您想自己预置 EC2 实例来控制软件以及您想要在 Hadoop 环境中获得什么,那么您选择采用这种方式。

EC2 实例 - 虚拟机 - 具有计算能力、内存、EBS 支持的临时存储,并将 EFS 用于 HDFS 或 KUDU 和 S3 的文件系统。S3 访问不像在带有 EMR 的 EMRFS 下那样容易访问。

您自己安装和维护 Hadoop 软件并应用补丁等。在这些 EC2 实例上管理 Hadoop 对 Cloudera 和 Cloudbreak 来说当然没什么大不了的。

根据 EC2 实例的正常运行时间,计费更具可预测性,并且计费持续适用于任何持久存储。

重要的一点是,可以将 EC2 方法结合起来,例如,Hadoop 上的 DWH 加载(如果“卸载”)和用于数据科学的 EMR 集群。

MR 数据局部性

除非使用裸机选项,否则这两种方法都没有遵守,但是弹性 - E - 对双方来说都更难,这可以节省成本。

大多数人似乎都假设数据局部性,但实际上它已经如预期的那样与云计算一起使用,并且在数据科学等方面的性能方面似乎相当不错。

对于临时查询,AMAZON 说他们在 S3 上不太确定,并且根据经验,使用 EFS fof HDFS/PARQUET 或 KUDU 至少可以说,至少从我的经验来看,效果非常快。


推荐阅读