大数据Hadoop之MR(Map与Reduce)

1. MapRedue的认识

MapReduce是一个分布式运算程序的编程框架,是Hadoop数据分析的核心框架。

2.MR的优缺点

优点
1.易于编程
简单实现一些接口,便可完成一个分布式程序
2.良好的扩展性
计算资源得不到满足的时候,可以简单的增加机器来扩展计算能力(增加的机器不用太好,普普通通就可以了)
3.高容错性
在进行运算的时候,其中一台机器发生损坏,可以把上面的计算任务转移到另外的一个节点上运行,不会导致任务运行失败
4.适合PB级别以上的海量数据的离线处理
可以实现上前台服务器的并发工作(几千台或者几万台,乖乖~~ 厉害的一批!!)
缺点
1.不擅长实时计算(老版框架,实时的基本都采用Fink)
2.不擅长流式计算-要求传入的数据必须是静态的,就是已经保存好的数据,不能在进行运算的时候对数据增删改
3.不擅长DAG计算-就是说多个程序在进行计算,某一个程序需要另外一个程序的数据结果,但是在MR中必须是先进行计算后,将结果保存好,才能将结果传递出去,这个过程必然存在大量的IO操作,时间肯定要慢很多

3.MapReduce(MR)

MR核心思想
在这里插入图片描述 简单描述下操作流程:给出一个需求(统计给出文件中首字母都是(a-p)的单词,和(q-z)的单词),MR主要分为两大大的阶段(Map以及Reduce阶段):
Map阶段根据传入的数据进行切片处理,一般以128M作为阈值,比如200M的文件经过切片处理之后则会分为2块,那么此时在Map阶段则会产生两个MapTask(MapTask用来对数据进行处理,同时还会将切片处理的数据进行分区处理,将(a-p)的单词放在一个区,将(q-z)的单词放在一个区),之后则将该阶段处理好的数据进行到第二阶段Reduce,在这一阶段主要是将最终的需求与最终的数据进行打包汇总,得到最为完整且正确的结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值