WCBDA_M1S5_Hadoop处理框架 - MapReduce和YARN基础.pdfVIP

  • 2
  • 0
  • 约9.02千字
  • 约 10页
  • 2020-11-23 发布于广东
  • 举报

WCBDA_M1S5_Hadoop处理框架 - MapReduce和YARN基础.pdf

第五课 Hadoop 处理框架 — MapReduce 和 YARN 基础 学习目标  能够解释 MapReduce 和 YARN 的基本概念 ,以及它们如何用于 Hadoop 中的数据处理。 能力目标  能够解释 MapReduce 中 map 和 reduce 的作用 ;  能够说明 YARN框架及其带来的优点 ;  能够论述 HBase 和 Hive 在处理大数据方面的作用。 1 大数据管理的核心挑战是如何分发计算和数据密集型的应用程序。MapReduce 可以很好 地实现可靠的大批量分发。开发人员可以利用该平台编写程序 ,在多个分布式节点上同时 处理大量的非结构化数据。 随 Hadoop 2 发布 YARN给数据处理领域带来了新的机遇。YARN可以被看做一个工具 , 它使得其它数据处理框架 (而不仅仅是 MapReduce )能够运行在 Hadoop 上。它是一 种通用资源管理工具 ,可以调度 Hadoop集群的 CPU周期和内存 ,分配给其它等待中的 应用程序。 在本次课程中 ,我们将详细研究这两个框架 ,以及 Hadoop 生态系统如何使用这些以及 其它工具来处理数据。 MapReduce 的起源 在二十世纪初 Google 工程师认为 ,如果可以把任务分发到廉价的计算机上 ,然后用网络 连接成集群 (cluster ),就可以解决大量数据的处理问题。 然而 ,分发 (distribution )不是一个完备的答案。任务的分发必须可以并行执行 :  自动扩展和合并各个处理  网络或单点系统故障时 ,处理可以继续进行  在多种使用场景中 ,要使开发者能够使用别人创建的服务 分布式计算的方法在位置上必须是独立的 ,相对于数据和处理数据的应用程序而言。为了 实现这一目标 ,MapReduce 被设计为通用编程模型。在 Hadoop 1 中 ,所有数据处理 都围绕着 MapReduce 展开。 MapReduce 的名称来自与功能计算机语言 ,是 map 和 reduce 的组合。 MapReduce 的初始实现包括并行处理 (parallel execution )、容错 (fault tolerance )、 2 负载均衡 (load balancing )和数据操作 (data manipulation )的所有核心需求。多年 来 ,也出现了其它的 MapReduce 实现 ,可以作为开源和商业产品使用。 小知识 Map和 reduce 功能是功能语言的运算符 ,因此是大数据的很好的选择。它们不修改原 始数据 ,而是创建并输出新的数据结构。所以 map功能不影响存储的数据。 MapReduce 的特点 在 MapReduce 中 ,所有操作都是独立的。MapReduce 把大型问题分解成较小的、易于 管理的块 ,独立运行每个块 ,然后将它们组合在一起。 以下是 MapReduce 的基本行为 :  调度 (Scheduling ):MapReduce 作业被分解为独立的任务 ,供 map和 reduce 程序分别处理。在 reduce 任务发生之前 ,map 任务要全部得出结果。因此 ,任务 的优先级的排列依据是集群中的节点数量。如果任务比节点多 ,执行框架会先运行 map 任务直到全部完成 ,然后再运行 reduce 任务。只有当所有的 reduce 任务全都 完成时 ,整个过程才能结束。  同步 (Synchronization ):当一个集群中有多个进程在并发执行时 ,就需要同步 机制。执行框架知道程序正在运行 map 和 reduce。它跟踪任务和任务的时间。当 所有的 map 任务完成时 ,reduce 任务开始。通过称为 shuffle 和 sort 的机制 ,中 间数据生成后在网络中进行传输。这样可以收集所有 map 完成的数据 ,并准备进行 reduce。  代码/数据协同位置 (Code/Data Co-Location ):处理效率最高的情况是 ,map 函数 (代码 )和它需要处理的数据存储在同一台机器上 ,即 :代码和数据是位置协 同的。进程调度器可以在执行之

文档评论(0)

1亿VIP精品文档

相关文档