照着《hadoop权威指南》往下走,在9.6案例中,出现了一个IntPair类,在后续有讲到,跟之前的TextPair类似,但并没有详细说明。这里给出IntPair类。
import org.apache.hadoop.io.WritableComparable;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
* 数据类型,记录年份和气温,合并成一个键
public class IntPair implements WritableComparable<IntPair> {
int first;
int second;
public IntPair() {
* @param first
* @param second
public IntPair(int first, int second) {
super();
this.first = first;
this.second = second;
* 依次将每个int对象序列化到输入流中
* @param out
* @throws IOException
@Override
public void write(DataOutput out) throws IOException {
out.writeInt(first);
out.writeInt(second);
* 查看(填充)各个字段的值
* @param in
* @throws IOException
@Override
public void readFields(DataInput in) throws IOException {
first = in.readInt();
second = in.readInt();
@Override
public int compareTo(IntPair pair) {
int cmpFirst=Integer.valueOf(first).compareTo(pair.first);
if (cmpFirst != 0) {
return cmpFirst;
} else{
return Integer.valueOf(second).compareTo(pair.second);
@Override
public int hashCode() {
return first * 163 + second;
@Override
public boolean equals(Object obj) {
if(obj instanceof IntPair){
IntPair ip=(IntPair)obj;
return first == ip.getFirst() && second ==ip.getSecond();
return false;
public int getFirst() {
return first;
public int getSecond() {
return second;
* 这里决定了最终写到文件里的内容
* @return
@Override
public String toString() {
return first+"\t"+ second;
* 案例中用到的compare方法
* @param first1
* @param first2
* @return
public static int compare(int first1, int first2) {
return Integer.valueOf(first1).compareTo(first2);
Pair类型(里面有两个数据成员的类)pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下:pair<int,string>a;表示a中有两个...
来自: pxlsdz的博客
前言:看的本来是《Hadoop权威指南(第三版)》中译本,结果各种翻译错误、语法错误、概念混淆,不胜枚举,只好对比着英文版第四版一起看。举个例子,key group被翻译成了码组。。你是要拜神?明明后...
来自: blwinner的专栏
1、自定义bean中的CopmareTo()public class KeyPair implements WritableComparable&lt;KeyPair&...
来自: 奋斗吧_-小青年
MR默认会对键进行排序,然而有的时候我们也有对值进行排序的需求。满足这种需求一是可以在reduce阶段排序收集过来的values,但是,如果有数量巨大的values可能就会导致内存溢出等问题,这就是二...
编译hadoop-2.6.0首先,一开始的问题是在学习《hadoop权威指南》的时候学到了压缩这节,就去了解了一下压缩需要安装类库,hadoop-2.6.0/lib/native库里面有东西,hado...
来自: wzyhahaha的博客
题目链接:http://codeforces.com/problemset/problem/190/C题目大意:输入中只会出现pair和int的字符串,要求按照给出pair和int的顺序,添加'' ,...
来自: Go.To.AC的专栏
一、pair简介pair是一个含有两个数据的数据组,可以看作结构体:struct pair{ Etype first: Etype second;};其中Etype是用户自己设置的数据类型...
来自: 卑鄙的我
输入int个数和字符串请添加""将字符串匹配如果不能匹配,请输出:"Error occured"例如:输入:3pair pair int int int输出:pair,int>输入:1pair int...
来自: Angelof7的专栏
前言:对于二次排序,定义是在一个字段排好顺序的前提下,另外一个字段也进行排序。类似于sql中的order by多个字段,然而,网上大多数二次排序,对于partitioner都没有利用,因为网上的par...
来自: 翟开顺
默认情况下,Map输出的结果会对Key进行默认的排序,但是有时候需要对Key排序的同时还需要对Value进行排序,这时候就要用到二次排序了。下面我们来说说二次排序1、二次排序原理 我们把二次排序分为以...
1.TextPairpublic class TextPair implements WritableComparable { private Text first; private Text s...
来自: y七心海棠的专栏
二次排序思路分析试验数据 100 12100 23100 9101 32101 30 99 2399 202.定义数据类型intpair,第一个数字为first,第二个数字为secondpublic ...
来自: csdn问鼎
在hadoop中,已将很多的Writable类封装归入org.apache.hadoop.io包中,具体继承关系如下(图片转自https://www.cnblogs.com/wuyudong/p/...
来自: MaloFleur
generateNewIdentifier()返回系统当前时间字符串,如"201307032019"metrics system :度量系统,是用于计量某个事物的各个可测量属性的多个计量单元的集合。而...
来自: alain898的专栏
今天照着书写了一个hadoop二次排序的例子,但是一直报这个错误,查了一天都没看出来哪儿错了,小弟菜鸟一个,希望大牛们帮忙看一下。 实现了一个IntPair类作为key: public class I
一、writable接口二、使用1、常规不讲例如:BooleanWritable、IntWritable、Text等,可通过构造器或者set方法创建,get方法获得。2、IntWritable、Lon...
来自: yancychas的博客
为map方法的key构造一个复合类public static class IntPair implements WritableComparable { int first; ...
来自: lqf的专栏
MapReduce框架在把记录到达reducers之前会将记录按照键排序。对于任意一个特殊的键,然而,值是不排序的。甚至是,值在两次执行中的顺序是不一样的,原因是它们是从不同的map中来的,这些不同的...
假设:HDFS上有2个文件,分别是客户信息和订单信息,customerID是它们之间的关联字段。如何进行关联计算,以便将客户名称添加到订单列表中? 一般方法是:输入2个源文件。根据文件名在Map...
来自: hezhixue的Blog
hadoop中的Text类,跟java中的String类很相似,在其定义的方法上,也多有相近之处,当然,由于用途的不同,两者之间还是有很大的区别的,那么,在分析Text类之前,先来回顾下java.la...
来自: 海兰
Writable类Hadoop将许多Writable类归入org.apache.hadoop.io包。形成如下图所示的类层次结构。Writable的Java基本类封装除char类型以外,所有的原生类型...
来自: weixin_34102807的博客
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私......
来自: 爱开发
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和...
来自: 敖丙
作者 |胡书敏责编 | 刘静出品 | CSDN(ID:CSDNnews)本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。...
来自: CSDN资讯
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。表砍我。。。当时买mac的...
来自: qq_45036710的博客
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis原本是apache的一个开源项目iBatis, 2010年该项目由apache software fo...
来自: 谷哥的小弟
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗?上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。我接的私活不算多,挣到的钱也没...
来自: 沉默王二
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm...
来自: qq_43764365的博客
前奏:今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。以下就是他的简历和面试情况。基本情况:专业技能:1、 熟悉Sping了解SpringMVC、SpringBoo...
来自: HarderXin的专栏
爬虫,从本质上来说,就是利用程序在网上拿到对我们有价值的数据。爬虫能做很多事,能做商业分析,也能做生活助手,比如:分析北京近两年二手房成交均价是多少?广州的Python工程师平均薪资是多少?北京哪家餐...
来自: LoraRae的博客
每周每日,分享Python实战代码,入门资料,进阶资料,基础语法,爬虫,数据分析,web网站,机器学习,深度学习等等。公众号回复【进群】沟通交流吧,QQ扫码进群学习吧微信群 QQ群 1.画圣诞树imp...
来自: Python家庭的博客
CPU对每个程序员来说,是个既熟悉又陌生的东西?如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎...
来自: 编码之外的技术博客
一、背景二、爬取数据三、数据分析1、总人口2、男女人口比例3、人口城镇化4、人口增长率5、人口老化(抚养比)6、各省人口7、世界人口四、遇到的问题遇到的问题1、数据分页,需要获取从1949-2018年...
来自: 猪哥
1.Javascript 语法.用途javascript 在前端网页中占有非常重要的地位,可以用于验证表单,制作特效等功能,它是一种描述语言,也是一种基于对象(Object)和事件驱动并具有安全性的脚...
来自: weixin_44924238的博客
今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,...
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。
但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有...
灰鸽子( Huigezi),原本该软件适用于公司和家庭管理,其功能十分强大,不但能监视摄像头、键盘记录、监控桌面、文件操作等。还提供了黑客专用功能,如:伪装系统图标、随意更换启动项名称和表...
目前每天各大平台,如腾讯、今日头条都会更新疫情每日数据,他们的数据源都是一样的,主要都是通过各地的卫健委官网通报。
以全国、湖北和上海为例,分别为以下三个网站:
国家卫健委官网:http://w...
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!!
最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈...
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以We...
本文知识点较多,篇幅较长,请耐心学习
MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降...
我本人因为高中沉迷于爱情,导致学业荒废,后来高考,毫无疑问进入了一所普普通通的大学,实在惭愧????
我又是那么好强,现在学历不行,没办法改变的事情了,所以,进入大学开始,我就下定决心,一定要让自己掌...
1.Matlab实现粒子群算法的程序代码:https://www.cnblogs.com/kexinxin/p/9858664.html
matlab代码求解函数最优值:https://blog.cs...
很多人知道爬虫,也很想利用爬虫去爬取自己想要的数据,那么爬虫到底怎么用呢?今天就教大家编写一个简单的爬虫。
下面以爬取笔者的个人博客网站为例获取第一篇文章的标题名称,教大家学会一个简单的爬虫。
第一步...
作者:隋顺意
一段时间前,自己制作了一个库 “sui-math”。这其实是math的翻版。做完后,python既然可以轻易的完成任何的数学计算,何不用python开发一个小程序专门用以计算呢?
现在我...
本篇博客大部分内容摘自埃里克·马瑟斯所著的《Python编程:从入门到实战》(入门类书籍),采用举例的方式进行知识点提要
关于Python学习书籍推荐文章 《学习Python必备的8本书》
Pytho...
明天就是情人节了。这个情人节,注定是一个不能约会的情人节,但不能约会不代表不能浪漫。古人比我们出生早,那些浪漫的诗词早都被他们挖掘一空,比诗词我们肯定没有机会了。好在我们还有Python,不然都不知道...
计算机考研指导建议背景开始备考时间学校选择复习计划学科复习考研资料和平台心得杂杂答疑
我是广东双非本科计算机类专业,大一高数没学好,英语在大四最后一次考试里过了6级,专业课掌握情况尚好。...
国内的普通开发者对于掌握一门新的技术不知道从哪里下手,看哪些书。为了获得相关知识会关注各种公众号、购买各种视频课程来学习,但由于这些内容本身有碎片化的特点,效果往往不太理想。以至于付出了大量的时间到最...