博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MapReduce模型探究--总览
阅读量:4113 次
发布时间:2019-05-25

本文共 640 字,大约阅读时间需要 2 分钟。

先从宏观上了解一下MR运行机制。

两个干活的:

(1)jobtracher:管理和调度job

(2)tasktracher: 执行job划分后的task

client提交MR作业后,jobtracher对作业进行调度,并分配给tasktracher去执行,tasktracher和jobtracher间通过心跳(heartbear)来通信。

MR过程:

每个MR任务被初始化为一个job,job分为Map阶段和Reduce阶段,数据传输都是以<key,value>形式。

个人理解:Map阶段主要做对数据的处理,例如对单词的分割,为Reduce阶段做准备。

Reduce阶段,主要做对加工过的数据做统计和自己的业务逻辑。

MR这个模型还是蛮简单的,其中还有很多奥妙的地方,设计的很棒。

一些经验:

1、性能调优

输入采用大文件,可以使用CombineFileInputFormat

2、较复杂的MR函数处理

<1>setup函数:task之前的全局操作。

<2>cleanup函数:task之后的操作。

<3>run函数:控制mr。

3、多个job的情况

<1>可以顺序执行,起一个job的输出作为后一个的输入

<2>借助controlledJob和JobContral类

<3>Job设置预处理和后处理过程

Hadoop MapReduce 对外提供了5个可编程组件,分别是InputFormat、Mapper、partitioner、Reducer和OutputFormat。

转载地址:http://ljrsi.baihongyu.com/

你可能感兴趣的文章
iOS开发内存分析方法
查看>>
Swift查看断点变量方法
查看>>
Swift 单例写法
查看>>
<iOS开发兼容问题>关于IOS6和IOS5旋屏问题
查看>>
<iOS>响应事件传递, nextResponder研究
查看>>
iOS 简单动画效果
查看>>
< iOS >CABasicAnimation用法
查看>>
<iOS> 谈谈iOS Animation
查看>>
<iOS>动画组CAAnimationGroup
查看>>
关于iOS App的切图
查看>>
Mac&iOS之多线程
查看>>
Blocks编程
查看>>
COREANIMATION中如何自定义动画属性
查看>>
什么是CALayer?
查看>>
MPMoviePlayerController的一些用法
查看>>
自定义MPMoviePlayerController的界面
查看>>
iphone线程中使用异步网络的问题,以及如何用NSRunLoop来解决
查看>>
详解在IOS后台执行
查看>>
在iphone上创建小型服务器,并且让其处于后台的时候服务器仍然处于运行状态
查看>>
UIApplication对象及其代理UIApplicationDelegate[转]
查看>>