[AWS] 01 - What is Amazon EMR

- Amazon Athena 是一种交互式查询服务,让您能够轻松使用标准 SQL 直接分析 Amazon S3 中的数据。
- EMR 解决Hadoop集群部署和管理的难题;
- Amazon CloudSearch 是一款在 AWS 云中托管的服务,可让您简单且经济高效地为网站或应用程序设置、管理或扩展搜索解决方案。
- Elasticsearch Service
- Kinesis 让实时数据的捕捉与分析变得不再困难。
- QuickSight 云BI服务。
- Data Pipeline 使用它安排将输入数据移入 Amazon S3 的时间,以及安排启动集群处理这些数据的时间。
- AWS Glue 一项完全托管的提取、转换和加载 (ETL) 服务,让客户能够轻松加载数据仓库中的数据进行分析。
- AWS Lake Formation 数据湖是一个安全的集中式辅助存储库,它以数据原始形式和可用于分析的形式存储所有数据。
- MSK 完全托管服务,可让您轻松构建并运行使用 Apache Kafka 的应用程序来处理流数据。
常见问题:Can we consider AWS Glue as a replacement for EMR?
了解集群和节点
向集群提交工作
处理数据
启动集群时,您需要选择要安装的框架和应用程序,以满足您的数据处理需求。要处理 Amazon EMR 集群中的数据,您可以直接向已安装的应用程序提交作业或查询,或在集群中运行步骤。
直接向应用程序提交作业
您可以直接向安装在 Amazon EMR 集群中的应用程序提交作业和与之交互。
为此,您通常需要通过安全连接与主节点连接,并访问可用于直接运行在集群上的软件的接口和工具。有关更多信息,请参阅 连接到集群。
运行步骤以处理数据
您可以向 Amazon EMR 集群提交一个或多个有序的步骤。每个步骤都是一个工作单位,其中包含可由集群上安装的软件处理的数据操作指令。
下面是一个使用四个步骤的示例处理操作:
提交要处理的输入数据集。
使用 Pig 程序处理第一个步骤的输出。(是MapReduce的一个抽象;使用 Pig Latin ,程序员可以轻松地执行MapReduce作业,而无需在Java中键入复杂的代码。)
使用 Hive 程序处理第二个输入数据集。(hive是数据仓库,在hadoop基础上处理结构化数据。)
写入一个输出数据集。
数据仓库和数据库的区别?
一般来说,传统数据库是为存储而生,而数据仓库很明显,是为分析而生。

运行状态(正常)切换
通常,在 Amazon EMR 中处理数据时,输入为以文件形式存储在您选择的底层文件系统(如 Amazon S3 或 HDFS)中的数据。数据从处理序列中的一个步骤传递到下一个。最后一步将输出数据写入指定位置,如 Amazon S3 存储桶。
步骤按下面的序列运行:
提交请求以开始处理步骤。
所有步骤的状态均设为 PENDING (待处理)。
序列中的第一个步骤启动时,其状态更改为 RUNNING (正在运行)。其他步骤仍处于 PENDING (待处理) 状态。
第一个步骤完成后,其状态更改为 COMPLETED (已完成)。
序列中的下一个步骤启动,其状态更改为 RUNNING (正在运行)。完成时,其状态更改为 COMPLETED (已完成)。
对每个步骤重复这一模式,直到所有步骤均完成,处理结束。
下图显示了此步骤序列及随着处理的进行各步骤的状态更改。

运行状态(异常)切换
如果处理期间步骤失败,其状态会更改为 TERMINATED_WITH_ERRORS。您可以确定接下来如何处理每个步骤。默认情况下,序列中的任何其余步骤设置为 CANCELLED (取消) 并且不运行。您也可以选择忽略失败并允许继续执行其余步骤,或者立即终止集群。
下图显示了此步骤序列和处理期间某个步骤失败时默认的状态变更。

