代码之家  ›  专栏  ›  技术社区  ›  Ged

亚马逊EMR vs EC2用于卸载BI&Analytics anno 2018

  •  0
  • Ged  · 技术社区  · 7 年前

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

    • 如果我们有一个DWH,比如说20+TB,并且还在增长,我们希望像很多人一样卸载到云上,那么

      • 如果我们每天有规律的DWH喂食,并且有一些突变,那么

        • 对于AWS,我们应该使用EMR还是EC2?

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

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

    我的印象是,有了AMI和自举自己的服务,EMR肯定是一种方式,而且EC2更适合于KAFKA集群,或者如果您真的想完全基于Cloudera的分发本身来控制自己的环境和工具的话。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Ged    7 年前

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

    是(PaaS)AWS管理的Hadoop服务

    EMR提供了一些工具,AMAZON认为这些工具将用于数据科学、分析等领域。但如果需要,您可以“引导”自己的需求/软件。

    电子病历集群包括 短跑 EC2实例和资源调配在水下进行。这样很容易得到补丁。你也可以很容易地调整大小。计算和存储是分离的,因此很容易实现这种扩展。

    弹性显然更适用于计算,只要你需要数据,数据就需要存在。EMR依靠S3将结果保存到更长期的数据库中。保存后,将终止EMR群集,并在需要时启动新的EMR群集,并将保存的S3结果(如果适用)附加到此新群集。EMRFS允许S3看起来像HDFS的一部分,并提供了方便的访问。存在支持EBS的storaged,允许在EC2实例期间将结果保存到绑定到该实例的存储器中。

    S3不能很好地提供即席查询,因此您需要另一个AWS管理的服务,如Presto/Athena或Redshift(Spectrum),这是一组额外的服务和成本。仅提及这一点是因为S3性能较慢。

    (IaaS)更“传统”

    如果您希望自己为EC2实例提供一个syou所需的软件控制权以及在Hadoop环境中所需的内容,那么您可以选择此路径。

    EC2实例(VM)具有计算能力、内存、EBS支持的临时存储,并将EFS用于HDF或(比如)KUDU和S3的文件系统。S3访问不像使用EMR的EMRFS下那么容易访问。

    根据EC2实例的运行时间,计费是更可预测的,并且计费持续应用于任何持久化存储。

    重要的一点是,可以将EC2方法与数据科学的EMR集群结合起来,例如,在Hadoop上加载DWH-if“卸载”。

    对于临时查询,AMAZON表示他们对S3不太确定,根据经验,使用EFS fof HDFS/拼花地板或KUDU非常快,至少可以说,根据我的经验。