zoukankan      html  css  js  c++  java
  • MapReduce模型探究--总览

    先从宏观上了解一下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设置预处理和后处理过程


  • 相关阅读:
    【转】字典转模型需要注意的问题,以及第三方框架来处理字典转模型
    【转】使用SOAP访问Web服务
    Foundation框架2
    Foundation框架1
    什么是Protocol
    什么是Block
    什么么是Category
    ARC
    autorelease简介
    循环retain
  • 原文地址:https://www.cnblogs.com/fuhaots2009/p/3507580.html
Copyright © 2011-2022 走看看