什么是 Amazon EMR?

17 Mar 2025 | 4 分钟阅读

Amazon Elastic Map Reduce (Amazon EMR) 是一项 Web 服务,可以轻松、快速、经济高效地处理大量数据。

Amazon EMR 使用 Hadoop(一个开源框架)将您的数据和处理分发到可调整大小的 Amazon EC2 实例集群中。

Amazon EMR 用于各种应用,包括日志分析、Web 索引、数据仓库、机器学习、财务分析、科学模拟和生物信息学。 客户每年启动数百万个 Amazon EMR 集群。

Amazon EMR(以前称为 Amazon Elastic Map Reduce)是用于大数据处理和分析的 Amazon Web Services (AWS) 工具。 Amazon 将 EMR 推广为一种可扩展、低配置的服务,它提供了在本地运行集群计算的选项。

Amazon EMR 基于 Apache Hadoop,这是一个基于 Java 的编程框架,支持在分布式计算环境中处理大型数据集。 使用 Map Reduce(Hadoop 软件框架的核心组件),开发人员可以编写程序,这些程序可以在分布式处理器集群或独立计算机中处理大量非结构化数据。

Google 开发了它来索引网页,并在 2004 年取代了其最初的索引算法和推理。

Amazon EMR 在 Amazon Elastic Compute Cloud (EC2) 和 Amazon Simple Storage Service (S3) 上的 Hadoop 集群中处理大数据。

EMR 名字中的 "Elastic" 指的是其动态调整大小功能,管理员可以根据当前的需要增加或减少资源。

Amazon EMR 用于日志分析、Web 索引、数据仓库、机器学习 (ML)、财务分析、科学模拟和生物信息学中的数据分析。

它还支持基于 Apache Spark、Apache Hive、PrestoApache HBase 的工作负载,这些工作负载与 Hive 和 Pig 集成,Hive 和 Pig 是用于 Hadoop 的开源数据仓库工具。 Hive 使用查询和分析数据,Pig 提供了一种高级机制,用于对要在 Hadoop 中执行的 Map Reduce 作业进行编程。

Amazon EMR 用例

企业可以使用 Amazon EMR 的方式有很多,包括

机器学习。 EMR 的内置 ML 工具使用 Hadoop 框架构建各种算法来支持决策,包括决策树、随机森林、支持向量机和逻辑回归。

提取、转换和加载。 ETL 是将数据从一个或多个数据存储移动到另一个数据存储的过程。 数据转换(例如排序、聚合和连接)可以使用 EMR 完成。

点击流分析。 亚马逊 S3 点击流数据可以使用 Apache Spark 和 Apache Hive 进行分析。 Apache Spark 是一种开源数据处理工具,可以帮助使数据更易于管理和分析。 Spark 使用一个框架,该框架使作业能够在大型计算机集群上运行,并可以并行处理数据。 Apache Hive 是一个建立在 Hadoop 之上的数据仓库基础设施,它提供了用于处理 Spark 可以分析的数据的工具。 点击流分析可以帮助组织了解客户行为、改进网站布局、找出人们在搜索引擎中使用的关键字,以及查看哪些词语组合会带来销售额。

实时流。 用户可以使用 Apache Spark Streaming 和 Apache Flink 实时分析流数据源中的事件。 它使能够在 EMR 上构建流数据管道。

交互式分析。 EMR Notebook 是一项托管服务,为数据分析提供了一个安全、可扩展和可靠的环境。

使用 Jupyter Notebook - 开源 Web 应用程序,数据科学家可以使用它来创建和共享实时代码和方程式 - 可以准备和可视化数据以执行交互式分析。

基因组学。 组织可以使用 EMR 处理基因组数据,从而使数据处理和分析可扩展,适用于制药和电信等行业。

Amazon EMR 部署选项

作为一项云服务,Amazon EMR 可以在各种设置中部署,例如

Amazon EMR on Amazon EC2。 使用 Amazon EC2,Amazon EMR 可以快速处理大量数据。 用户可以将 Amazon EMR 配置为利用按需实例、预留实例和竞价实例。

Amazon EMR on Amazon Elastic Kubernetes Service (EKS)。 Amazon EMR Console 允许用户在同一 EKS 集群上与其他应用程序一起运行 Apache Spark 应用程序。 组织可以跨应用程序共享计算和内存资源,并使用 Kubera 监控和管理基础设施。

What is Amazon EMR

Amazon EMR 功能

Amazon EMR 的功能旨在使管理员和开发人员更轻松、更方便地完成以下任务

  • EMR Studio。 这种集成开发环境可帮助开发人员编写代码,并且是构建和测试应用程序的一种高效、简便的方法。 EMR Studio 由源代码编辑器、构建自动化工具和调试器组成。
  • 亚马逊 10 节点 EMR 集群每小时的费用为 0.15 美元,并且组织只需为集群运行的时间付费。 他们可以通过使用竞价实例设置 EMR 集群来进一步控制成本,竞价实例使用户可以竞标额外的 EC2 容量,并且仅为使用的资源付费。
  • EMR 将计算和存储分开,以便进行个人扩展,并受益于 Amazon S3 的分层存储。 实例可以处理任何规模的数据,并自动进行配置、管理和监控。 使用 AWS Auto Scaling,用户可以根据使用情况增加或减少实例的数量。
  • Amazon EMR 监控集群以确保最佳的资源利用率。 它使用 Amazon Cloud Watch 服务来收集和解释指标。 Amazon EMR 可以监控集群的运行状况、使用情况和性能,并帮助识别有问题的节点或作业。 它还提供负载均衡器服务,该服务有助于将流量自动定向到运行状况良好的节点。
  • 保护。 Amazon EMR 包括安全功能,例如自动配置 EC2 防火墙,以便仅允许必要的网络流量进入实例。 集群已在 Amazon Virtual Private Cloud 中启动。 服务器端加密或客户端加密可以帮助管理密钥。 修改 AWS Lake Formation 或 Apache Ranger 数据库的数据访问控制。
  • 灵活性。 Amazon EMR 允许用户自定义集群,并使用脚本安装第三方软件包。 用户还可以在不启动集群的情况下重新配置应用程序。