简单易用

Amazon EMR 对构建与运营大数据环境和应用程序进行简化。相关 EMR 功能包括轻松调配、托管式扩缩与重新配置集群,以及适用于协作开发的 EMR Studio。

在数分钟内预置集群:您可以在几分钟内启动 EMR 集群。您无需担心基础设施调配、集群设置、配置或优化。EMR 将处理这些任务,使您可以让您的团队专注于开发差异化大数据应用程序。

轻松扩缩资源以满足业务需求:您可以使用 EMR 托管式扩缩策略轻松设置横向扩展与横向缩减,并让您的 EMR 集群能够自动管理计算资源,以满足您的使用和性能需求。这可以优化集群利用率并节约成本。

EMR Studio 是一个集成开发环境 (IDE),它使数据科学家和数据工程师可以更轻松地开发、可视化并调试以 R、Python、Scala 和 PySpark 编写的数据工程和数据科学应用程序。

一键式高可用性:您只需要单击一下,即可为多主应用程序(如 YARN、HDFS、Apache Spark、Apache HBase 和 Apache Hive)配置高可用性。如果您启用 EMR 中的多主应用程序支持,EMR 将配置这些应用程序以实现高可用性;当发生故障时,它将自动故障转移到备用主应用程序以使您的集群不会被中断,而且它还会将您的主节点置于不同机架,从而降低同时发生故障的风险。主机将受到监控以检测是否发生故障,当检测到问题时,将预置新的主机并自动将其添加到集群。

EMR 托管式扩缩:自动调整您的集群的大小,从而以尽量低的成本实现最佳性能。使用 EMR 托管式扩缩,您可以为您的集群指定最小和最大计算限制,而 Amazon EMR 将自动调整它们的大小,以实现最佳性能和最高资源利用率。EMR 托管式扩缩会持续对与在集群上运行的工作负载相关的关键指标进行采样。

轻松地重新配置正在运行的集群:您现在可以修改在 EMR 集群上运行的应用程序的配置,包括 Apache Hadoop、Apache Spark、Apache Hive 和 Hue 等,而无需对集群进行重启。EMR Application Reconfiguration 允许您快速修改应用程序,而不用关闭或重新创建集群。Amazon EMR 将应用您的新配置,并正常重启重新配置的应用程序。您可以通过控制台、SDK 或 CLI 应用配置。

弹性

Amazon EMR 让您可以视需要快速而轻松地预置任意大小的容量,并自动或手动添加与移除容量。如果您有可变或不可预测的处理要求,这一点就变得非常实用。例如,若需要在夜晚进行批量处理,您可能在白天时需要 100 个实例,而在夜晚时需要 500 个。或者,您可能在短时间内需要大量容量。借助于 Amazon EMR,您可以快速预置数百或数千个实例,自动进行扩展以匹配计算需求,并且在任务完成时关闭您的集群(以避免为空闲容量付费)。

Amazon EMR 让您可以视需要快速而轻松地预置容量。

添加或移除容量时有两种主要选项可供您选择:

部署多个集群:若需要更大容量,您可以轻松启动新的集群,并在不需要时将其终止。对于您可以拥有多少集群并没有限制。如果有多个用户或应用程序,您可能想要使用多个集群。例如,您可以在 Amazon S3 中存储您的输入数据,并为每个需要处理数据的应用程序启动一个集群。第一个集群可针对 CPU 进行优化,第二个则针对存储进行优化,以此类推。

调整正在运行的集群的大小:借助于 Amazon EMR,使用 EMR 托管式扩缩自动扩展以手动方式重新调整正在运行的集群的大小变得更加简单。您可能想要横向扩展某集群,临时提高该集群的处理能力,或者在有空闲容量时横向缩减集群以节约成本。例如,部分客户会在需要进行批量处理时添加数百个实例到他们的集群,并在处理完成时移除多余的实例。当添加实例到您的集群时,EMR 现在可以在预置的容量变得可用时立即开始加以利用。如果要横向缩减,EMR 将主动选择空闲的节点,以降低对正在运行的任务所造成的影响。

成本低廉

Amazon EMR 旨在降低处理大量数据的成本。部分可降低成本的功能包括低每秒定价、Amazon EC2 Spot 集成、Amazon EC2 预留实例集成、弹性,和 Amazon S3 集成。

低每秒定价:Amazon EMR 每秒定价以一分钟为最小单位,针对小型实例的每实例小时起步价格为 ¥0.187。见定价部分以了解更多详细信息。

