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设置预处理和后处理过程


  • 相关阅读:
    Shooting Algorithm
    Subgradient Algorithm
    Factorization Machine
    支持向量机
    Hashing Trick
    Science上发表的超赞聚类算法
    Contractive Auto-Encoder
    Shell之数学计算
    牛顿方法(Newton-Raphson Method)
    泊松回归(Poisson Regression)
  • 原文地址:https://www.cnblogs.com/fuhaots2009/p/3507580.html
Copyright © 2011-2022 走看看