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:洗牌、分组、排序


    

    


    

阅读更多
个人分类: hadoop
上一篇操作系统学习笔记--进程同步(生产者-消费者问题)
下一篇操作系统学习笔记--进程同步(哲学家进餐问题)
想对作者说点什么? 我来说一句

Hadoop技术内幕mapreduce.pdf

2017年05月03日 63.46MB 下载

大数据 hadoop mapreduce 词频统计

2016年10月23日 5KB 下载

最高气温 map reduce hadoop 实例

2016年06月20日 11KB 下载

mapreduce实战

2018年03月03日 320KB 下载

没有更多推荐了,返回首页

关闭
关闭