Amazon EC2 Spot 集成:Amazon EC2 Spot 实例价格会基于实例的供需情况波动,但您支付的费用绝不会超过您所指定的最高价格。Amazon EMR 使 Spot 实例变得简单易用,从而节省您的时间和金钱。Amazon EMR 集群包括运行 HDFS 的“核心节点”和不运行 HDFS 的“任务节点”;任务节点非常适用于 Spot,因为如果 Spot 价格提高,而您丢失这些实例,您不会因此丢失存储于 HDFS 的数据。(详细了解核心和任务节点)。通过组合实例队列、适用于 Spot 实例的分配策略、EMR 托管式扩缩和更多多样化选项,您现在可以基于弹性和成本考虑对 EMR 进行优化。

Amazon S3 集成:EMR File System (EMRFS) 允许 EMR 集群高效、安全地使用 Amazon S3 作为 Hadoop 的对象存储。您可以在 Amazon S3 中存储您的数据,并使用多个 Amazon EMR 集群来处理相同的数据集。每个集群都可以针对特定工作负载进行优化,这样做比由单个集群处理具有不同要求的多个工作负载更加高效。例如,您可能有一个经过输入/输出优化的集群,以及另一个经过 CPU 优化的集群,每个都在 Amazon S3 当中处理相同的数据集。此外,通过在 Amazon S3 当中存储您的输入和输出数据,您可以在不需要它们时关闭这些集群。

EMRFS 在从 Amazon S3 读取和写入 Amazon S3 方面具有非常出色的性能,它支持使用 Amazon Key Management Service (KMS) 和客户托管式密钥的 S3 服务器端或 S3 客户端加密,并且提供可选的一致视图,该视图会检查其元数据中所跟踪对象的列表和写后读一致性。另外,Amazon EMR 集群可以同时使用 EMRFS 和 HDFS,因此您无需在集群上存储和 Amazon S3 之间进行选择。

Amazon Glue 数据目录集成:您可以使用 Amazon Glue 数据目录作为托管式元数据存储库,以存储 Apache Spark 和 Apache Hive 的外部表元数据。除此以外,它还提供自动架构发现和架构版本历史记录。这让您可以轻松地为您的集群以外的 Amazon S3 上的外部表保留元数据。

灵活的数据存储

借助于 Amazon EMR,您可以利用多个数据存储,包括 Amazon S3、Hadoop 分布式文件系统 (HDFS) 和 Amazon DynamoDB。

通过 Amazon EMR 利用多个数据存储

Amazon S3Amazon S3 是一种高度持久性、可扩展、安全、快速而且经济实惠的存储服务。使用 EMR 文件系统 (EMRFS),Amazon EMR 可以高效、安全地使用 Amazon S3 作为 Hadoop 的对象存储。Amazon EMR 对 Hadoop 进行了许多改进,使您能够无缝处理存储在 Amazon S3 中的大量数据。此外,EMRFS 还可以启用一致视图以检查 Amazon S3 中对象的列表和写后读一致性。EMRFS 支持 S3 服务器端或 S3 客户端加密以处理加密的 Amazon S3 对象,您可以使用 Amazon Key Management Service (KMS) 或自定义密钥供应商。

当您启动集群时,Amazon EMR 会将数据从 Amazon S3 流式传输到集群中的每个实例,然后立即开始处理。将您的数据存储在 Amazon S3 中并使用 Amazon EMR 加以处理的好处之一是,您可以使用多个集群来处理相同的数据。例如,您可能有一个针对内存进行过优化的 Hive 开发集群和一个针对 CPU 进行过优化的 Pig 生产集群,两者都使用相同的输入数据集。

Hadoop 分布式文件系统 (HDFS):HDFS 是 Hadoop 文件系统。Amazon EMR 的当前拓扑将其实例分为 3 个逻辑实例组:主实例组,运行 YARN 资源管理器和 HDFS 名称节点服务;核心组,运行 HDFS DataNode 守护进程和 YARN 节点管理器服务;以及运行 YARN 节点管理器服务的任务组。Amazon EMR 会在与核心组中的实例关联的存储上安装 HDFS。

