[DE] ML on Big data: MLlib

关于 Amazon EMR 发布版本

利用 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 集群提交一个或多个有序的步骤。每个步骤都是一个工作单位,其中包含可由集群上安装的软件处理的数据操作指令。

下面是一个使用四个步骤的示例处理操作:

  1. 提交要处理的输入数据集。

  2. 使用 Pig 程序处理第一个步骤的输出。(是MapReduce的一个抽象;使用 Pig Latin ,程序员可以轻松地执行MapReduce作业,而无需在Java中键入复杂的代码。)

  3. 使用 Hive 程序处理第二个输入数据集。(hive是数据仓库,在hadoop基础上处理结构化数据。)

  4. 写入一个输出数据集。

数据仓库和数据库的区别?

一般来说,传统数据库是为存储而生,而数据仓库很明显,是为分析而生。

运行状态(正常)切换

通常,在 Amazon EMR 中处理数据时,输入为以文件形式存储在您选择的底层文件系统(如 Amazon S3 或 HDFS)中的数据。数据从处理序列中的一个步骤传递到下一个。最后一步将输出数据写入指定位置,如 Amazon S3 存储桶。

步骤按下面的序列运行:

  1. 提交请求以开始处理步骤。

  2. 所有步骤的状态均设为 PENDING (待处理)

  3. 序列中的第一个步骤启动时,其状态更改为 RUNNING (正在运行)。其他步骤仍处于 PENDING (待处理) 状态。

  4. 第一个步骤完成后,其状态更改为 COMPLETED (已完成)

  5. 序列中的下一个步骤启动,其状态更改为 RUNNING (正在运行)。完成时,其状态更改为 COMPLETED (已完成)

  6. 对每个步骤重复这一模式,直到所有步骤均完成,处理结束。

下图显示了此步骤序列及随着处理的进行各步骤的状态更改。

 
 

运行状态(异常)切换

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

下图显示了此步骤序列和处理期间某个步骤失败时默认的状态变更。

理解集群的生命周期

