hadoop 8步走
1.1读取hdfs中的文件。每一行解析成一个<k,v>。每一个键值对调用一次map函数 解析成2个<k,v>,分别是<0, hello you><10, hello me>。调用2次map函数。
1、读文件解析 <k1,v1>
1.2 覆盖map(),接收1.1产生的<k,v>,进行处理,转换为新的<k,v>输出 public void map(k, v, ctx){
String[] splited = v.split("\t");
2、覆盖map,原始k、v 变新k、v for(String word : splited){
ctx.write(word, 1);
}
1.3 对1.2输出的<k,v>进行分区。默认分为1个区。 }
3、 <k,v>进行分区 <k2,v2>
1.4 对不同分区中的数据进行排序(按照k)、分组。分组指的是相同key的value放到一个集合中。 map输出后的数据是:<hello,1>,<you,1>,<hello,1>,<me,1>
4、k、v排序、分组 排序后是:<hello,1>,<hello,1>,<me,1>,<you,1>
分组后是:<hello,{1,1}>,<me,{1}>,<you,{1}>
1.5 (可选)对分组后的数据进行规约。
5、规约
2.1 多个map任务的输出,按照不同的分区,通过网络copy到不同的reduce节点上。
6、map输出到reduce //reduce函数被调用的次数是3
2.2 对多个map的输出进行合并、排序。覆盖reduce函数接收的是分组后的数据, public void reduce(k,vs, ctx){
实现自己的业务逻辑,处理后,产生新的<k,v>输出。 long sum = 0L;
for(long times : vs){
7、合并、排序 sum += times;
}
ctx.write(k, sum);
}
<k3,v3>
2.3 对reduce输出的<k,v>写到hdfs中。 hello 2
me 1
8、k、v写回hdfs you 1
hadoop 8步走的更多相关文章
- JAVA EE企业级开发四步走完全攻略 [转]
http://bbs.51cto.com/thread-550558-1.html 本文是J2EE企业级开发四步走完全攻略索引,因内容比较广泛,涉及整个JAVA EE开发相关知识,这是一个长期的计划, ...
- git 三步走
git三步走: git add . (注:别忘记后面的.,此操作是把Test文件夹下面的文件都添加进来) git commit -m "提交信息" (注:“提交 ...
- 关于pythoh面向过程开发人员三步转面向对象的补充,再加一步,四步走战略。转面向对象也可以有固定公式。
前言: oop非常非常非常重要.搞不懂oop,就玩不了python,就算能写也一定是写代码时候喜欢靠猜瞎猫碰死老鼠写得心很虚.为什么这么说呢,我也是从面向过程编程到死走过来的,一路def到死,一看到有 ...
- 【JAVA EE企业级开发四步走完全攻略】
本文是J2EE企业级开发四步走完全攻略索引,因内容比较广泛,涉及整个JAVA EE开发相关知识,这是一个长期的计划,单个发blog比较零散,所以整理此索引,决定以后每发一季JAVA EE blog后会 ...
- Python学习笔记(一)三步走安装pip
pip是用来方便地管理Python的第三方包的,由于此前玩Python仅仅是浅尝辄止,用的是python(x,y),但是这里并不代表你想用什么包都能从里面找到的,所以我把python(x,y)卸了,然 ...
- Knative 实战:三步走!基于 Knative Serverless 技术实现一个短网址服务
短网址顾名思义就是使用比较短的网址代替很长的网址.维基百科上面的解释是这样的: 短网址又称网址缩短.缩短网址.URL 缩短等,指的是一种互联网上的技术与服务,此服务可以提供一个非常短小的 URL 以代 ...
- CentOS下nagios报警飞信部署四步走
CentOS下nagios报警飞信部署四步走 今天 帮群里一兄弟配了下nagios上的飞信,这个东西 我个人感觉还是很实用的,不过好久没配了,今天配置了一遍,顺便 就把过程记录下来了,供大家学习! ...
- C#WPF数据绑定模板化操作四步走
前言:WPF数据绑定对于WPF应用程序来说尤为重要,本文将讲述使用MVVM模式进行数据绑定的四步走用法: 具体实例代码如下: 以下代码仅供参考,如有问题请在评论区留言,谢谢 1 第一步:声明一个类用来 ...
- 原生js之四步走搞定Ajax
说到Ajax,不得不先提一下HTTP(HTTP,HyperText Transfer Protocol)协议,中文名:超文本传输协议,是互联网上应用最为广泛的一种网络协议.所有的WWW文件 ...
随机推荐
- Kafka的配置文件详细描述
在kafka/config/目录下面有3个配置文件: producer.properties consumer.properties server.properties (1).producer.pr ...
- 转!!java中关键字volatile的作用
用在多线程,同步变量. 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B.只在某些动作时才进行A和B的同步.因此存在A和B不一致的情况.volatile就是用来 ...
- openfire控制台登录不了的解决
不知道为什么,openfire服务器后台,发生几次密码都登录不上去的问题,密码肯定没错,第一次就是默认的用户名:admin,密码:admin,然,第三天,说我密码错误,后来重装软件才弄好, 然后又发生 ...
- Hbase之测试数据
info ship user name age height phone addr email dept salary create 'user','info','ship'; put 'user', ...
- Hbase之缓存扫描加快读取速度
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; impo ...
- phalcon: dispatcher调度控制器
phalcon: dispatcher调度控制器 我所理解的dispatcher调度控制器,实际上是对 router或者特定的url参数给与重组. 引用特定的类: //add use Phalcon\ ...
- jquery 学习
地址:http://www.w3school.com.cn/jquery/jquery_dom_add.asp
- windows+tomcat 7配置二级域名访问其他web程序
1.在域名管理中做好二级域名的解析 2.在tomcat的server.xml中增加如下: <Host name="wx.ai77.cn" debug="0" ...
- CSS:static/relative/absolute
static - default and this is the FLOW. ------------------------------------------------------------- ...
- IE10 CSS hack,IE兼容问题
IE10 CSS hack,IE兼容问题 作者: 雪影 发表于2013 年 4 月 25 日 分类:技术分享 | 暂无评论 | 人气: 376 度 首先,ie10不支持条件注释了. 方法一:特性检测: ...