hadoop - AWS Elastic MapReduce 和 AWS Redshift 有什么区别

标签 hadoop amazon-web-services amazon-ec2

我看到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/

相关文章:

java - Hadoop - reducer 未启动

hadoop - Apache Spark : In SparkSql, 是易受 SQL 注入(inject)攻击的 sql

java - 从Java应用程序启动Flume Agent

amazon-ec2 - 如何使用 AWS CloudFormation 创建 Amazon VPC?

java - 无法在 EC2 实例上加载 AWS 凭证

hadoop - hadoop集群中的物理内存是什么?

amazon-web-services - 如何使用 Java SDK 列出与 AWS Lambda 函数关联的触发器

java - 在 Eclipse 中找不到 Speechlet 接口(interface)

node.js - 无法在 AWS Lambda 函数中运行 ec2 方法

node.js - Mongoose 加速多个字段的搜索