![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mapreduce
tom_fans
这个作者很懒,什么都没留下…
展开
-
Mapreduce编程TOP N
通过treeset 取出TOP N的数据,下面的程序是有缺陷的,因为tree set本身不支持相同数据。 另外使用了cleanup方法, setup 和 cleanup在mapreduce只会跑一次, 从 input读取数据之后,map默认按照行来一行一行读取,也就是循环的,直到读完数据,所以一些初始化工作可以放到setup里去做, cleanup用来清理一些变量,既然执行一次,那我就通过在c原创 2017-07-05 17:25:17 · 486 阅读 · 0 评论 -
Mapreduce编程二 表关联
import java.awt.image.AreaAveragingScaleFilter;import java.io.IOException;import java.util.ArrayList;import java.util.StringTokenizer;import java.util.Vector;import org.apache.commons.ne原创 2017-07-05 17:26:52 · 303 阅读 · 0 评论 -
Mapreduce编程三 自定义outputformat
mapreduce默认的inputformat和outputformat分别为:FileInputFormat和FileOutputFormat, 也就是从文本读,输出到文本。但是很多时候我们的源数据并非一定是文本,输出也未必一定到文件,可能我们希望进入数据库,比如 MySQL或者HBASE。HBASE因为默认官方已经有了相关的类,在我的博客另外一篇文章里做了介绍,就是2个类,比较简单,不做具体介原创 2017-07-06 17:18:48 · 2843 阅读 · 0 评论 -
算法(1) 二级排序 Mapreduce/Spark
从现在开始记录一些算法的使用,内容主要是结合数据算法那本书,文章的结构会以:数据--需求--默认输出结果--分析如果得到要求的结果--代码实现 排版。数据:2012,01,01,52012,01,02,452012,01,03,352012,01,04,102001,11,01,462001,11,02,472001,11,03,482001,11,04,402005原创 2017-10-13 17:08:05 · 666 阅读 · 0 评论 -
算法(4)购物篮分析
所谓购物篮分析主要是挖掘出用户感兴趣的数据组合,应用于电商,大型超市。比如京东推荐,购买了此用户的产品同时购买了XX产品, 浏览了此商品的用户同时也浏览了XX商品, 对于大型超市来说道理也一样,这样就可以把产品组合打包卖给有兴趣的人。 购物篮分析为推荐做好后台数据组合的工作,推荐系统根据这些组合来做推荐。购物篮分析当然远远不止于此,更多信息可以查看相关资料。购物篮主要目标是形成对应的排原创 2017-10-27 18:32:27 · 6816 阅读 · 0 评论 -
算法(2) TopN Mapreduce/Spark
原理是每个map保留TopN数据,然后发送给reduce, reduce只设置一个,也就是说如果有10个map, 那么每个map处理好数据保留TopN列表,然后10个map就是100条数据,然后发送给reduce. 然后由reduce来过滤出10条数据。每个Mapper开始之前有setup方法,结束之后有cleanup, 通常不会使用,setup, cleanup仅仅是每个mapper原创 2017-10-19 16:52:03 · 408 阅读 · 0 评论 -
算法(3) 移动平均算法 moving average
移动平均通常处理时间序列数据, 什么是数据序列? 所谓数据序列是指数据与时间关系极其密切,比如股票数据,每个股票的价格根据秒,分,小时,天变化而变化,时间错乱,会导致数据完全无效, 再比如监控数据,还有一些工业上的设备数据。 因此现在有专门的时间序列数据库OpenTSDB.具体移动平均概念不做具体介绍了,有什么多资料可以查询。 这里只展示通过MapReduce来处理移动平均算法的代码。原创 2017-10-20 17:55:49 · 12576 阅读 · 0 评论 -
Mapreduce作业链
作业之间有依赖,比如一个作业的输入依赖一个走也的输出,那么这种情况就需要构建作业链来解决。 先看一个简单的示例: public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException { Configuration conf = new Configu原创 2017-10-30 15:55:45 · 605 阅读 · 0 评论