每个 EC2 实例都附带被称作“实例存储”的固定数量存储,并且和实例连接在一起。您还可以通过向实例添加 Amazon EBS 卷来自定义实例上的存储。Amazon EMR 允许您添加通用型 (SSD)、预置型 (SSD) 和磁卷类型。向 EMR 集群添加 EBS 卷在集群被关闭后不会保留数据。一旦您终止集群,EMR 将对卷进行自动清理。

您还可以启用对采用 Amazon EMR 安全配置的 HDFS 进行完整加密,或使用 Hadoop 密钥管理服务器手动创建 HDFS 加密区域。在指定 Amazon KMS 作为您的密钥提供程序时,您可以使用安全配置选项来加密 EBS 根设备和存储卷。有关更多信息,请参阅本地磁盘加密

Amazon DynamoDBAmazon DynamoDB 是一种快速、完全托管式 NoSQL 数据库服务。Amazon EMR 与 Amazon DynamoDB 直接集成,因此您可以快速而高效地处理存储在 Amazon DynamoDB 中的数据,并在 Amazon DynamoDB、Amazon S3 和 Amazon EMR 中的 HDFS 之间传输数据。

其他亚马逊云科技数据存储:您还可以使用 Amazon Relational Database Service(一种对云中的关系数据库设置、运营和扩展进行简化的 Web 服务)、Amazon Glacier(一种为数据存档和备份提供安全而持久存储的极低成本存储服务)和 Amazon Redshift(一种快速、完全托管式 PB 级数据仓库服务)。

 

使用您最喜欢的开源应用程序

借助于 Amazon EMR 上的版本控制发布,您可以轻松选择和使用 EMR 集群上的最新开源项目,包括 Apache Spark 和 Hadoop 生态系统中的应用程序。软件由 Amazon EMR 安装和配置,因此您可以花更多时间来增加数据的价值,而无需担心基础设施和管理任务。

大数据工具

Amazon EMR 支持功能强大而且经过验证的 Hadoop 工具,如 Apache Spark、Apache Hive、Presto 和 Apache HBase。数据科学家使用 EMR 运行深度学习和机器学习工具(如 TensorFlow、Apache MXNet),并通过引导操作添加特定于用例的工具和库。数据工程师将 EMR 用于数据管道开发和数据处理,并且利用 Apache Hudi 来简化递增数据管理和需要记录层级插入、更新和删除操作的数据隐私使用案例

Hadoop 应用程序

数据处理和机器学习

Apache Spark 是 Hadoop 生态系统中用于快速处理大型数据集的引擎。它使用内存中具有容错能力的弹性分布式数据集 (RDD) 和有向无环图 (DAG) 来定义数据转换。Spark 还包括 Spark SQL、Spark Streaming、MLlib 和 GraphX。

Apache Flink 是使在高吞吐量数据源上运行实时流处理变得更简单的流数据流引擎。它支持乱序事件的事件时间语义、“正好一次”语义、背压控制和针对编写流式传输及批量应用程序进行过优化的 API。详细了解 EMR 上的 Flink

TensorFlow 是一种适用于机器智能和深度学习应用程序的开源符号数学库。TensorFlow 将多种机器学习和深度学习模型及算法捆绑在一起,可以针对许多不同的用例训练和运行深度神经网络。详细了解 EMR 上的 TensorFlow

记录层级 Amazon S3 数据管理

Apache Hudi 是一个开源数据管理框架,用于简化递增数据处理和数据管道开发。使用 Apache Hudi,您可以在 Amazon S3 中的记录层级管理数据,以简化变更数据捕获 (CDC) 和流式数据摄入,并提供一个框架来处理需要执行记录层级更新和删除的数据隐私使用案例。

SQL

Apache Hive 是在 Hadoop 之上运行的开源数据仓库和分析软件包。Hive 由 Hive QL 操作,后者是一种基于 SQL 的语言,允许用户构建、汇总和查询数据。Hive QL 超越了标准 SQL,增加了对 map/reduce 函数和复杂的可扩展用户定义数据类型(如 JSON 和 Thrift)的出色支持。此功能可用于处理复杂而且非结构化的数据源,例如文本文档和日志文件。Hive 允许通过用 Java 编写的用户定义函数进行用户扩展。Amazon EMR 对 Hive 进行了许多改进,包括直接与 Amazon DynamoDB 和 Amazon S3 集成。例如,使用 Amazon EMR,您可以从 Amazon S3 自动加载表分区,您可以在 Amazon S3 中将数据写入到表而无需使用临时文件,而且您还可以访问 Amazon S3 当中的资源,如自定义 map/reduce 操作和其他库的脚本。

