MapReduce 学习(一)

出生

在大数据时代,需要解决的两大问题是大规模数据的高效存储和计算;在Hadoop生态中对应的就是HDFS和MapReduce。
MapReduce 是分布式并行编程模型,最早由Google提出,而Hadoop是对其的开源,降低了程序员的开发门槛;

组成

MapReduce 模型的核心是两大函数:Map 函数和Reduce 函数。

设计理念

“计算向数据靠拢”,因为移动数据需要消耗大量的网络开销,尤其在大数据的情况下尤为惊人;所以,MapReduce框架会将Map程序就近地在HDFS所在的数据节点进行运行(计算与存储一起),从而减少数据移动的开销;

工作流

MapReduce 的核心思想是“分而治之”,即将大数据集切分成多个小数据块在多台机器上并行处理,最后汇总聚合出结果的过程;
下面介绍下基本的执行过程:
(1)使用InputFormat模块做Map前的预处理,然后将输入的文件切分成逻辑上的InputSplit,InputSplit是MR对文件进行处理和运算的输入单位,记录了要处理数据的位置和长度;
(2)通过RecordReader(RR)根据InputSplit中的信息来处理具体的记录,加载数据并转换为合适Map任务读取的键值对,输入给Map;
(3)Map任务根据用户定义的映射规则,输出一系列的<key,value>作为中间结果;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值