课程主要内容 概述 企业计算 网格计算和云计算 P2P网络、CDN网络和物联网 社会计算 1986
课程主要内容 概述 企业计算 网格计算和云计算 P2P网络、CDN网络和物联网 社会计算
云计算 3典型的云计算产品 云计算的研究吸引了不同技术领域巨头,Amazon、Google、 1BM、微软和Yahoo等大公司是云计算的先行者。不同的产品对 云计算理论及实现架构也有所不同。 ◆ 云计算的先行者Google的云计算平台能实现大规模分布式计算和 应用服务程序,平台包括Hadoop框架、MapReduce?分布式处 理技术、分布式的文件系统GFS、结构化的Big Table?存储系统以 及Google2其他的云计算支撑要素。 ◆MapReduce:分布式处理技术、分布式的文件系统GFS、结构化 的Big Table存储系统是Googlef的三个核心技术。 /986
典型的云计算产品 云计算的研究吸引了不同技术领域巨头,Amazon、Google、 IBM、微软和Yahoo等大公司是云计算的先行者。不同的产品对 云计算理论及实现架构也有所不同。 云计算的先行者Google的云计算平台能实现大规模分布式计算和 应用服务程序,平台包括Hadoop框架、 MapReduce分布式处 理技术、分布式的文件系统GFS、结构化的BigTable存储系统以 及Google其他的云计算支撑要素。 MapReduce分布式处理技术、分布式的文件系统GFS、结构化 的BigTable存储系统是Google的三个核心技术。 云计算
云计算 3 MapReduce分布式处理技术 ◆MapReduce是Google2开发的ava、Python.、C++编程工具,用 于大规模数据集(大于1TB)的并行运算,也是云计算的核心技 术。 ◆MapReduce模式的思想是将要执行的问题拆解成Map(映射) 和Reduce(化简)的方式,先通过Map程序将数据切割成不相关 的区块,分配(调度)给大量计算机处理达到分布运算的效果, 再通过Reduce程序将结果汇整,输出开发者需要的结果。 /986
MapReduce分布式处理技术 MapReduce是Google开发的Java、Python、C++编程工具,用 于大规模数据集(大于1TB)的并行运算,也是云计算的核心技 术。 MapReduce模式的思想是将要执行的问题拆解成Map(映射) 和Reduce(化简)的方式,先通过Map程序将数据切割成不相关 的区块,分配(调度)给大量计算机处理达到分布运算的效果, 再通过Reduce程序将结果汇整,输出开发者需要的结果。 云计算
云计算 3 MapReduce的编程思想 分而治之 大数据计算任务 任务划分 子任务 子任务 子任务 子任务 结果合并 计算结课 1986
MapReduce的编程思想——分而治之 云计算 大数据计算任务 子任务 子任务 子任务 子任务 …… 任务划分 计算结果 结果合并
云计算 3 MapReduce可解决哪些算法问题 ◆MapReduce:待处理的数据集可以分解成许多小的数据集,而且每 一个小数据都可以完全并行地进行处理,因此不能解决不可分拆 的计算任务,或者相互间有依赖关系任务,如Fibonacci函数: Fk+2=Fk+Fk+1。 ◆MapReduce可解决的基本算法:各种全局数据相关性小、能适当 划分数据的计算任务。如:分布式排序、关系代数操作(选择, 投影,求交集、并集,连接,成组,聚合等)、矩阵向量相乘 矩阵相乘、词频统计(word count))、文档倒排索引等。 1986
MapReduce可解决哪些算法问题 MapReduce待处理的数据集可以分解成许多小的数据集,而且每 一个小数据都可以完全并行地进行处理,因此不能解决不可分拆 的计算任务,或者相互间有依赖关系任务,如Fibonacci函数: Fk+2 = Fk + Fk+1 。 MapReduce可解决的基本算法:各种全局数据相关性小、能适当 划分数据的计算任务。如:分布式排序、关系代数操作(选择, 投影,求交集、并集,连接,成组,聚合等)、矩阵向量相乘、 矩阵相乘、词频统计(word count)、文档倒排索引等。 云计算
云计算 3 MapReduce可解决哪些算法问题 ◆MapReduce可解决的复杂算法:Web搜索引擎(网页爬取、网 页排序、搜索算法)、Web访问日志分析(分析和挖掘用户在 Web上的行为)、数据/文本统计分析(如专利文献引用分析和统 计)、图算法并行化宽度优先搜索(最短路径问题)、机器学习 、数据挖掘等。 1986
MapReduce可解决哪些算法问题 MapReduce可解决的复杂算法:Web搜索引擎(网页爬取、网 页排序、搜索算法)、Web访问日志分析(分析和挖掘用户在 Web上的行为)、数据/文本统计分析(如专利文献引用分析和统 计)、图算法并行化宽度优先搜索(最短路径问题)、机器学习 、数据挖掘等。 云计算
云计算 3 MapReduce分布式处理技术 MapReduce定义了Map和Reducei两个抽象的编程接口,由用户 编程实现: ◆Map:对一组数据元素进行某种重复式的处理 ◆Reduce:对Map的中间结果进行某种进一步的结果整理 /986
MapReduce分布式处理技术 MapReduce定义了Map和Reduce两个抽象的编程接口,由用户 编程实现: Map: 对一组数据元素进行某种重复式的处理 Reduce: 对Map的中间结果进行某种进一步的结果整理 云计算
云计算 3 MapReduce分布式处理技术 原始数据 原始数据 原始数据 1、在编程的时候,开发者 2 M 需要编写两个函数: Map:(in_key,in_value) Map Map Map Reduce:(key,[value 1,value 2..]) 2、Map操作产生结果是 对 Reduce Reduce 3、在Map,Reduce之间系 统把同一Key归类到Reduce 结果 V结果 3、Reduce操作对相同的 R Key进行归类处理 1986
MapReduce分布式处理技术 云计算 Map Map … Map … 原始数据 1 原始数据 2 原始数据 M Reduce Reduce 结果 1 结果 R … … 1、在编程的时候,开发者 需要编写两个函数: Map:(in_key, in_value) Reduce:(key,[value 1,value 2…]) 2、Map操作产生结果是 对 3、在Map,Reduce之间系 统把同一Key归类到Reduce 3、Reduce操作对相同的 Key进行归类处理
云计算 3 MapReduce分布式处理技术一Map端 map:(k1,v1)-list(k2,v2) ◆输入:键值对(k1,V1)表示的数据 ◆处理:文档数据记录(如文本文件中的行,或数据表格中的行) 将以"键值对”形式传入map函数;map函数将处理这些键值对 ,并把处理的一组键值对中间结果Ist(k2,V2)以另一种键值对形 式输出。 ◆输出:键值对(k2,V2)表示的一组中间数据 ◆备注:Iist(k2,V2)表示有一个或多个键值对组成的列表
MapReduce分布式处理技术——Map端 map: (k1, v1) → list(k2, v2) 输入:键值对(k1, v1)表示的数据 处理:文档数据记录(如文本文件中的行,或数据表格中的行) 将以“键值对”形式传入map函数;map函数将处理这些键值对 ,并把处理的一组键值对中间结果list(k2, v2)以另一种键值对形 式输出。 输出:键值对(k2, v2)表示的一组中间数据 备注: list(k2, v2) 表示有一个或多个键值对组成的列表 云计算
云计算 c3 MapReduce分布式处理技术一Reducei端 reduce:(k2,list(v2))-list(k3,v3) ◆输入:由map输出的一组键值对list(k2,v2)将被进行合并处理, 同样主键下的不同数值合并会到一个list(v2)中,故reducel的输入 为(k2,list(v2) ◆处理:对传入的中间结果列表数据进行某种整理或进一步的处理 ,并产生最终的某种形式的结果输出list(k3,v3)。 ◆输出:最终输出结果Iist(k3,V3)
MapReduce分布式处理技术——Reduce端 reduce: (k2, list(v2)) → list(k3, v3) 输入:由map输出的一组键值对list(k2, v2) 将被进行合并处理, 同样主键下的不同数值合并会到一个list(v2)中,故reduce的输入 为(k2, list(v2))。 处理:对传入的中间结果列表数据进行某种整理或进一步的处理 ,并产生最终的某种形式的结果输出list(k3, v3)。 输出:最终输出结果list(k3, v3)。 云计算