欢迎投稿

今日深度:

hadoop --MapReduce,

hadoop --MapReduce,


    MapReduce 分布式计算,移动计算而不是移动数据

    步骤:split - map - shuffle - reduce

    split : 把数据切成片段(计算框架自动做)。split块的大小与block相同。

    Map : 跟程序员编写的代码相关。(java程序)

    shuffle : 合并、排序

    reduce : reduce 的个数由程序决定。

    当map输出的数据个数较多,reduce 就多。

    shuffle 的工作大多由mapreduce框架自动完成。

    解决数据倾斜:更改partition规则,每一个partition对应一个reduce去执行。

    合并(Combine)的目的:减少map的输出


    MapReduce架构:

    主JobTracker:负责调度分配每一个子任务task运行于TaskTracker上,如果发现有失败的task就重新分配其任务到其他节点。每一个hadoop集群只有一个JobTracker。一般它运行于Master节点上。

    从TaskTracker:TaskTracker主动与JobTracker通信,接收作业,并负责直接执行每一个任务,为了减少网络带宽TaskTracker最好运行在HDFS的DataNode上 (1.0版本有)

    Map(Mapper) + Reduce (Reducer)

    大量数据的并行计算:

    Map<key, value>    entry(条目)(key-value)

    key:行号,0为基址

    Map的输出是reduce的输入(数据格式一致,中间有shuffle)

    shuffle:洗牌、分组、排序


    

    


    

www.htsjk.Com true http://www.htsjk.com/Hadoop/41709.html NewsArticle hadoop --MapReduce,     MapReduce 分布式计算,移动计算而不是移动数据     步骤:split - map - shuffle - reduce     split : 把数据切成片段(计算框架自动做)。split块的大小与block相同。  ...
相关文章
    暂无相关文章
评论暂时关闭