成功的 Amazon EMR 集群会遵循这个流程:

  1. 根据您指定的设置,Amazon EMR 先为每个实例预置集群中的 EC2 实例。在这个期间,集群的状态是 STARTING

  2. Amazon EMR 在每个实例上运行您指定的引导操作。您可以使用引导操作安装自定义应用程序并执行所需的自定义。

  3. Amazon EMR 安装在创建集群时指定的本机应用程序,例如,Hive、Hadoop 和 Spark 等。

  4. 在成功完成引导操作并安装本机应用程序后,集群状态为RUNNING。此时,您可以连接到集群实例,集群将按顺序运行在创建集群时指定的任何步骤。您可以提交额外的步骤,这些步骤在任何以前的步骤完成后运行。

  5. 在成功运行步骤后,集群将进入WAITING状态。如果集群配置为在完成最后一个步骤后自动终止,则会进入SHUTTING_DOWN状态。

  6. 在终止所有实例后,集群将进入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的更多相关文章

  1. 使用Apache Hudi + Amazon S3 + Amazon EMR + AWS DMS构建数据湖

    1. 引入 数据湖使组织能够在更短的时间内利用多个源的数据,而不同角色用户可以以不同的方式协作和分析数据,从而实现更好.更快的决策.Amazon Simple Storage Service(amaz ...

  2. Amazon EMR(Elastic MapReduce):亚马逊Hadoop托管服务运行架构&Hadoop云服务之战:微软vs.亚马逊

    http://s3tools.org/s3cmd Amazon Elastic MapReduce (Amazon EMR)简介 Amazon Elastic MapReduce (Amazon EM ...

  3. 使用Amazon EMR和Apache Hudi在S3上插入,更新,删除数据

    将数据存储在Amazon S3中可带来很多好处,包括规模.可靠性.成本效率等方面.最重要的是,你可以利用Amazon EMR中的Apache Spark,Hive和Presto之类的开源工具来处理和分 ...

  4. 官宣!Amazon EMR正式支持Apache Hudi

    ​Apache Hudi是一个开源的数据管理框架,其通过提供记录级别的insert, update, upsert和delete能力来简化增量数据处理和数据管道开发.Upsert指的是将记录插入到现有 ...

  5. [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配置是否导入 ...

  6. [AI] 深度数据 - Data

    Data Engineering Data  Pipeline Outline [DE] How to learn Big Data[了解大数据] [DE] Pipeline for Data Eng ...

  7. hadoop发行版本

    Azure HDInsight Azure HDInsight is Microsoft's distribution of Hadoop. The Azure HDInsight ecosystem ...

  8. Apache Hudi助力nClouds加速数据交付

    1. 概述 在nClouds上,当客户的业务决策取决于对近实时数据的访问时,客户通常会向我们寻求有关数据和分析平台的解决方案.但随着每天创建和收集的数据量都在增加,这使得使用传统技术进行数据分析成为一 ...

  9. AWS EMR上搭建HBase环境

    0. 概述 AWS的EMR服务为客户提供的托管 Hadoop 框架可以让您轻松.快 速.经济高效地在多个动态可扩展的 Amazon EC2 实例之间分发和处理 大量数据.您还可以运行其他常用的分发框架 ...

随机推荐

  1. 纯数据结构Java实现(5/11)(Set&Map)

    纯数据结构Java实现(5/11)(Set&Map) Set 和 Map 都是抽象或者高级数据结构,至于底层是采用树还是散列则根据需要而定. 可以细想一下 TreeMap/HashMap, T ...

  2. Glide3升级到Glide4碰到的问题汇总以及部分代码修改

    版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/188 Glide.3x的版本是3.7.0,Glide4.x ...

  3. 消息中间件——RabbitMQ(七)高级特性全在这里!(上)

    前言 前面我们介绍了RabbitMQ的安装.各大消息中间件的对比.AMQP核心概念.管控台的使用.快速入门RabbitMQ.本章将介绍RabbitMQ的高级特性.分两篇(上/下)进行介绍. 消息如何保 ...

  4. 轻松pick移动开发第一篇,flex布局

    一.什么是flex布局 首先提问一个问题,一般童鞋都会让子元素水平居中,那么怎么让子元素垂直居中呢?这里就要用到我们的flex布局了. 1.flex 是 flexible Box 的缩写,意为&quo ...

  5. shell习题2

    1---------------->>>>输入一个设备文件,输出这个设备文件的基本信息: 2.------------->>>>显示一个如下的菜单,cp ...

  6. Rest构建分布式 SpringCloud微服务架构项目

    一.开发环境:jdk  1.8.Maven  3.x.IDEA  2019.1.4.SpringBoot   2.0.7.spring Cloud  最新的稳定版  Finchley SR2   搭配 ...

  7. python相关性算法解决方案(rest/数据库/json/下载)

    1. 场景描述 一直做java,因项目原因,需要封装一些经典的算法到平台上去,就一边学习python,一边网上寻找经典算法代码,今天介绍下经典的相关性算法,算法原理就不介绍了,只从代码层面进行介绍,包 ...

  8. python 17 内置模块

    目录 1. 序列化模块 1.1 json 模块 1.2 pickle 模块 2. os 模块 3. sys 模块 4. hashlib 加密.摘要 4.1 加密 4.2 加盐 4.3 文件一致性校验 ...

  9. CodeForces 909C

    题意略. 思路: 开始的时候,定义dp[i]:当前行在第i行,i~n有多少种排列方式,如果i为f,那么dp[i] = dp[i + 1],因为第i + 1条语句只能放在f后且向右缩进一位: 如果i为s ...

  10. Codeforces 976C

    题意略. 思路:由于题中只要让我们找出嵌套的段就行了,那么我们只需要排序一下就好了. 排序方式:按左端由小到大排,左端一样的时候,右端小的排在前. 如果你担心1会因为2的阻隔而不能嵌套3的话,那么2可 ...