【Java】MapReduce 程序五步走的思想详细描述
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 程序五步走的思想详细描述相关推荐
- 014 SQL注入魔鬼五步走
SQL注入魔鬼五步走 转载自:a1pass.blog.163.com 2007-06-24 22:55:32| 分类: 思绪燃星火--技 | 标签:技术随笔 黑客 注入攻击 [注:转载时清保留版权信息 ...
- 小学生学计算机步骤,小学生计算机入门“五步走”
小学生计算机入门"五步走" 新学期开始了,小学信息技术入门课在学生学习计算机的过程中非常关键,但由于理论知识颇多,学生听起来会感到很枯燥.笔者结合自己几年来的教学实践,谈一谈自己的 ...
- 提升工作效率五步走之后三步 2016-09-19 刘思佳 思佳真探
昨天老王和我们聊了提升工作效率五步走的前两步(分别是挖掘需求和制定方案),今天我又把老王约了出来喝茶,看看后三步怎么走? 第三步,提请决策 小王已经完成了所有的项目方案,就差找老王审批确认了.但小 ...
- MES管理系统的“五步走”策略,改善车间的管理模式
MES是应用在车间的软件系统,起着承上启下的作用.它上承公司级的ERP管理系统,获取计划.资源等数据,并与PLM.PDM.C3P等系统集成,获得BOM及工艺等数据.它下启底层控制系统,发送工作指令和回 ...
- 金融行业数据分类分级“五步走” | 盾见
文|查浩奇 <数据安全法>明确提出,国家要建立数据分类分级保护制度,根据数据在经济社会发展中的重要程度,以及一旦遭到篡改.破坏.泄露或者非法获取.非法利用,对国家安全.公共利益或者个人.组 ...
- 【VMware虚拟化解决方案】VMware私有云的“五步走”
说起私有云,相信大家应该都不会陌生,同时也会想到私有云的概念,在几年前,私有云通过虚拟化的技术就已经改变了传统企业的IT架构,全球各地的企业纷纷在其数据中心实施私有云,以扩大虚拟化优势,提高敏捷 ...
- java mapreduce程序_简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行...
[TOC] 简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行 程序源码 import java.io.IOException; import java.util. ...
- 提升工作效率五步走之前两步 2016-09-18 思佳真探
我03年毕业,工作也有13年了,也算个老司机了.中秋节那天,我找隔壁老王喝酒,我就问他,怎样工作才更有效率呢?老王趁着还没有喝多瞎逼逼,和我聊了如何迅速提升职场的工作效率,我挺佩服老王的牛逼,于是给老 ...
- TC按键脚本流程五步走
第一步:定义全局变量:hwnd .俗称句柄.再俗一点就是该窗口的编号. 代码: 变量 hwnd 第二步:脚本初始化: 代码: function init() hwnd = windowfind(&qu ...
最新文章
- 如何自学php框架,如何学习php框架
- linux逻辑盘大小,linux – 物理和逻辑盘区大小
- ip_vs实现分析(7)
- 树莓派+神经计算棒2实时人脸检测
- 两个很有用的进程间通信函数popen,pclose
- 设计模式笔记九:组合模式
- 带刺的下沉市场:小镇青年要的不止是9块9包邮
- ant脚本 变量赋值_【Jmeter】Jmeter+ant+jenkins持续集成
- SOA webservice
- Java TreeMap
- 软件工程专业知识体系
- 花式登录正方教务系统
- 中文分词软件包的使用
- Linux 并发与竞争
- webRTC(二十三):web远程androidandroid远程android的实现
- 【诺贝尔物理奖量子纠缠】启发:命由我作,福由我求
- 【JS】【掘金】看看你所有粉丝的掘友值排行榜
- 由于老是重装系统,今天记录一下重装系统后大学生要安装的软件
- 【项目实战案例分享】DMZ区防御体系技战法
- Norton推出基于云查杀免费小工具Norton Power Eraser
热门文章
- Bokeh库快速入门
- C语言scanf函数详解和示例
- openstack根据公网查不到路由_从零入门 Serverless | SAE 场景下,应用流量的负载均衡及路由策略配置实践...
- 谷歌也挖墙脚啊[抠鼻]
- Myeclipse学习总结(16)——MyEclipse CI 2018.8.0首次更新,全新来袭!(内附破解激活文件,亲测破解100%)
- Java基础学习总结(68)——有关Java线程方面的面试题
- linux dd 光标在闪,linux dd详解
- php 获取季度起始日期,php获取昨天、今天、上周、本周、上月、本月、上季度、本季度、今年的起始时间...
- 如何用python和flask以太坊智能合约开发
- 同一页面实现多个Tab选项卡功能