Presto 是针对低延迟、临时数据分析进行过优化的开源分布式 SQL 查询引擎。它支持 ANSI SQL 标准,包括复杂的查询、聚合、联接和窗口函数等。Presto 可以处理来自多个数据源的数据,包括 Hadoop 分布式文件系统 (HDFS) 和 Amazon S3。

与存储于 Apache HBase 的数据相比,Apache Phoenix 使用 ACID 事务功能实现低延迟 SQL。您可以轻松创建二级索引以提高性能,并在相同的基础 HBase 表上创建不同的视图。更详细了解 EMR 上的 Phoenix。

NoSQL

Apache HBase 是仿照 Google 的 BigTable 进行建模的开源、非关系、分布式数据库。它的开发是 Apache Software Foundation 的 Hadoop 项目的一部分,而且它在 Hadoop 分布式文件系统 (HDFS) 上方运行,以便为 Hadoop 提供类似于 BigTable 的功能。HBase 为您提供一种具有容错能力的高效方式,以采用基于列的压缩和存储来存储大量稀疏数据。此外,HBase 还可以快速查找数据,因为它会在内存中缓存数据。HBase 针对顺序写入操作进行过优化,可非常高效地批处理插入、更新与删除。HBase 与 Hadoop 无缝兼容,共享它的文件系统并充当 Hadoop 任务的直接输入和输出。HBase 还与 Apache Hive 集成,实现对 HBase 表进行类似 SQL 的查询、与基于 Hive 的表联接,以及支持 Java 数据库连接 (JDBC)。借助于 EMR,您可以使用 S3 作为 HBase 的数据存储,让您可以降低成本与运营的复杂程度。如果使用 HDFS 作为数据存储,您可以将 HBase 备份到 S3,也可以从以前创建的备份中还原。

交互式分析

Hue 是 Hadoop 的开源用户界面,它对运行与开发 Hive 查询、管理 HDFS 中的文件、运行与开发 Pig 脚本,以及管理表进行简化。EMR 上的 Hue 还与 Amazon S3 集成,因此您可以直接对 S3 进行查询,并在 HDFS 和 Amazon S3 之间轻松传输文件。详细了解 Hue 和 EMR

Apache Zeppelin 是可以为采用 Spark 的数据探索创建交互式与协作笔记本的开源 GUI。您可以使用 Scala、Python、SQL(采用 Spark SQL)或 HiveQL 来操作数据并对结果进行快速可视化。Zeppelin 笔记本可在多个用户之间共享,而可视化可被发布到外部控制面板。详细了解 EMR 上的 Zeppelin。

安排和工作流

Apache Oozie 是 Hadoop 的工作流调度器,您可以在其中创建操作的有向无环图 (DAG)。此外,您还可以通过操作或时间轻松触发 Hadoop 工作流。详细了解 EMR 上的 Oozie。 Amazon Step Functions 让您能够向自己的应用程序添加无服务器工作流自动化功能。工作流的步骤可以在任何位置运行,包括在 Amazon Lambda 函数中、Amazon Elastic Compute Cloud (EC2) 上或本地。更详细了解 EMR 上的 Step Functions。

其他项目和工具

EMR 还支持各种其他热门应用程序和工具,如 R、Apache Pig(数据处理和 ETL)、Apache Tez(复杂 DAG 执行)、Apache MXNet(深度学习)、Ganglia(监控)、Apache Sqoop(关系数据库连接器)、HCatalog(表和存储管理),等等。Amazon EMR 团队对引导操作的开源存储库进行维护,该存储库可被用于安装更多软件、配置您的集群,或充当编写您自己的引导操作的示例。

数据访问控制

默认情况下,Amazon EMR 应用程序进程在调用其他亚马逊云科技服务时使用 EC2 实例配置文件。对于多租户集群,Amazon EMR 提供了三种选项来管理用户对 Amazon S3 数据的访问。

通过与 Apache Ranger 的本机集成,您可以设置新的或现有的 Apache Ranger 服务器,以便为用户通过 Hive Metastore 访问 Amazon S3 数据的数据库、表和列定义和管理精细的授权策略。Apache Ranger 是一种开源工具,用于在 Hadoop 平台上启用、监控和管理全面的数据安全性。

