AWS Elastic MapReduce和AWS Redshift之间有什么区别

时间:2016-06-04 06:46:36

标签: hadoop amazon-web-services amazon-ec2

我发现AWS Elastic MapReduce和AWS Redshift都使用群集结构,可用于数据分析。他们有什么不同的用例?

Amazon Redshift支持与多种类型应用程序的客户端连接,包括商业智能(BI),报告,数据和分析工具。

Amazon Elastic MapReduce(Amazon EMR)是一个托管集群平台,可简化在AWS上运行大数据框架(如Apache Hadoop和Apache Spark)的过程,以处理和分析大量数据。

1 个答案:

答案 0 :(得分:19)

您是正确的,Amazon EMR和Amazon Redshift都是可以横向扩展以提供更多计算能力的集群系统。但是,这两种服务之间存在一些非常明显的差异。

Amazon EMR 提供Apache Hadoop和在Hadoop上运行的应用程序。它是一个非常灵活的系统,可以读取和处理非结构化数据,通常用于处理大数据。但是,学习Hadoop和相关技术可能非常困难。 (“以强大的力量来承担很大责任!”)

Amazon Redshift 是一个通过SQL访问的PB级数据仓库。在查询之前必须将数据加载到Redshift中,这通常需要一些转换(“ETL”)。

那么选择哪一个?

  • 如果您想使用 SQL 并且您拥有结构化数据(例如CSV文件),那么 Redshift 是最简单的解决方案。
  • 如果您要处理非结构化数据(例如,使用奇怪格式而非结构化CSV文件), Amazon EMR 可以提供非常强大的Hadoop系统。
  • 有时人们同时使用 - 使用Hadoop转换数据,然后使用Redshift查询数据。

如果 Amazon Redshift 可以满足您的需求,那么请使用它而不是Hadoop。 Redshift使用起来更简单,因为它将自身表现为标准的SQL数据库,您可以在几分钟内完成。所有集群的东西都是幕后的,你不需要知道多少就可以使用它。

如果您需要更灵活的功能并且不介意获得低级别和技术性,那么 Amazon EMR 上的Hadoop将为您提供更多功能。