- 博客(11)
- 资源 (60)
- 收藏
- 关注
原创 hadoop编程小技巧(9)---二次排序(值排序)
代码测试环境:Hadoop2.4应用场景:在Reducer端一般是key排序,而没有value排序,如果想对value进行排序,则可以使用此技巧。应用实例描述:比如针对下面的数据:a,5b,7c,2c,9a,3a,1b,10b,3c,1如果使用一般的MR的话,其输出可能是这样的:a 1a 3a 5b 3b 10b 7c 1c 9c 2从数据中可以看到其键是排序的,但
2014-07-30 16:45:59 4844
原创 hadoop编程小技巧(8)---Unit Testing (单元测试)
所需环境:Hadoop相关jar包(下载官网发行版即可);下载junit包(最新为好);下载mockito包;下载mrunit包;下载powermock-mockito包;相关包截图如下:应用场景:在进行Hadoop的一般MR编程时,需要验证我们的业务逻辑,或者说是验证数据流的时候可以使用此环境,这个环境不要求真实的云平台,只是针对算法或者代码逻辑进行验证,方便调试代码。实例:Mapper:pac
2014-07-29 13:31:16 3487
原创 hadoop编程小技巧(7)---自定义输出文件格式以及输出到不同目录
代码测试环境:Hadoop2.4应用场景:当需要定制输出数据格式时可以采用此技巧,包括定制输出数据的展现形式,输出路径,输出文件名称等。Hadoop内置的输出文件格式有:1)FileOutputFormat 常用的父类;2)TextOutputFormat 默认输出字符串输出格式;3)SequenceFileOutputFormat 序列化文件输出;4)MultipleOutputs 可以把输出
2014-07-24 13:28:15 6464 1
原创 hadoop编程小技巧(6)---处理大量小数据文件CombineFileInputFormat应用
代码测试环境:Hadoop2.4应用场景:当需要处理很多小数据文件的时候,可以应用此技巧来达到高效处理数据的目的。原理:应用CombineFileInputFormat,可以把多个小数据文件在进行分片的时候合并。由于每个分片会产生一个Mapper,当一个Mapper处理的数据比较小的时候,其效率较低。而一般使用Hadoop处理数据时,即默认方式,会把一个输入数据文件当做一个分片,这样当输入文件较小
2014-07-23 11:09:02 3575
原创 hadoop编程小技巧(5)---自定义输入文件格式类InputFormat
Hadoop代码测试环境:Hadoop2.4应用:在对数据需要进行一定条件的过滤和简单处理的时候可以使用自定义输入文件格式类。Hadoop内置的输入文件格式类有:1)FileInputFormat这个是基本的父类,我们自定义就直接使用它作为父类;2)TextInputFormat这个是默认的数据格式类,我们一般编程,如果没有特别指定的话,一般都使用的是这个;key代表当前行数据距离文件开始的距离,
2014-07-22 13:37:33 8544 4
原创 Mahout贝叶斯算法拓展篇3---分类无标签数据
代码测试环境:Hadoop2.4+Mahout1.0前面博客:mahout贝叶斯算法开发思路(拓展篇)1和mahout贝叶斯算法开发思路(拓展篇)2 分析了Mahout中贝叶斯算法针对数值型数据的处理。在前面这两篇博客中并没有关于如何分类不带标签的原始数据的处理。下面这篇博客就针对这样的数据进行处理。最新版(适合Hadoop2.4+mahout1.0环境)源码以及jar包可以在这里下载:下载后参考
2014-07-20 14:31:35 4292 7
原创 hadoop编程小技巧(4)---全局key排序类TotalOrderPartitioner
Hadoop代码测试版本:Hadoop2.4原理:在进行MR程序之前对输入数据进行随机提取样本,把样本排序,然后在MR的中间过程Partition的时候使用这个样本排序的值进行分组数据,这样就可以达到全局排序的目的了。难点:如果使用Hadoop提供的方法来实现全局排序,那么要求Mapper的输入、输出的key不变才可以,因为在源码InputSampler中提供的随机抽取的数据是输入数据最原始的ke
2014-07-18 14:05:59 4273 1
原创 hadoop编程小技巧(3)---自定义分区类Partitioner
Hadoop代码测试环境:Hadoop2.4原理:在Hadoop的MapReduce过程中,Mapper读取处理完成数据后,会把数据发送到Partitioner,由Partitioner来决定每条记录应该送往哪个reducer节点,默认使用的是HashPartitioner,其核心代码如下:/** Use {@link Object#hashCode()} to partition. */ p
2014-07-17 13:20:17 3246 1
原创 hadoop编程小技巧(2)---计数器Counter
Hadoop代码测试版本:2.4应用场景:在Hadoop编程的时候,有时我们在进行我们算法逻辑的时候想附带了解下数据的一些特性,比如全部数据的记录数有多少,map的输出有多少等等信息(这些是在算法运行完毕后,直接有的),就可以使用计数器Counter。如果是针对很特定的数据的一些统计,比如统计以1开头的所有记录数等等信息,这时就需要自定义Counter。自定义Counter有两种方式,第一种,定义
2014-07-16 17:30:50 2820
原创 hadoop编程小技巧(1)---map端聚合
测试hadoop版本:2.4 Map端聚合的应用场景:当我们只关心所有数据中的部分数据时,并且数据可以放入内存中。使用的好处:可以大大减小网络数据的传输量,提高效率;一般编程思路:在Mapper的map函数中读入所有数据,然后添加到一个List(队列)中,然后在cleanup函数中对list进行处理,输出我们关系的少量数据。实例:在map函数中使用空格分隔每行数据,然后把每个单词添加到一个堆栈中,
2014-07-16 17:03:21 4376
原创 Mahout算法调用展示平台2.1
软件版本:windows7: Tomcat7、JDK7、Spring4.0.2、Struts2.3、Hibernate4.3、myeclipse10.0、easyui;Linux(centos6.5):Hadoop2.4、Mahout1.0、JDK7;使用Web工程调用Mahout的相关算法,提供监控,查看任务的执行状态。自建Web项目,项目首页如下:1. 准备 项目可以在http://downl
2014-07-06 18:44:23 4746 3
Mahout案例实战 约会推荐
2015-03-11
FP关联规则置信度
2014-11-19
libimesti推荐系统
2014-09-30
nmon 和 nmon analyser工具
2014-09-24
easyui+spring+struts+hibernate 实例
2014-09-16
MR Unit test需要的相关jar包
2014-07-29
Mahout贝叶斯分类不含标签数据
2014-07-20
Mahout算法调用展示平台2.1-part3
2014-07-06
Mahout算法调用展示平台2.1-part2
2014-07-06
mahout0.9源码(支持hadoop2)
2014-04-09
博客推荐系统源码
2014-02-18
web平台调用hadoop集群2.0
2014-01-03
hadoop启动时间写入文件
2013-12-20
监控hadoop任务信息
2013-12-18
web 工程调用hadoop集群1.4
2013-12-02
flex datagrid doubleclick 实例
2013-11-22
flex dispatchEvent 实例工程
2013-11-19
web 工程调用hadoop集群1.3
2013-11-17
flex 调用java
2013-11-12
svd mahout算法
2013-10-31
读取HDFS序列化文件解析key、value可视化输出
2013-10-25
spark-yarn_2.10-1.6.0-cdh5.7.3.jar
2016-12-24
hotspot关联规则
2015-03-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人