开发mapreduce
简介: MapReduce是面向大数据并行处理的计算模型、框架和平台,它隐含了以下三层含义:
(1)MapReduce是一个基于集群的高性能并行计算平台(Cluster Infrastructure)。它允许用市场上普通的商用服务器构成一个包含数十、数百至数千个节点的分布和并行计算集群。
(2)MapReduce是一个并行计算与运行软件框架(Software Framework)。它提供了一个庞大但设计精良的并行计算软件框架,能自动完成计算任务的并行化处理,自动划分计算数据和计算任务,在集群节点上自动分配和执行任务以及收集计算结果,将数据分布存储、数据通信、容错处理等并行计算涉及到的很多系统底层的复杂细节交由系统负责处理,大大减少了软件开发人员的负担。
(3)MapReduce是一个并行程序设计模型与方法(Programming Model & Methodology)。它借助于函数式程序设计语言Lisp的设计思想,提供了一种简便的并行程序设计方法,用Map和Reduce两个函数编程实现基本的并行计算任务,提供了抽象的操作和并行编程接口,以简单方便地完成大规模数据的编程和计算处理 。
简言之: mapreduce是一种计算引擎,可以把我们对大批量数据的计算通过抽象成map与reduce两个子任务进行计算从而更快的得到想要的结果。
1.第一个mapreduce任务
目的: 通过使用官方自带的jar任务计算pi的值
准备工作:
# 启动hadoop集群
start-all.sh
# 进入hadoop自带mapreduce任务目录下
cd /share/hadoop/mapreduce
# 查看当前路径下的文件
ls

hadoop运行jar任务:
这次我们使用到的jar包是hadoop-mapreduce-examples-2.7.3.jar这个包
# 运行mapreduce任务
hadoop jar hadoop-mapreduce-examples-2.7.3.jar pi 5 100
//参数说明 pi + map数量 + reduce数量
运行日志:

运行结果:

本文介绍了MapReduce作为大数据并行处理的计算模型,详细阐述了MapReduce的三层含义,并通过实例展示了如何使用Python开发MapReduce任务,包括计算π值的第一个任务和统计单词数量的任务,强调了MapReduce支持多种语言开发的特点。

1415

被折叠的 条评论
为什么被折叠?



