美文网首页
Hadoop之 MapReduce的原理简介

Hadoop之 MapReduce的原理简介

作者: Zero兴 | 来源:发表于2018-09-18 11:50 被阅读0次

    近来由于工作的需要,以前学过的Hadoop又重新回顾了一遍,为以后更好的了解,特写下该文章,以留作笔记,深知操作猛如虎,先从概念来讲起。

    流程简介:

    1.重写 JobConfigurable.configure(JobConf)方法,这个方法需要传递一个JobConf参数<JobConf 描述Map/Reduce如何执行的主要接口>,目的是完成Mapper的任务初始化工作;

    2.之后框架使用IputSplit对每个键值对调用一次 map(WritableComparable, Writable, OutputCollector, Reporter)操作;

    3.因为数据在hadoop上是以块为单位存储的,所以使用Partitioner控制map输出结果key的分割,产生一个个分区,分区的数目与一个作业的reduce任务的数目是一样的;

    4.map已经将数据分组排好之后,shuffle为每个Reducer获得所有Mapper输出中与之相关的分块;sort按照key的值对Reducer的输入进行分组 ;

    Shuffle和Sort两个阶段是同时进行的,map的输出也是一边被取回一边被合并的;

    5.对每个输入键值对调用一次 reduce(WritableComparable, Iterator, OutputCollector, Reporter)方法,Reduce任务的输出通常是通过调用 OutputCollector.collect(WritableComparable, Writable)写入 文件系统的。

    6.Reporter报告进度,设定应用程序级别的状态消息,更新Counters(计数器), 表明进程正常;

    总结: map对数据组进行分组排序,均匀分布到每个数据节点,之后reducer调用计算任务程序,并将最终的计算结果输出;

    各位看客,如果发现有何描述不准确的,定要指出哦,相互学习,个人博客https://www.onexing.cn

    相关文章

      网友评论

          本文标题:Hadoop之 MapReduce的原理简介

          本文链接:https://www.haomeiwen.com/subject/ntqunftx.html