课程提要 口分布式并行编程 口 Mapreduce模型概述 口Map和 Reduce函数 口 Mapreduce工作流程 口并行计算的实现 口实例分析: Word Count 口新 Mapreduce框架Yarn 《大数据技术基础》
《大数据技术基础》 课程提要 分布式并行编程 MapReduce模型概述 Map和Reduce函数 MapReduce工作流程 并行计算的实现 实例分析:WordCount 新MapReduce框架Yarn
课程提要 口分布式并行编程 口 Mapreduce模型概述 口Map和 Reduce函数 口 Mapreduce工作流程 口并行计算的实现 口实例分析: Word Count 《大数据技术基础》
《大数据技术基础》 课程提要 分布式并行编程 MapReduce模型概述 Map和Reduce函数 MapReduce工作流程 并行计算的实现 实例分析:WordCount
Mapreduce模型概述 Mapreduce是 Google公司的核心计算模型,它将复杂的运行于大规模 集群上的并行计算过程高度地抽象到两个函数:Map和 Reduce 适合用 Mapreduce来处理的数据集(或任务),需要满足一个基本要求 待处理的数据集可以分解成许多小的数据集,而且每一个小数据集都 可以完全并行地进行处理 ·概念“Map(映射)”和“ Reduce(化简)”,以及它们的主要思想 ,都是从函数式编程语言里借来的,同时包含了从矢量编程语言里借 来的特性。 Mapreduce极大地方便了编程人员在不会分布式并行编程 的情况下,将自己的程序运行在分布式系统上。 《大数据技术基础》
《大数据技术基础》 MapReduce模型概述 • MapReduce是Google公司的核心计算模型,它将复杂的运行于大规模 集群上的并行计算过程高度地抽象到两个函数:Map和Reduce。 • 适合用MapReduce来处理的数据集(或任务),需要满足一个基本要求: 待处理的数据集可以分解成许多小的数据集,而且每一个小数据集都 可以完全并行地进行处理。 • 概念“Map(映射)”和“Reduce(化简)”,以及它们的主要思想 ,都是从函数式编程语言里借来的,同时包含了从矢量编程语言里借 来的特性。MapReduce极大地方便了编程人员在不会分布式并行编程 的情况下,将自己的程序运行在分布式系统上
Mapreduce模型概述 个Map- Reduce作业(job)通常会把输入的数据集切分为若干独立 的数据块,由map任务(task)以完全并行的方式处理它们。框架会 对map的输出先进行排序,然后把结果输入给 reduce任务。通常作业 的输入和输出都会被存储在文件系统中。整个框架负责任务的调度和 监控,以及重新执行已经失败的任务。 Map-Reduce框架和分布式文件系统是运行在一组相同的节点上的,即 计算节点和存储节点通常在一起。这种配置允许框架在那些已经存好 数据的节点上高效地调度任务,这可以使整个集群的网络带宽被非常 高效地利用 Map -Reduce框架由单独一个 master Job Tracker,和每个集群节点一个 slave TaskTracker共同组成。这个 master负责调度构成一个作业的 所有任务,这些任务分布在不同的 slave上, master监控它们的执行 ,重新执行已经失败的任务。而 slave仅负责执行由 master指派的任 务 《大数据技术基础》
《大数据技术基础》 MapReduce模型概述 • 一个Map-Reduce作业(job)通常会把输入的数据集切分为若干独立 的数据块,由map任务(task)以完全并行的方式处理它们。框架会 对map的输出先进行排序,然后把结果输入给reduce任务。通常作业 的输入和输出都会被存储在文件系统中。整个框架负责任务的调度和 监控,以及重新执行已经失败的任务。 • Map-Reduce框架和分布式文件系统是运行在一组相同的节点上的,即 计算节点和存储节点通常在一起。这种配置允许框架在那些已经存好 数据的节点上高效地调度任务,这可以使整个集群的网络带宽被非常 高效地利用。 • Map-Reduce框架由单独一个master JobTracker和每个集群节点一个 slave TaskTracker共同组成。这个master负责调度构成一个作业的 所有任务,这些任务分布在不同的slave上,master监控它们的执行 ,重新执行已经失败的任务。而slave仅负责执行由master指派的任 务
mapreduce模型概述 应用程序至少应该指明输入输出的位置(路径),并通过实现合适的 接口或抽象类提供map和 Reduce函数。再加上其他作业的参数,就构 成了作业配置( job configuration)。然后,由 Hadoop的job- client提 交作业(jar包/可执行程序等)和配置信息给 JobTracker,后者负责 分发这些软件和配置信息给 slave、调度任务且监控它们的执行,同 时提供状态和诊断信息给 job-client 虽然 Hadoop框架是用Java实现的,但 Map-Reduce应用程序则不一 定要用Java来写。 《大数据技术基础》
《大数据技术基础》 MapReduce模型概述 • 应用程序至少应该指明输入/输出的位置(路径),并通过实现合适的 接口或抽象类提供map和reduce函数。再加上其他作业的参数,就构 成了作业配置(job configuration)。然后,由Hadoop的job-client提 交作业(jar包/可执行程序等)和配置信息给JobTracker,后者负责 分发这些软件和配置信息给slave、调度任务且监控它们的执行,同 时提供状态和诊断信息给job-client。 • 虽然Hadoop框架是用Java实现的,但Map-Reduce应用程序则不一 定要用Java来写