我看到AWS Elastic MapReduce和AWS Redshift都采用集群结构,可以用来做数据分析。它们有哪些不同的用例?
Amazon Redshift支持客户端连接多种类型的应用程序,包括商业智能 (BI)、报告、数据和分析工具。
Amazon Elastic MapReduce (Amazon EMR) 是一个托管集群平台,可简化在 AWS 上运行大数据框架(例如 Apache Hadoop 和 Apache Spark)以处理和分析大量数据的过程。
最佳答案
您说得对,Amazon EMR 和 Amazon Redshift 都是可以横向扩展以提供更多计算能力的集群系统。但是,这两种服务之间存在一些非常明显的差异。
Amazon EMR 提供 Apache Hadoop 和在 Hadoop 上运行的应用程序。它是一个非常灵活的系统,可以读取和处理非结构化数据,通常用于处理大数据。但是,学习 Hadoop 和相关技术可能会非常困难。 (“能力越大,责任越大!”)
Amazon Redshift 是一个 PB 级数据仓库,可通过 SQL 访问。数据必须在被查询之前加载到 Redshift 中,这通常需要一些 for of 转换(“ETL”)。
那么选择哪一个呢?
- 如果您想使用 SQL 并且您有结构化数据(例如 CSV 文件),那么 Redshift 是最简单的解决方案。<
- 如果您想处理非结构化数据(例如,以奇怪的格式而不是结构化的 CSV 文件),Amazon EMR 可以提供功能非常强大的 Hadoop 系统。<
- 有时人们同时使用——使用 Hadoop 转换数据,然后使用 Redshift 查询数据。
如果 Amazon Redshift 可以满足您的需求,那么请使用它而不是 Hadoop。 Redshift 使用起来更简单,因为它本身是一个标准的 SQL 数据库,您可以在几分钟内上手。所有集群的东西都在幕后,您不需要知道太多就可以使用它。
如果您需要更灵活的功能并且您不介意获得低级和技术性,那么 Amazon EMR 上的 Hadoop 将为您提供更多功能。
关于hadoop - AWS Elastic MapReduce 和 AWS Redshift 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37627274/