
mapreduce
yoghurt2016
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MapReduce算法形式一:WordCount
MapReduce算法形式一:WordCount这种形式可以做一些网站登陆次数,或者某个电商网站的商品销量啊诸如此类的,主要就是求和,但是求和之前还是要好好清洗数据的,以免数据缺省值太多,影响真实性。废话不多说,上代码吧,我把注释一行行的都写了~~可可可可~先封装了数据行的对象:public class Log { private String time;原创 2016-09-10 14:41:29 · 337 阅读 · 0 评论 -
案例十二:多文件输出MultipleOutputs
案例十二:多文件输出MultipleOutputs好几天没写什么了,今天写点工作当中比较常用的东西吧--MultipleOutputs多路径输出,这个用的也比较多,比如可以输出分区的数据,方便hive里建表,也可以分类数据,都比较方便了。下篇再说一下多格式输出。主要用到MultipleOutputs这个类。直接上代码。先贴一下数据原创 2016-10-06 20:33:38 · 563 阅读 · 0 评论 -
MapReduce算法形式十一:自定义排序(即重写shuffle过程的排序规则)
案例十一:自定义排序(即重写shuffle过程的排序规则)这个案例有点难理解,但学会了非常方便,shuffle的排序过程是自然排序的(数值小大,其他字符Unicode),如果不改变shuffle的排序过程只能是写新的集合再写比较器,过程难免多了很多步骤,这个自定义排序过程重写了shuffle的排序过程,可以按照各自需求来排序,倒序,正序等等都可以。原创 2016-09-11 12:26:33 · 4156 阅读 · 0 评论 -
mr运行过程中的一些参数
mr运行过程中的一些参数说明:jar包:/home/grid/hadoop-0.20.2/hadoop-0.20.2-examples.jar 安装hadoop时从源代码拷贝过来的,我们可以直接使用[grid@h1 hadoop-0.20.2]$ bin/hadoop jar hadoop-0.20.2-examples.jar wordcount in out原创 2016-10-17 11:55:32 · 828 阅读 · 0 评论 -
MapReduce算法形式四:mapjoin-reduce端的
案例四:mapjoin(对个map共同输入,一个reduce)这个方法主要解决的是,几个表之间的比较,类似于数据库的内外连接,还有一些左右连接之类的,简而言之就是,A表没有的B表有,B表有的A没有或者AB共有的,类似于这样的问题,话说呢,这就是一种思想,哒哒哒~不仅明白,因为用的也比较多。原创 2016-09-10 14:44:52 · 343 阅读 · 0 评论 -
MapReduce算法形式七:多个mapreduce任务
案例七:多个mapreduce任务以两个job为例:第一个mapreduce的输出结果作为第二个mapreduce的输入,这样在执行任务的时候两个job分别写执行流程,并且运行代码的时候应该是三个path,而不是4个,就这点注意就行了原创 2016-09-11 12:13:32 · 1176 阅读 · 0 评论 -
MapReducer工作流程小结
自己画了一个Mapreduce的工作流程,比较简易~~原创 2016-09-11 16:21:02 · 499 阅读 · 0 评论 -
napreduce调优三
MapReduce任务的优化相信每个程序员在编程时都会问自己两个问题“我如何完成这个任务”,以及“怎么能让程序运行得更快”。同样,MapReduce计算模型的多次优化也是为了更好地解答这两个问题。MapReduce计算模型的优化涉及了方方面面的内容,但是主要集中在两个方面:一是计算性能方面的优化;二是I/O操作方面的优化。这其中,又包含六个方面的内容。转载 2016-09-11 18:06:16 · 447 阅读 · 0 评论 -
mapreduce调优一
Cloudera提供给客户的服务内容之一就是调整和优化MapReduce job执行性能。MapReduce和HDFS组成一个复杂的分布式系统,并且它们运行着各式各样用户的代码,这样导致没有一个快速有效的规则来实现优化代码性能的目的。在我看来,调整cluster或job的运行更像一个医生对待病人一样,找出关键的“症状”,对于不同的症状有不同的诊断和处理方式。 在医学领域,没翻译 2016-09-11 18:01:44 · 401 阅读 · 0 评论 -
mapreduce调优二
map阶段优化参数:io.sort.mb(default 100)当map task开始运算,并产生中间数据时,其产生的中间结果并非直接就简单的写入磁盘。而是会利用到了内存buffer来进行已经产生的部分结果的缓存,并在内存buffer中进行一些预排序来优化整个map的性能。每一个map都会对应存在一个内存buffer,map会将已经产生的部分结果先写入到该转载 2016-09-11 18:04:20 · 301 阅读 · 0 评论 -
MapReduce算法形式九:组合key或组合value
案例九:组合key或组合value对于map和reduce输出的值不一定非得是单一的值,可以是组合的,可以使实例对象(记得重写toString写成需要的格式)等等吧。也比较容易理解。我很喜欢这个方法,很实用。原创 2016-09-11 12:22:52 · 1012 阅读 · 0 评论 -
MapReduce算法形式十:自定义实体类
案例十:自定义实体类自定义实体类其实就是把每行需要的信息放在一起封装了对象,并且该对象必须实现Writable接口,重写write和readFields的方法,读写的顺序和类型都必须一致才行,这样该实体类就相当于IntWritable或者LongWritable之类的数据类型一样了,可以作为map和reduce的参数进行相互传递使用,当然了按照需求重写toStrin原创 2016-09-11 12:24:17 · 585 阅读 · 0 评论 -
MapReduce算法形式八:setCombinerClass
案例八:setCombinerClasscombineClass运行在reduceClass之前,相当于一个小型的reduceClass,key值相同的value合并成集合,然后再交给reduce处理,这样可以减少map和reduce时间传输的数量,减少reduce的压力,对运行时间可能有一定的优势。原创 2016-09-11 12:21:54 · 1423 阅读 · 0 评论 -
MapReduce算法形式五:TOP—N
案例五:TOP—N这个问题比较常见,一般都用于求前几个或者后几个的问题,shuffle有一个默认的排序是正序的,但如果需要逆序的并且暂时还不知道如何重写shuffle的排序规则的时候就用以下方法就行,java中说到排序无非就是比较器,然后结合着集合,这样基本上就能解决我的需求了,但是有个问题需要注意,就是虽说集合是不定长的,但是呢,面对大数据而言,就可能会出现内存溢出的问题,所以最好不要讲原创 2016-09-10 14:45:27 · 504 阅读 · 0 评论 -
MapReduce算法形式三:cleanup
案例三:cleanup其实这个案例可以不用写这么复杂,不用cleanup也能写,但是为了,突显,突显,突显(重要的事说四遍)cleanup的重要性,琢磨了半天,恩,这样写既可以突显cleanup又显示出我对大集合的各种热爱(哪天把集合的遍历方法搞一下,光Map就有四五种),总而言之呢,写得是复杂了点,但是灰常满意~~还是忘了说了,cleanup干嘛的,说白了就是吃reduce剩下的原创 2016-09-10 14:44:18 · 1035 阅读 · 0 评论 -
MapReduce算法形式二:去重(HashSet)
案例二:去重(shuffle/HashSet等方法)shuffle主要针对的是key去重HashSet主要针对values去重原创 2016-09-10 14:43:41 · 446 阅读 · 0 评论 -
MapReduce算法形式二:去重(shuffle)
案例二:去重(shuffle/HashSet等方法)shuffle主要针对的是key去重HashSet主要针对values去重原创 2016-09-10 14:42:32 · 340 阅读 · 0 评论 -
案例十三:多格式文件输出MultipleOutputs
案例十二:多文件输出MultipleOutputs好几天没写什么了,今天写点工作当中比较常用的东西吧,多路径输出,下篇再说一下多格式输出。主要用到MultipleOutputs这个类。直接上代码。下面是结果,有两个都在/out/222,分别是FormatText和Fo原创 2016-10-06 20:03:03 · 725 阅读 · 0 评论