搜档网
当前位置:搜档网 › 大数据课件

大数据课件

大数据处理技术ppt讲课稿

大数据处理技术ppt讲课稿 科信办刘伟 第一节Mapreduce编程模型: 1.技术背景: 分布式并行计算是大数据(pb)处理的有效方法,编写正确高效的大规模并行分布式程序是计算机工程领域的难题:分布式并行计算是大数据(pb)处理的有效方法,编写正确高效的大规模并行分布式程序是计算机工程领域的难题。并行计算的模型、计算任务分发、计算机结果合并、计算节点的通讯、计算节点的负载均衡、计算机节点容错处理、节点文件的管理等方面都要考虑。 谷歌的关于mapreduce论文里这么形容他们遇到的难题:由于输入的数据量巨大,因此要想在可接受的时间内完成运算,只有将这些计算分布在成百上千的主机上。如何处理并行计算、如何分发数据、如何处理错误?所有这些问题综合在一起,需要大量的代码处理,因此也使得原本简单的运算变得难以处理,普通程序员无法进行大数据处理。 为了解决上述复杂的问题,谷歌设计一个新的抽象模型,使用这个抽象模型,普通程序员只要表述他们想要执行的简单运算即可,而不必关心并行计算、容错、数据分布、负载均衡等复杂的细节,这些问题都被封装了,交个了后台程序来处理。这个模型就是mapreduce。 谷歌2004年公布的mapreduce编程模型,在工业、学术界产生巨大影响,以至于谈大数据必谈mapreduce。 学术界和工业界就此开始了漫漫的追赶之路。这期间,工业界试图做的事情就是要实现一个能够媲美或者比Google mapreduce更好的系统,多年的努力下来,Hadoop(开源)脱颖而出,成为外界实现MapReduce计算模型事实上的标准,围绕着Hadoop,已经形成了一个庞大的生态系统 2. mapreduce的概念: MapReduce是一个编程模型,一个处理和生成超大数据集的算法模型的相关实现。简单的一句话解释MapReduce就是“任务的分解与结果的汇总”。MapReduce从它名字上来看就大致可以看出个缘由,两个动词Map和Reduce,“Map(展开)”就是将一个任务分解成为多个任务,“Reduce”就是将分解后多任务处理的结果汇总起来,得出最后的分析结果。 mapreduce成功的最大因素是它简单的编程模型。程序员只要按照这个框架的要求,设计map和reduce函数,剩下的工作,如分布式存储、节点调度、负载均衡、节点通讯、容错处理和故障恢复都由mapreduce框架(比如hadoop)自动完成,设计的程序有很高的扩展性。所以,站在计算的两端来看,与我们通常熟悉的串行计算没有任何差别,所有的复杂性都在中间隐藏了。它让那些没有多少并行计算和分布式处理经验的开发人员也可以开发并行应用,开发人员只需要实现map 和reduce 两个接口函数,即可完成TB级数据的计算,这也就是MapReduce的价值所在,通过简化编程模型,降低了开发并行应用的入门门槛,并行计算就可以得到更广泛的应用。 3.mapreduce的编程模型原理 开发人员用两个函数表达这个计算:Map和Reduce,首先创建一个Map函数处理一个基于key/value pair的数据集合,输出中间的基于key/value pair的数据集合,然后再创建一个Reduce函数用来合并所有的具有相同中间key值的中间value值,就完成了大数据的处理,剩下的工作由计算机集群自动完成。 即:(input) ====> map(k1,v1) ->list(k2,v2) ===> combine---> => reduce(k2,list(v2)) ->list(v2) >(output)

相关主题