多语言展示
当前在线:1188今日阅读:176今日分享:34

Hadoop之MapReduce简单编程

MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。
工具/原料
1

服务器、集群

2

eclipse、电脑

方法/步骤
1

定义:MapReduce是面向大数据并行处理的计算模型、框架和平台,它隐含了以下三层含义:1)MapReduce是一个基于集群的高性能并行计算平台(Cluster Infrastructure)。它允许用市场上普通的商用服务器构成一个包含数十、数百至数千个节点的分布和并行计算集群。2)MapReduce是一个并行计算与运行软件框架(Software Framework)。它提供了一个庞大但设计精良的并行计算软件框架,能自动完成计算任务的并行化处理,自动划分计算数据和计算任务,在集群节点上自动分配和执行任务以及收集计算结果,将数据分布存储、数据通信、容错处理等并行计算涉及到的很多系统底层的复杂细节交由系统负责处理,大大减少了软件开发人员的负担。3)MapReduce是一个并行程序设计模型与方法(Programming Model & Methodology)。它借助于函数式程序设计语言Lisp的设计思想,提供了一种简便的并行程序设计方法,用Map和Reduce两个函数编程实现基本的并行计算任务,提供了抽象的操作和并行编程接口,以简单方便地完成大规模数据的编程和计算处理

2

MR简单编程模型:

3

Map实现:MapReduce可以简单看做是只有Map函数和Reduce函数的编程,Map函数默认是按行从HDFS读取数据进行处理,即在Map阶段从HDFS一行一行的将数据读取过来,读取过来的时候格式是<行号,行内容>,Map端将这行数据按一定分割符切割,按key-value的方式写出去。

4

Reduce实现:Reduce拿到规约好的数据后就可以根据编写的逻辑进行处理了,比如进行单词统计,然后Reduce再将计算好的数据按key-value的方式输出到HDFS上。

5

主驱动类:加载文件,调用Map端和Reduce端,执行MR。

注意事项

个人总结,如有错误请指正,如有帮助投票点赞鼓励。

推荐信息