hadoop源码研究 -M/R(1)

转载 2013年12月03日 10:08:59
InputFormat 

 将输入的数据集切割成小数据集 InputSplits, 每一个 InputSplit 将由一个 Mapper 负责处理。此外 InputFormat 中还提供一个 RecordReader 的实现, 将一个 InputSplit 解析成 <key,value> 对提供给 map 函数。
 默认:TextInputFormat
(针对文本文件,按行将文本文件切割成 InputSplits, 并用 LineRecordReader 将 InputSplit 解析成 <key,value> 对,key 是行在文件中的位置,value 是文件中的一行) 

 

OutputFormat 

 提供一个 RecordWriter 的实现,负责输出最终结果
  默认:TextOutputFormat
(用 LineRecordWriter 将最终结果写成纯文件文件,每个 <key,value> 对一行,key 和 value 之间用 tab 分隔) 
 SequenceFileOutputFormat
 
OutputKeyClass 

 输出的最终结果中 key 的类型
  默认: LongWritable 
  
 
OutputValueClass 

 输出的最终结果中 value 的类型
  默认: Text 
  
 
MapperClass 

 Mapper 类,实现 map 函数,完成输入的 <key,value> 到中间结果的映射
   默认:IdentityMapper
(将输入的 <key,value> 原封不动的输出为中间结果) 


 
CombinerClass 

 实现 combine 函数,将中间结果中的重复 key 做合并
  默认: null
(不对中间结果中的重复 key 做合并) 
  
 
ReducerClass 

 Reducer 类,实现 reduce 函数,对中间结果做合并,形成最终结果
  默认: IdentityReducer
(将中间结果直接输出为最终结果) 

 

InputPath 

 设定 job 的输入目录, job 运行时会处理输入目录下的所有文件
  默认: null 
  
 
OutputPath 

 设定 job 的输出目录,job 的最终结果会写入输出目录下
   默认:null 
  
 
MapOutputKeyClass 

 设定 map 函数输出的中间结果中 key 的类型
   默认:如果用户没有设定的话,使用 OutputKeyClass 
  
 
MapOutputValueClass 

 设定 map 函数输出的中间结果中 value 的类型
   默认:如果用户没有设定的话,使用 OutputValuesClass 
  
 
OutputKeyComparator 

 对结果中的 key 进行排序时的使用的比较器
  默认: WritableComparable 
  
 
PartitionerClass 

 对中间结果的 key 排序后,用此 Partition 函数将其划分为R份,每份由一个 Reducer 负责处理。
  默认: HashPartitioner
(使用 Hash 函数做 partition) 
 其他实现:KeyFieldBasedPartitioner PipesPartitioner
举报

相关文章推荐

hadoop源码研究 -M/R(1)

InputFormat   将输入的数据集切割成小数据集 InputSplits, 每一个 InputSplit 将由一个 Mapper 负责处理。此外 InputFormat 中还提供一个...

RPC框架研究(二)Hadoop源码-1

最近面试确实有点多,日程表上现在还有四个面试。多去尝试,多给自己选择的机会吧,同时也算是积累下面试经验,为校招热热身罗!

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

hadoop源码研究--output (5)

Map的结果,会通过partition分发到Reducer上,Reducer做完Reduce操作后,通过OutputFormat,进行输出,下面我们就来分析参与这个过程的类。 Mappe...

hadoop源码研究-input (3)

InputFormat,它描述了一个MapReduce Job的输入,通过InputFormat,Hadoop可以: l           检查MapReduce输入数据的正确性; l...

【Hadoop源码研究】之Configuration

Congfiguration类位于hadoop-common工程下的org.apache.hadoop.conf包下,它是Hadoop系统的配置文件类,如core-default.xml, hdfs-...

MapReduce源代码研究1

今天自己研究hadoop MapReduce 代码,x

qmh_confluence源码研究

licl 01:Confluence.qml  中包含主界面中加载各项目(music等)的操作 var rootMenuItems = [             { name...

kettle4.1源码研究

Kettle源码分析 一.获取并编译源码 1.1.           获取源码 Svn获取 svn://source.pentaho.org/svnkettleroot/Kettle/tag...

SpingAOP源码研究

在看SpingAOP源码之前先简单说一下SpingIOC的实现机制。SpingIOC的中最核心的接口是BeanFactory它更像是IOC容器的一个最基本的功能说明书,它有一个底层的实现类Defaul...

kettle4.1源码研究

一.获取并编译源码 1.1.获取源码 Svn获取 svn://source.pentaho.org/svnkettleroot/Kettle/tags 网页获取 官方网站:htt...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)