理解集群的生命周期
成功的 Amazon EMR 集群会遵循这个流程:
根据您指定的设置,Amazon EMR 先为每个实例预置集群中的 EC2 实例。在这个期间,集群的状态是
STARTING。Amazon EMR 在每个实例上运行您指定的引导操作。您可以使用引导操作安装自定义应用程序并执行所需的自定义。
Amazon EMR 安装在创建集群时指定的本机应用程序,例如,Hive、Hadoop 和 Spark 等。
在成功完成引导操作并安装本机应用程序后,集群状态为
RUNNING。此时,您可以连接到集群实例,集群将按顺序运行在创建集群时指定的任何步骤。您可以提交额外的步骤,这些步骤在任何以前的步骤完成后运行。在成功运行步骤后,集群将进入
WAITING状态。如果集群配置为在完成最后一个步骤后自动终止,则会进入SHUTTING_DOWN状态。在终止所有实例后,集群将进入
COMPLETED状态。
集群生命周期中的故障将导致 Amazon EMR 终止集群及其所有实例,除非启用了终止保护。如果集群由于故障而终止,则会删除集群上存储的任何数据并将集群状态设置为FAILED。如果启用了终止保护,您可以从集群中检索数据,然后删除终止保护并终止集群。
Amazon EMR 体系结构概述
存储
Hadoop 分布式文件系统 (HDFS)
- 不同的实例上存储多份数据副本。
- 暂时性存储,会在集群终止时收回。
- 在缓存 MapReduce 处理期间的中间结果或具有大量随机 I/O 的工作负载时非常有用。
EMR 文件系统 (EMRFS)
本地文件系统 (Local FS)
集群资源管理
默认情况下,Amazon EMR 使用 YARN (Yet Another Resource Negotiator) (Apache Hadoop 2.0 中引入的一个组件) 集中管理多个数据处理框架的集群资源。
数据处理框架
数据处理框架层是用于分析和处理数据的引擎。在 YARN 上运行并具有自己的资源管理功能的框架有很多,Hadoop MapReduce 和 Spark 是可用于 Amazon EMR 的主处理框架。
Spark 是一种用于处理大数据工作负载的集群框架和编程模型。与 Hadoop MapReduce 一样,Spark 是开源、分布式的处理系统,但它为执行计划使用有向无环图并为数据集使用内存缓存。在 Amazon EMR 上运行 Spark 时,您可以使用 EMRFS 直接访问 Amazon S3 中的数据。Spark 支持多种交互式查询模块,如 SparkSQL。
应用程序和项目
Amazon EMR 支持许多应用程序,如 Hive、Pig 和 Spark Streaming 库,以提供使用更高级的语言创建处理工作负载、运用机器学习算法、制作流处理应用程序、构建数据仓库等功能。此外,Amazon EMR 还支持拥有自己的集群管理功能而不使用 YARN 的开源项目。
End.
[AWS] 01 - What is Amazon EMR的更多相关文章
- 使用Apache Hudi + Amazon S3 + Amazon EMR + AWS DMS构建数据湖
1. 引入 数据湖使组织能够在更短的时间内利用多个源的数据,而不同角色用户可以以不同的方式协作和分析数据,从而实现更好.更快的决策.Amazon Simple Storage Service(amaz ...
- Amazon EMR(Elastic MapReduce):亚马逊Hadoop托管服务运行架构&Hadoop云服务之战:微软vs.亚马逊
http://s3tools.org/s3cmd Amazon Elastic MapReduce (Amazon EMR)简介 Amazon Elastic MapReduce (Amazon EM ...
- 使用Amazon EMR和Apache Hudi在S3上插入,更新,删除数据
将数据存储在Amazon S3中可带来很多好处,包括规模.可靠性.成本效率等方面.最重要的是,你可以利用Amazon EMR中的Apache Spark,Hive和Presto之类的开源工具来处理和分 ...
- 官宣!Amazon EMR正式支持Apache Hudi
Apache Hudi是一个开源的数据管理框架,其通过提供记录级别的insert, update, upsert和delete能力来简化增量数据处理和数据管道开发.Upsert指的是将记录插入到现有 ...
- [AWS - EC2] 如何向 Amazon Linux 2 实例传输文件,下载文件。How to send/ download files from Amazon Linux 2 Instance
1. 需要: 安装 WinSCP 2. 需要: PuTTY 生成的ppk格式密钥, 没有的话请移步此文章,完成1, 2, 3步即可. 3. 打开 WinSCP , 如果提示已经有PuTTY配置是否导入 ...
- [AI] 深度数据 - Data
Data Engineering Data Pipeline Outline [DE] How to learn Big Data[了解大数据] [DE] Pipeline for Data Eng ...
- hadoop发行版本
Azure HDInsight Azure HDInsight is Microsoft's distribution of Hadoop. The Azure HDInsight ecosystem ...
- Apache Hudi助力nClouds加速数据交付
1. 概述 在nClouds上,当客户的业务决策取决于对近实时数据的访问时,客户通常会向我们寻求有关数据和分析平台的解决方案.但随着每天创建和收集的数据量都在增加,这使得使用传统技术进行数据分析成为一 ...
- AWS EMR上搭建HBase环境
0. 概述 AWS的EMR服务为客户提供的托管 Hadoop 框架可以让您轻松.快 速.经济高效地在多个动态可扩展的 Amazon EC2 实例之间分发和处理 大量数据.您还可以运行其他常用的分发框架 ...
随机推荐
- SpringBoot 内部方法调用,事务不起作用的原因及解决办法
在做业务开发时,遇到了一个事务不起作用的问题.大概流程是这样的,方法内部的定时任务调用了一个带事务的方法,失败后事务没有回滚.查阅资料后,问题得到解决,记录下来分享给大家. 场景 我在这里模拟一个场景 ...
- JVM(十二):方法调用
JVM(十二):方法调用 在 JVM(七):JVM内存结构 中,我们说到了方法执行在何种内存结构上执行:Java 方法活动在虚拟机栈中的栈帧上,栈帧的具体结构在内存结构中已经详细讲解过了,下面就让我们 ...
- maven出现:Failed to execute goal on project ...: Could not resolve dependencies for project ...
项目结构是一个父项目,多个子项目目录: 例如: common --------------(父项目) fristDemo ------------(子项目) 如果在子项目中调用了父项目,而对(子 ...
- 解决ionic 启动页面图片没有显示及启动页出现黑白屏
1.ionic 正确打包完app, 并且按照正常的步骤配置config.xml文件之后 ,启动页面还是不能正常的显示出来,而是黑了一下之后,就进入首页了 原因很有可能就是你没有装cordova-plu ...
- Leetcode之二分法专题-1011. 在 D 天内送达包裹的能力(Capacity To Ship Packages Within D Days)
Leetcode之二分法专题-1011. 在 D 天内送达包裹的能力(Capacity To Ship Packages Within D Days) 传送带上的包裹必须在 D 天内从一个港口运送到另 ...
- Enum与最佳単例设计
1 枚举基础 自定义一个枚举类很简单, 不过类型关键字是 enum, 不是 class, 也不是 interface.public enum Action { UP, DOWN, LEFT, RIGH ...
- 独家解读 etcd 3.4版本 |云原生生态周报 Vol. 18
作者 | 酒祝.墨封.宇慕.衷源 关注"阿里巴巴云原生"公众号,回复关键词 "资料" ,即可获得 2019 全年 meetup 活动 PPT 合集及 K8s 最 ...
- odoo 恢复数据库前端报错
Could not get content for…… jQuery is not defined 原因:数据库缓存 解决方法: select id, create_date, store_fname ...
- CF - 652F Ants on a Circle
题目传送门 题解: 先观察蚂蚁相撞, 可以发现, 如果我们将相撞的2个蚂蚁互换位置的话,蚂蚁相当于没有碰撞体积,直接穿过去了.所以我们可以直接计算出最终哪些位置上会有蚂蚁. 接下来就需要知道蚂蚁们的最 ...
- 【Nginx】实现动静分离
一.概述 1.1 动态页面与静态页面区别 1.2 什么是动静分离 1.3 为什么要用动静分离 二.Nginx实现动静分离 2.1 架构分析 2.2 配置 三.动静分离与前后分离区别: 四.一些问题 一 ...