9.4.1 Sahara与Amazon EMR的对比
Amazon EMR是一种Web服务,让企业、研究人员、数据分析师和开发人员能够轻松、经济、高效地处理海量数据。它基于Amazon Elastic Compute Cloud(Amazon EC2)技术和Amazon Simple Storage Service(Amazon S3)技术的Web规模基础设施,是一种非开源的Hadoop托管服务运行架构。
Amazon EMR能及时灵活地配置自身所需容量大小,执行数据密集型应用计算,完成诸如Web索引、数据挖掘、日志文件分析、机器学习、财务分析、科学模拟和生物信息研究等任务。使用Amazon EMR技术,可只专注于数据分析,无须担心费时的Hadoop集群设置、管理或调整,也无须担心所依靠的计算能力。
Amazon EMR可有效解决需要快速、高效处理大量数据之类的问题。Web服务接口允许构建处理工作流,并以编程方式监控集群的运行进度。此外,可以使用AWS管理控制台简洁的Web界面启动集群,并监控对Amazon EC2实例集群进行的处理密集型计算。
Amazon EMR的基本工作流程如图9-3所示。
图9-3 Amazon EMR的基本工作流程
从图9-3可以看出,用户在使用EMR时,需要指定输入输出数据的存储位置(输入数据可以在S3或者本地HDFS中,输出数据还可以被导出到AWS的数据库服务中),需要指定Hadoop集群的节点数量及类型、Hadoop版本,以及用于处理数据的应用(如Hive、Pig、HBase)等,以便AWS根据用户需求创建集群。这与Sahara的EDP模式十分相似。因此,EMR和Sahara的核心服务能力相差不大。
两者对比:
1)从用户角度来看,EDP提供了比EMR更低的技术门槛。
EDP用户只需要指定“哪些数据”“哪个大数据集群”“哪个程序包”这三要素,不需要关心集群如何创建、如何管理等与自己核心业务诉求无关的问题。这样,EDP用户可以尽可能地避免接触不必要的Hadoop集群信息,而更多地关注如何使用已有的集群和工具包来处理自己的数据,并分析输出结果。
而EMR用户需要指定的选项更多,意味着需要理解和掌握的概念和细节更多。
2)从云应用的使用与运维分离的角度来看,EDP更具优势。
EDP用户是纯粹的大数据业务应用者。本质上来说,EDP模式充分体现了云应用(这里指大数据应用)的使用与运维分离的先进思想。
而EMR用户除了需要在创建集群时指定大量信息外,还需要负责集群和业务的运行管理。因此,EMR用户身兼业务应用和系统运维两种职责。尽管“自服务”是AWS乃至整个云计算的一个基本思想,但对于大数据集群这样一个自身比较复杂的系统,“自服务”的思维需要有所改变和适应。
3)从大数据整体解决方案来看,EMR更胜一筹。
从解决方案层面看,AWS基于EMR构建的大数据解决方案有着明显的优势。这种优势既体现在一些具体的技术特性方面(如auto-scaling的支持、ganglia业务监控能力的支持等),也体现在与AWS其他服务乃至第三方工具的紧密集成方面,以及丰富实际的应用案例方面。整体而言,基于EMR的大数据解决方案,全面涵盖了数据的存储、计算、分析、共享等各个处理环节。
而在整体解决方案方面,Sahara还有待提高。