1.MapReduce 的计算过程

 =》分布式计算模型=》input=》mapper=》shuffle=》reducer=》output

2…YARN分布式:主从
ResourceManager:特点—》资源管理、任务调度、管理从节点
NodeManager
下面是.MapReduce程序执行过程

比如我有以下两行数据:
Hadoop hive spark     hive spark HBASE
(1)input-》默认从HDFS中读取数据----》FileInputFormat-》将每一行转成keyvalue-》输出:<行偏移量,行内容>key  value0      Hadoop hive spark17     hive spark HBASE
(2)mapper-》输入:input输出<LongWritable,Text>-》map:方法,一行调用一次针对每一个行进行分割输出:key             valueHadoop 1       reduce1hive 1       reduce2spark    1       reduce1hive 1       reduce2spark    1       reduce1HBASE    1       reduce1
(3)shuffle:分区,分组,排序输出:key     valueHadoop <1>           HBASE   <1>hive   <1,1>spark    <1,1>
(4)reduce阶段:
reduce方法:每一条keyvalue调用一次reduce方法、将相同key的值List<value>,进行了相加求和输入:key      valueHadoop <1>HBASE  <1>hive   <1,1>spark    <1,1>输出:key        valueHadoop  1HBASE  1hive   2spark      2
(5)output:输出:默认将reduce的输出写入到hdfsFileOutputFormat

除此之外,我们还可以自定义数据类型以及开发模板的设计

MapReduce开发模板:POJO:没有继承类也没有实现任何接口,不继承也不实现继承及实现:extends Configured implements Tool官方推荐:不继承只实现---》implements Tool企业中用的比较多,一般Configured需要自定义一些配置,
自定义数据类型 ----》基本数据类型:IntWritable,LongWritable、Text、NullWritable和java类型的转换:int-->set--->  IntWritable          IntWritable    -->get--->intMap阶段:输入:如上述相同输出:key        valuehive   0   1Hadoop 0   1spark  0   1HBASE  0   1hive   0   1spark  0   1
reduce:输入:Hadoop  0   <1>HBASE  0   <1>hive   0   <1,1>spark    0   <1,1>输出:Hadoop     1   1HBASE  1   1hive   2   2spark  2   2<key,value>-》implements WritableComparable-》定义成员变量,及get,set-》序列化和反序列,顺序必须一致-》compareTo-》构造方法,带参数和无参-》setAllValue-》toString

以上就是MapReduce的实现步骤,希望可以得到各位的指点。

【Java】MapReduce 程序五步走的思想详细描述相关推荐

  1. 014 SQL注入魔鬼五步走

    SQL注入魔鬼五步走 转载自:a1pass.blog.163.com 2007-06-24 22:55:32| 分类: 思绪燃星火--技 | 标签:技术随笔 黑客 注入攻击 [注:转载时清保留版权信息 ...

  2. 小学生学计算机步骤,小学生计算机入门“五步走”

    小学生计算机入门"五步走" 新学期开始了,小学信息技术入门课在学生学习计算机的过程中非常关键,但由于理论知识颇多,学生听起来会感到很枯燥.笔者结合自己几年来的教学实践,谈一谈自己的 ...

  3. 提升工作效率五步走之后三步 2016-09-19 刘思佳 思佳真探

    昨天老王和我们聊了提升工作效率五步走的前两步(分别是挖掘需求和制定方案),今天我又把老王约了出来喝茶,看看后三步怎么走? 第三步,提请决策   小王已经完成了所有的项目方案,就差找老王审批确认了.但小 ...

  4. MES管理系统的“五步走”策略,改善车间的管理模式

    MES是应用在车间的软件系统,起着承上启下的作用.它上承公司级的ERP管理系统,获取计划.资源等数据,并与PLM.PDM.C3P等系统集成,获得BOM及工艺等数据.它下启底层控制系统,发送工作指令和回 ...

  5. 金融行业数据分类分级“五步走” | 盾见

    文|查浩奇 <数据安全法>明确提出,国家要建立数据分类分级保护制度,根据数据在经济社会发展中的重要程度,以及一旦遭到篡改.破坏.泄露或者非法获取.非法利用,对国家安全.公共利益或者个人.组 ...

  6. 【VMware虚拟化解决方案】VMware私有云的“五步走”

     说起私有云,相信大家应该都不会陌生,同时也会想到私有云的概念,在几年前,私有云通过虚拟化的技术就已经改变了传统企业的IT架构,全球各地的企业纷纷在其数据中心实施私有云,以扩大虚拟化优势,提高敏捷 ...

  7. java mapreduce程序_简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行...

    [TOC] 简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行 程序源码 import java.io.IOException; import java.util. ...

  8. 提升工作效率五步走之前两步 2016-09-18 思佳真探

    我03年毕业,工作也有13年了,也算个老司机了.中秋节那天,我找隔壁老王喝酒,我就问他,怎样工作才更有效率呢?老王趁着还没有喝多瞎逼逼,和我聊了如何迅速提升职场的工作效率,我挺佩服老王的牛逼,于是给老 ...

  9. TC按键脚本流程五步走

    第一步:定义全局变量:hwnd .俗称句柄.再俗一点就是该窗口的编号. 代码: 变量 hwnd 第二步:脚本初始化: 代码: function init() hwnd = windowfind(&qu ...

最新文章

  1. 如何自学php框架,如何学习php框架
  2. linux逻辑盘大小,linux – 物理和逻辑盘区大小
  3. ip_vs实现分析(7)
  4. 树莓派+神经计算棒2实时人脸检测
  5. 两个很有用的进程间通信函数popen,pclose
  6. 设计模式笔记九:组合模式
  7. 带刺的下沉市场:小镇青年要的不止是9块9包邮
  8. ant脚本 变量赋值_【Jmeter】Jmeter+ant+jenkins持续集成
  9. SOA webservice
  10. Java TreeMap
  11. 软件工程专业知识体系
  12. 花式登录正方教务系统
  13. 中文分词软件包的使用
  14. Linux 并发与竞争
  15. webRTC(二十三):web远程androidandroid远程android的实现
  16. 【诺贝尔物理奖量子纠缠】启发:命由我作,福由我求
  17. 【JS】【掘金】看看你所有粉丝的掘友值排行榜
  18. 由于老是重装系统,今天记录一下重装系统后大学生要安装的软件
  19. 【项目实战案例分享】DMZ区防御体系技战法
  20. Norton推出基于云查杀免费小工具Norton Power Eraser

热门文章

  1. Bokeh库快速入门
  2. C语言scanf函数详解和示例
  3. openstack根据公网查不到路由_从零入门 Serverless | SAE 场景下,应用流量的负载均衡及路由策略配置实践...
  4. 谷歌也挖墙脚啊[抠鼻]
  5. Myeclipse学习总结(16)——MyEclipse CI 2018.8.0首次更新,全新来袭!(内附破解激活文件,亲测破解100%)
  6. Java基础学习总结(68)——有关Java线程方面的面试题
  7. linux dd 光标在闪,linux dd详解
  8. php 获取季度起始日期,php获取昨天、今天、上周、本周、上月、本月、上季度、本季度、今年的起始时间...
  9. 如何用python和flask以太坊智能合约开发
  10. 同一页面实现多个Tab选项卡功能