MapReduce
文章平均质量分 58
andrewgb
这个作者很懒,什么都没留下…
展开
-
HADOOP之MAPREDUCE
摘要:MapReduce是Hadoop的又一核心模块,从MapReduce是什么,MapReduce能做什么以及MapReduce的工作机制三方面认识MapReduce。关键词:Hadoop MapReduce 分布式处理面对大数据,大数据的存储和处理,就好比一个人的左右手,显得尤为重要。Hadoop比较适合解决大数据问题,很大程度上依赖其大数据存储系统,即HDFS和大原创 2015-07-01 22:55:27 · 302 阅读 · 0 评论 -
Hadoop 之 日志管理——应用在 YARN 中运行时的日志
背景:在写这篇博文前,自己一直没有弄明白一个问题,“在 Map 函数和 Reduce 函数中使用 System.out.print 打印日志时,输出内容在哪里显示?”。试了好多回,在 log/* 目录下找了很久都没有找到,并且尝试了很多次去找,都没有成功。这让我想通过此方法调试 Map/Reduce 函数以失败告终。最后,一次偶然的机会让我发现了关于日志的玄机。通过自己的观察和阅读参考书籍,终于弄明原创 2016-02-01 23:19:34 · 12138 阅读 · 1 评论 -
hadooop 之 FileInputFormat 类
1.FileInputFormat 类介绍FileInputFormat 是所有使用文件作为数据源的 InputFormat 实现的基类提供两个功能: 1.用于支出作业的输入文件的位置; 2.输入文件生成分片的实现代码段;类结构图: 2.通过 FileInputFormat 指定输入路径2.1 指定路径FileInputFormat 提供的四种静态方法:public static v原创 2015-11-01 23:02:43 · 1189 阅读 · 0 评论 -
Hadoop 之 Shuffle 和排序---再理解
其实在我的一篇博文中,已经对Shuffle有了自己的总结,但是,回过头来再看的时候,觉得又可以再深层次的理解和记忆跟细节的东西。有必要再进行一次知识的输出—不知道在哪里看到的一句话,知识的输出是更残忍的输入。内容的理解来源于《Hadoop 权威指南(第三版)》,P226 页。一 总述MapReduce 确保每个 reducer 的输入都是按键排序的。Shuffle 这一过程可以说是系统执行排序的过程原创 2016-01-26 20:30:21 · 4323 阅读 · 0 评论 -
hadoop 之 MultipleInputs--为多个输入指定不同的InputFormat和Mapper
MultipleInputs 介绍默认情况下,MapReduce作业的输入可以包含多个输入文件,但是所有的文件都由同一个InputFormat 和 同一个Mapper 来处理,这是的多个文件应该是格式相同,内容可以使用同一个Mapper处理。但是,有可能这多个文件的数据格式不同,这是使用同一个Mapper来处理就显得不合适了。对于上述问题,MultipleInputs可以妥善处理,他允许对每条输入路原创 2015-11-01 17:36:38 · 4423 阅读 · 0 评论 -
hadoop 之 InputFormat类 --- NLineInputFormat 实例
NLineInputFormat 介绍文本由任务读取时,需要一种格式读入,KeyValueTextInputFormat 是InputFormat 类的一个具体子类,他定义的读取格式是这样的:一行是一条记录;读取后按照(key,value)对表示一条记录;跟默认的TextInputFormat一样,key是字符偏移量,value是一行的所有内容;N 表示一个Map可以处理的Record(记录原创 2015-11-01 15:45:15 · 1106 阅读 · 0 评论 -
hadoop 之 InputFormat类 --- KeyValueTextInputFormat 实例
KeyValueTextInputFormat 介绍文本由任务读取时,需要一种格式读入,KeyValueTextInputFormat 是InputFormat 类的一个具体子类,他定义的读取格式是这样的:一行是一条记录;读取后按照(key,value)对表示一条记录;一行中可能被分成多个区域(可能是制表符、逗号或者其他作为分隔符),第一个区域作为key,其他区域作为value。应用实例1.原创 2015-11-01 14:59:35 · 1197 阅读 · 0 评论 -
hadoop 之 将若干小文件打包成顺序文件
1.Why在hadoop的世界里,处理少量的大文件比处理大量的小文件更加得心应手。其中一个原因是FileInputFormat生成的分块是一个文件或该文件的一部分。如果文件很小(“小”意味着比HDFS的块要小的多),并且文件数量很多,那么每次map任务只处理很少的输入数据,(一个文件)就会有很多的map任务,每次map操作都会造成额外的开销。请比较一下把1GB的文件分割成16个64MB的块与100K原创 2015-11-01 21:24:20 · 1116 阅读 · 0 评论 -
Hadoop 之 Writable , WritableComparable 接口
1.Writable序列化时重要的接口,很多Hadoop中的数据类型都实现来这个接口,常见的有:FloatWritable ,DoubleWritable ,IntWritable ,LongWritable ,MapWritable ,Text 等Class 都实现来中个接口。在Hadoop中定义一个结构化对象都要实现Writable接口,使得该结构化对象可以序列化为字节流,字节流也可以反序列原创 2015-10-26 23:33:11 · 1605 阅读 · 0 评论 -
Hadoop 中的 Partitioner 过程
要点hadoop 中的 Partitioner 阶段针对 Map 阶段输出的数据进行分区处理。Partitioner 对 key 进行分区处理,使拥有不同的 key 的数据被分到不同的 Reduce 中处理;其处理位置是在节点本身位置上;其处理意义在于可以在 Reduce 之前进行一次分类,提高效率。可以自定义 key 的分区规则,如数据文件包含不同的省份,而输出的要求是每个省份输出一个文件;原创 2015-10-25 19:54:45 · 1181 阅读 · 0 评论 -
Hadoop 中的 Combiner 过程
要点Combiner 所做的事情: 每一个map都可能会产生大量的本地输出,Combiner的作用就是对map端的输出先做一次合并,以减少在map和reduce节点之间的数据传输量;Combiner 的意义: 在MapReduce中,当map生成的数据过大时,带宽就成了瓶颈,当在发送给 Reduce 时对数据进行一次本地合并,减少数据传输量以提高网络IO性能;Combiner 的时机:原创 2015-10-25 20:32:14 · 3429 阅读 · 0 评论 -
hadoop 之 输出格式
之前讨论[Haoop的输入格式],当然对应肯定有输出的格式,这是很重要的,因为输出的内容正是我们想要的,处理的目的就是获取这些结果。(http://blog.csdn.net/andrewgb/article/details/49563627),OutputFormat类的结构文本输出1.TextOutputFormat默认的输出格式,把每条记录写为文本行;当把TextOutputFormat作原创 2015-11-05 22:09:29 · 1513 阅读 · 0 评论 -
hadoop 之 PathFilter -- 输入文件过滤器
1.指定多个输入在单个操作中处理一批文件,这是很常见的需求。比如说处理日志的MapReduce作业可能需要分析一个月内包含在大量目录中的日志文件。在一个表达式中使用通配符在匹配多个文件时比较方便的,无需列举每个文件和目录来指定输入。hadoop为执行通配提供了两个FileSystem方法:public FileStatus[] globStatus(Path pathPattern) throw I原创 2015-11-04 00:09:02 · 1476 阅读 · 0 评论 -
Hadoop 之 WritableComparable 接口
Writable接口和WriteableComparable接口的阐述和详细举例原创 2015-07-10 21:30:09 · 656 阅读 · 0 评论 -
Hadoop 之 Combiner 与自定义 Combiner
一、Combiner的出现背景1.1 回顾Map阶段五大步凑在第四篇博文《初识MapReduce》中,我们认识了MapReduce的八大步凑,其中在Map阶段总共五个步凑,如下图所示: 其中,step1.5是一个可选步凑,它就是我们今天需要了解的 Map规约 阶段。现在,我们再来看看前一篇博文《计数器与自定义计数器》中的第一张关于计数器的图: 我们可以发现,其中有两个计数器: Combine o转载 2016-02-03 19:47:14 · 808 阅读 · 0 评论