
源码分析
雨落
学习云计算、web开发、分布式数据库、android开发!
展开
-
Hadoop源代码分析(包mapreduce.lib.input)
转自:http://caibinbupt.iteye.com/blog/338827接下来我们按照MapReduce过程中数据流动的顺序,来分解org.apache.hadoop.mapreduce.lib.*的相关内容,并介绍对应的基类的功能。首先是input部转载 2011-09-13 11:08:31 · 529 阅读 · 0 评论 -
Hadoop自定义RecordReader
系统默认的LineRecordReader是按照每行的偏移量做为map输出时的key值,每行的内容作为map的value值,默认的分隔符是回车和换行。现在要更改map对应的输入的值,key对应的文件的路径(或者是文件名),value对应的是文件的内容(content)。那么我们需要重写InputFormat和RecordReader,因为RecordReader是在InputFormat中原创 2011-11-10 10:52:27 · 5748 阅读 · 4 评论 -
自定义hadoop map/reduce输入文件切割InputFormat 更改输入value的分隔符
本文转载自:http://hi.baidu.com/lzpsky/blog/item/99d58738b08a68e7b311c70d.html hadoop会对原始输入文件进行文件切割,然后把每个split传入mapper程序中进行处理,FileInputFormat是所有以文件作 为数据源的InputFormat实现的基类,FileInputFormat保存作为job输入原创 2011-11-09 16:25:59 · 1440 阅读 · 0 评论 -
Hadoop 源码解析之-TextOutputFormat
因为需要自定义实现输出文件的格式,现在来分析一下TextOutputFormat的源码;源码如下,注释会直接放在源码之中package org.apache.hadoop.mapreduce.lib.output;import java.io.DataOutputStream;import java.io.IOException;import java.io.Unsuppor原创 2011-11-10 16:25:52 · 1786 阅读 · 0 评论 -
Hadoop 自定义InputFormat实现自定义Split
上一篇文章中提到了如何进行RecordReader的重写,本篇文章就是来实现如何实现自定义split的大小要解决的需求:(1)一个文本中每一行都记录了一个文件的路径,(2)要求处理路径对应的文件,但是因为文件量比较大,所以想进行分布式处理(3)所以就对输入的文档进行预处理,读取前N行做为一个splits,但是没有实现,因为重写FileSplit不是太容易实现,就偷懒直接定义一个sp原创 2011-11-10 15:22:26 · 3424 阅读 · 1 评论 -
Hadoop源代码分析(IFile)
转自:http://caibinbupt.iteye.com/blog/394369 Mapper的输出,在发送到Reducer前是存放在本地文件系统的,IFile提供了对Mapper输出的管理。我们已经知道,Mapper的输出是对,IFile以记录的形式存放了这些转载 2011-09-15 18:19:07 · 432 阅读 · 0 评论 -
Hadoop源代码分析(类TaskStatus)
转自:http://caibinbupt.iteye.com/blog/346769我们先分析Task,这是一个规模比较大的类,类图如下。Task是一个虚类,它有两个子类,MapTask和ReduceTask,分别是Map任务和Reduce任务的抽象。转载 2011-09-13 14:36:16 · 375 阅读 · 0 评论 -
Hadoop源代码分析(mapreduce.lib.partition/reduce/output)
转自:http://caibinbupt.iteye.com/blog/339192Map的结果,会通过partition分发到Reducer上,Reducer做完Reduce操作后,通过OutputFormat,进行输出,下面我们就来分析参与这个过程的类。转载 2011-09-13 12:35:23 · 405 阅读 · 0 评论 -
Hadoop源代码分析(包mapreduce.lib.map)
转自:http://caibinbupt.iteye.com/blog/338831Hadoop的MapReduce框架中,Map动作通过Mapper类来抽象。一般来说,我们会实现自己特殊的Mapper,(但是也是有默认的mapper的)并注册到系统中,执行时转载 2011-09-13 12:26:19 · 515 阅读 · 0 评论 -
Hadoop源代码分析(*IDs类和*Context类)
转自:http://caibinbupt.iteye.com/blog/346766我们开始来分析Hadoop MapReduce的内部的运行机制。用户向Hadoop提交Job(作业),作业在JobTracker对象的控制下执行。Job被分解成为Task(任务),分发到集转载 2011-09-13 13:45:07 · 646 阅读 · 0 评论 -
Hadoop源代码分析(包hadoop.mapred中的MapReduce接口)
转自:http://caibinbupt.iteye.com/blog/344536前面已经完成了对org.apache.hadoop.mapreduce的分析,这个包提供了Hadoop MapReduce部分的应用API,用于用户实现自己的MapReduce应用转载 2011-09-13 13:34:49 · 871 阅读 · 0 评论 -
Hadoop 文件输入和文件输出
本文完成对hadoop输入、输出文件方式的控制,完成的功能如下:1、改写map读取数据的格式:默认的----------->变为2、改写输出的格式,输出文件时每个输入文件对应一个输出文件,输出文件的名字跟输入文件名字相同。直接上代码:coAuInputFormatpackage an.hadoop.code.audit;/** * The function of th原创 2011-11-13 17:56:16 · 2862 阅读 · 2 评论