这种原生集成让您可以在 Apache Ranger 策略管理服务器上定义三种类型的授权策略。您可以为 Hive 设置表、列和行级授权,为 Spark 设置表和列级授权,以及为 Amazon S3 设置前缀和对象级授权。Amazon EMR 会自动在集群上安装和配置相应的 Apache Ranger 插件。这些 Ranger 插件与授权策略的策略管理服务器同步,强制实施数据访问控制,并将审计事件发送到 Amazon CloudWatch Logs。

Amazon EMR 用户角色映射器允许您利用 Amazon IAM 权限来管理对亚马逊云科技资源的访问。您可以在用户(或组)和自定义 IAM 角色之间创建映射。用户或组只能访问自定义 IAM 角色所允许的数据。

其他功能

为您的集群选择合适的实例:您要根据应用程序的要求选择在您的集群当中预置哪种类型的 EC2 实例(标准、内存增强型、CPU 增强型、输入/输出增强型,等等)。您拥有每个实例的根访问权限,并且可以完全自定义集群以满足您的需求。

调试您的应用程序:当您在集群上启用调试时,Amazon EMR 会将日志文件存档到 Amazon S3,然后为这些文件编列索引。然后,您可以使用控制台中的图形界面以直观的方式浏览日志和查看任务历史记录。详细了解调试 Amazon EMR 任务。

监控您的集群:您可以使用 Amazon CloudWatch 来监控自定义 Amazon EMR 指标,例如,正在运行 map 和 reduce 任务的平均数量。您还可以为这些指标设置警报。更详细了解监控 Amazon EMR 集群。

对事件做出响应:您可以使用 Amazon CloudWatch Events 中的 Amazon EMR 事件类型,以便对您的 Amazon EMR 集群中的状态更改做出响应。使用可快速设置的简单规则,您可以匹配事件并将其路由到 Amazon SNS 主题、Amazon Lambda 函数、Amazon SQS 队列等。详细了解 Amazon EMR 集群中的事件。

深度学习:使用热门的深度学习框架(如 Apache MXNet)来定义、训练和部署深度神经网络。您可以在具有 GPU 实例的 Amazon EMR 集群上使用这些框架。详细了解 Amazon EMR 上的 MXNet。

控制对集群的网络访问:您可以在 Amazon Virtual Private Cloud (VPC) 当中启动您的集群,而 VPC 是亚马逊云科技云的逻辑隔离部分。您可以完全掌控您的虚拟联网环境,包括选择您自己的 IP 地址范围、创建子网以及配置路由表和网关。详细了解 Amazon EMR 和 Amazon VPC。

管理用户、权限和加密:您可以使用 Amazon Identity and Access Management (IAM) 工具(如 IAM 用户和角色)来控制访问和权限。例如,您可以向特定用户授予对集群的读取权限,但不允许写入。此外,您可以使用 Amazon EMR 安全配置设置多种静态加密和动态加密选项,包括对 Amazon S3 加密的支持和 Kerberos 身份验证详细了解控制对您的集群的访问Amazon EMR 加密选项

安装其他软件:您可以使用引导操作或运行 Amazon Linux 的自定义 Amazon Machine Image (AMI) 在您的集群上安装其他软件。引导操作是 Amazon EMR 启动集群时在群集节点上运行的脚本。它们在 Hadoop 启动之前以及节点开始处理数据之前运行。您还可以在自定义 Amazon Linux AMI 上预加载和使用软件。详细了解 Amazon EMR 引导操作自定义 Amazon Linux AMI

高效复制数据:您可以使用 Amazon EMR 的 S3DistCp 将大量数据从 Amazon S3 快速移动到 HDFS,从 HDFS 快速移动到 Amazon S3,以及在 Amazon S3 存储桶之间快速移动;S3DistCp 是开源工具 Distcp 的扩展,它会使用 MapReduce 高效移动大量数据。详细了解 S3DistCp。

Custom JAR:编写 Java 程序、针对您想要使用的 Hadoop 版本进行编译,以及上载到 Amazon S3。然后,您可以使用 Hadoop JobClient 界面将 Hadoop 任务提交到集群。详细了解使用 Amazon EMR 的 Custom JAR 处理。

 

详细了解 Amazon EMR 定价

访问定价页面
准备好开始构建了吗?
Amazon EMR 入门

开始使用亚马逊云科技免费构建

开始使用亚马逊云科技免费构建

关闭
热线

热线

1010 0766
由光环新网运营的
北京区域
1010 0966
由西云数据运营的
宁夏区域