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


    

    


    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值